diff options
author | Joonas Niilola <juippis@gentoo.org> | 2020-06-23 10:24:55 +0300 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2020-06-23 10:25:30 +0300 |
commit | eb824502f28aa17d4ebaa4581491b48e156edab2 (patch) | |
tree | ae1f4a561911eab19766c84ca217cfa1459c33e5 /app-emulation/lxd | |
parent | dev-python/qtconsole: Use HTTPS for HOMEPAGE (diff) | |
download | gentoo-eb824502f28aa17d4ebaa4581491b48e156edab2.tar.gz gentoo-eb824502f28aa17d4ebaa4581491b48e156edab2.tar.bz2 gentoo-eb824502f28aa17d4ebaa4581491b48e156edab2.zip |
app-emulation/lxd: fix 4.0.1 compilation with clang
Closes: https://bugs.gentoo.org/729244
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'app-emulation/lxd')
-rw-r--r-- | app-emulation/lxd/files/lxd-4.0.1-clang.patch | 76 | ||||
-rw-r--r-- | app-emulation/lxd/lxd-4.0.1.ebuild | 2 |
2 files changed, 78 insertions, 0 deletions
diff --git a/app-emulation/lxd/files/lxd-4.0.1-clang.patch b/app-emulation/lxd/files/lxd-4.0.1-clang.patch new file mode 100644 index 000000000000..765f2f38be5d --- /dev/null +++ b/app-emulation/lxd/files/lxd-4.0.1-clang.patch @@ -0,0 +1,76 @@ +From c7ce94825871ea5d0946e92762e981354628b8ad Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com> +Date: Mon, 22 Jun 2020 22:17:02 -0400 +Subject: [PATCH] lxd: Fix building with clang +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Closes #7573 + +Signed-off-by: Stéphane Graber <stgraber@ubuntu.com> +--- + lxd/main_forksyscall.go | 8 -------- + lxd/seccomp/seccomp.go | 16 ++++++++-------- + 2 files changed, 8 insertions(+), 16 deletions(-) + +diff --git a/lxd/main_forksyscall.go b/lxd/main_forksyscall.go +index a304405c2e..14895b6ce0 100644 +--- a/lxd/main_forksyscall.go ++++ b/lxd/main_forksyscall.go +@@ -34,12 +34,6 @@ extern void attach_userns_fd(int ns_fd); + extern int pidfd_nsfd(int pidfd, pid_t pid); + extern bool setnsat(int ns_fd, const char *ns); + +-static inline bool same_fsinfo(struct stat *s1, struct stat *s2, +- struct statfs *sfs1, struct statfs *sfs2) +-{ +- return ((sfs1->f_type == sfs2->f_type) && (s1->st_dev == s2->st_dev)); +-} +- + static bool chdirchroot_in_mntns(int cwd_fd, int root_fd) + { + ssize_t len; +@@ -209,8 +203,6 @@ const char *ns_names[] = { "user", "pid", "uts", "ipc", "net", "cgroup", NULL }; + + static bool change_creds(int ns_fd, cap_t caps, uid_t nsuid, gid_t nsgid, uid_t nsfsuid, gid_t nsfsgid) + { +- __do_close int fd = -EBADF; +- + if (prctl(PR_SET_KEEPCAPS, 1)) + return false; + +diff --git a/lxd/seccomp/seccomp.go b/lxd/seccomp/seccomp.go +index 8945fd9197..025efb3141 100644 +--- a/lxd/seccomp/seccomp.go ++++ b/lxd/seccomp/seccomp.go +@@ -91,21 +91,21 @@ static int device_allowed(dev_t dev, mode_t mode) + { + switch (mode & S_IFMT) { + case S_IFCHR: +- if ((dev == makedev(0, 0))) // whiteout ++ if (dev == makedev(0, 0)) // whiteout + return 0; +- else if ((dev == makedev(5, 1))) // /dev/console ++ else if (dev == makedev(5, 1)) // /dev/console + return 0; +- else if ((dev == makedev(1, 7))) // /dev/full ++ else if (dev == makedev(1, 7)) // /dev/full + return 0; +- else if ((dev == makedev(1, 3))) // /dev/null ++ else if (dev == makedev(1, 3)) // /dev/null + return 0; +- else if ((dev == makedev(1, 8))) // /dev/random ++ else if (dev == makedev(1, 8)) // /dev/random + return 0; +- else if ((dev == makedev(5, 0))) // /dev/tty ++ else if (dev == makedev(5, 0)) // /dev/tty + return 0; +- else if ((dev == makedev(1, 9))) // /dev/urandom ++ else if (dev == makedev(1, 9)) // /dev/urandom + return 0; +- else if ((dev == makedev(1, 5))) // /dev/zero ++ else if (dev == makedev(1, 5)) // /dev/zero + return 0; + } + diff --git a/app-emulation/lxd/lxd-4.0.1.ebuild b/app-emulation/lxd/lxd-4.0.1.ebuild index 33decc443dd3..578a64630a10 100644 --- a/app-emulation/lxd/lxd-4.0.1.ebuild +++ b/app-emulation/lxd/lxd-4.0.1.ebuild @@ -67,6 +67,8 @@ QA_PREBUILT="/usr/lib/lxd/libdqlite.so.0.0.1 EGO_PN="github.com/lxc/lxd" GOPATH="${S}/_dist" # this seems to reset every now and then, though +PATCHES=( "${FILESDIR}"/lxd-4.0.1-clang.patch ) + common_op() { local i for i in dqlite raft; do |