Skip to content

Commit

Permalink
app-emulation/lxc: fix build failure against glibc-2.24, bug #604360
Browse files Browse the repository at this point in the history
Reported-by: Toralf Förster
Bug: https://bugs.gentoo.org/604360

Package-Manager: Portage-2.3.3, Repoman-2.3.1
  • Loading branch information
Sergei Trofimovich committed Jan 21, 2017
1 parent a28ea08 commit fba974e
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 1 deletion.
74 changes: 74 additions & 0 deletions app-emulation/lxc/files/lxc-2.0.6-major.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
Adapt to future removal of major()/minor()/makedev() from <sys/types.h>

Gentoo removed it in glibc-2.24.

https://bugs.gentoo.org/575232
https://bugs.gentoo.org/604360
diff --git a/configure.ac b/configure.ac
index 4640c0d..71e6450 100644
--- a/configure.ac
+++ b/configure.ac
@@ -620,4 +620,7 @@ AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])
AC_CHECK_HEADERS([sys/signalfd.h pty.h ifaddrs.h sys/capability.h sys/personality.h utmpx.h sys/timerfd.h])

+# lookup major()/minor()/makedev()
+AC_HEADER_MAJOR
+
# Check for some syscalls functions
AC_CHECK_FUNCS([setns pivot_root sethostname unshare rand_r confstr faccessat])
diff --git a/src/lxc/bdev/lxclvm.c b/src/lxc/bdev/lxclvm.c
index 3d41b10..419d1c2 100644
--- a/src/lxc/bdev/lxclvm.c
+++ b/src/lxc/bdev/lxclvm.c
@@ -33,8 +33,17 @@

#include "bdev.h"
+#include "config.h"
#include "log.h"
#include "lxclvm.h"
#include "utils.h"

+/* major()/minor() */
+#ifdef MAJOR_IN_MKDEV
+# include <sys/mkdev.h>
+#endif
+#ifdef MAJOR_IN_SYSMACROS
+# include <sys/sysmacros.h>
+#endif
+
lxc_log_define(lxclvm, lxc);

diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index c54ee41..9a00e7f 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -40,4 +40,12 @@
#include <time.h>

+/* makedev() */
+#ifdef MAJOR_IN_MKDEV
+# include <sys/mkdev.h>
+#endif
+#ifdef MAJOR_IN_SYSMACROS
+# include <sys/sysmacros.h>
+#endif
+
#ifdef HAVE_STATVFS
#include <sys/statvfs.h>
diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c
index 3a9e1e3..fe75fcc 100644
--- a/src/lxc/lxccontainer.c
+++ b/src/lxc/lxccontainer.c
@@ -62,4 +62,12 @@
#include "version.h"

+/* major()/minor() */
+#ifdef MAJOR_IN_MKDEV
+# include <sys/mkdev.h>
+#endif
+#ifdef MAJOR_IN_SYSMACROS
+# include <sys/sysmacros.h>
+#endif
+
#if HAVE_IFADDRS_H
#include <ifaddrs.h>
3 changes: 2 additions & 1 deletion app-emulation/lxc/lxc-2.0.6-r1.ebuild
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

Expand Down Expand Up @@ -108,6 +108,7 @@ src_prepare() {
eapply "${FILESDIR}"/${P}-bash-completion.patch
#558854
eapply "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch
eapply "${FILESDIR}"/${PN}-2.0.6-major.patch
eapply_user
eautoreconf
}
Expand Down

0 comments on commit fba974e

Please sign in to comment.