commit:     90d3156ebcade1197b21c37b5aaaaaf9fc9238eb
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 29 00:44:52 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Tue Mar 29 00:44:59 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90d3156e

sys-fs/e2fsprogs: fix build w/newer glibc #577946

 sys-fs/e2fsprogs/e2fsprogs-1.42.13.ebuild          |  1 +
 .../files/e2fsprogs-1.42.13-sysmacros.patch        | 74 ++++++++++++++++++++++
 2 files changed, 75 insertions(+)

diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.42.13.ebuild 
b/sys-fs/e2fsprogs/e2fsprogs-1.42.13.ebuild
index abe315f..34a4047 100644
--- a/sys-fs/e2fsprogs/e2fsprogs-1.42.13.ebuild
+++ b/sys-fs/e2fsprogs/e2fsprogs-1.42.13.ebuild
@@ -39,6 +39,7 @@ src_prepare() {
        fi
        epatch "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854
        epatch "${FILESDIR}"/${PN}-1.42.13-subst-perms.patch #550986
+       epatch "${FILESDIR}"/${PN}-1.42.13-sysmacros.patch
 
        # blargh ... trick e2fsprogs into using e2fsprogs-libs
        rm -rf doc

diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.42.13-sysmacros.patch 
b/sys-fs/e2fsprogs/files/e2fsprogs-1.42.13-sysmacros.patch
new file mode 100644
index 0000000..2e4c4e0
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.42.13-sysmacros.patch
@@ -0,0 +1,74 @@
+From 13a12900148e6b778d8532ca76ff38edcec5a45f Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <[email protected]>
+Date: Mon, 28 Mar 2016 20:31:33 -0400
+Subject: [PATCH e2fsprogs] include sys/sysmacros.h as needed
+
+The minor/major/makedev macros are not entirely standard.  glibc has had
+the definitions in sys/sysmacros.h since the start, and wants to move away
+from always defining them implicitly via sys/types.h (as this pollutes the
+namespace in violation of POSIX).  Other C libraries have already dropped
+them.  Since the configure script already checks for this header, use that
+to pull in the header in files that use these macros.
+
+Signed-off-by: Mike Frysinger <[email protected]>
+
+--- a/lib/blkid/devname.c
++++ b/lib/blkid/devname.c
+@@ -36,6 +36,9 @@
+ #if HAVE_SYS_MKDEV_H
+ #include <sys/mkdev.h>
+ #endif
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+ #include <time.h>
+ 
+ #include "blkidP.h"
+--- a/lib/blkid/devno.c
++++ b/lib/blkid/devno.c
+@@ -31,6 +31,9 @@
+ #if HAVE_SYS_MKDEV_H
+ #include <sys/mkdev.h>
+ #endif
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+ 
+ #include "blkidP.h"
+ 
+--- a/lib/ext2fs/finddev.c
++++ b/lib/ext2fs/finddev.c
+@@ -31,6 +31,9 @@
+ #if HAVE_SYS_MKDEV_H
+ #include <sys/mkdev.h>
+ #endif
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+ 
+ #include "ext2_fs.h"
+ #include "ext2fs.h"
+--- a/lib/ext2fs/ismounted.c
++++ b/lib/ext2fs/ismounted.c
+@@ -49,6 +49,9 @@
+ #endif /* HAVE_GETMNTINFO */
+ #include <string.h>
+ #include <sys/stat.h>
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+ 
+ #include "ext2_fs.h"
+ #include "ext2fs.h"
+--- a/misc/mk_hugefiles.c
++++ b/misc/mk_hugefiles.c
+@@ -35,6 +35,9 @@ extern int optind;
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+ #include <libgen.h>
+ #include <limits.h>
+ #include <blkid/blkid.h>

Reply via email to