sys-auth/elogind: Fix DEPENDs, add missing sysmacros.h includes
authorAndreas Sturmlechner <asturm@gentoo.org>
Sun, 15 Jan 2017 12:09:03 +0000 (13:09 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sun, 15 Jan 2017 12:17:32 +0000 (13:17 +0100)
Gentoo-bug: 605744, 605746

Backported systemd patch to fix build with glibc-2.24.
Moved policykit to PDEPEND to avoid circular dependency.

Package-Manager: portage-2.3.0

sys-auth/elogind/elogind-219.12-r4.ebuild
sys-auth/elogind/files/elogind-219.12-glibc.patch [new file with mode: 0644]

index 6911b9093940a203f5bd8426b05fccfa22b458dc..177bcb5af77053fdbbd0fba3729e321662d73fad 100644 (file)
@@ -16,8 +16,8 @@ KEYWORDS="~amd64 ~arm ~x86"
 IUSE="acl apparmor pam policykit +seccomp selinux"
 
 COMMON_DEPEND="
-       sys-libs/libcap
        sys-apps/util-linux
+       sys-libs/libcap
        virtual/libudev:=
        acl? ( sys-apps/acl )
        apparmor? ( sys-libs/libapparmor )
@@ -27,15 +27,18 @@ COMMON_DEPEND="
 "
 RDEPEND="${COMMON_DEPEND}
        sys-apps/dbus
-       policykit? ( sys-auth/polkit )
        !sys-auth/systemd
 "
 DEPEND="${COMMON_DEPEND}
+       app-text/docbook-xml-dtd:4.2
+       app-text/docbook-xml-dtd:4.5
+       app-text/docbook-xsl-stylesheets
        dev-util/gperf
        dev-util/intltool
        sys-devel/libtool
        virtual/pkgconfig
 "
+PDEPEND="policykit? ( sys-auth/polkit )"
 
 PATCHES=(
        "${FILESDIR}/${PN}-docs.patch"
@@ -43,6 +46,7 @@ PATCHES=(
        "${FILESDIR}/${P}-session.patch"
        "${FILESDIR}/${P}-login1-perms.patch"
        "${FILESDIR}/${P}-gperf.patch"
+       "${FILESDIR}/${P}-glibc.patch" # bug 605744
 )
 
 pkg_setup() {
diff --git a/sys-auth/elogind/files/elogind-219.12-glibc.patch b/sys-auth/elogind/files/elogind-219.12-glibc.patch
new file mode 100644 (file)
index 0000000..05477c3
--- /dev/null
@@ -0,0 +1,44 @@
+commit 27d13af71c3af6b2f9b60556d2c046dbb6e36e23
+Author: Mike Frysinger <vapier@gentoo.org>
+Date:   Mon Mar 14 17:44:49 2016 -0400
+
+    include sys/sysmacros.h in more places
+    
+    Since glibc is moving away from implicitly including sys/sysmacros.h
+    all the time via sys/types.h, include the header directly in more
+    places.  This seems to cover most makedev/major/minor usage.
+
+diff --git a/src/shared/macro.h b/src/shared/macro.h
+index c34441d..b36a956 100644
+--- a/src/shared/macro.h
++++ b/src/shared/macro.h
+@@ -23,6 +23,7 @@
+ #include <inttypes.h>
+ #include <stdbool.h>
+ #include <sys/param.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #define _printf_(a,b) __attribute__ ((format (printf, a, b)))
+diff --git a/src/shared/util.h b/src/shared/util.h
+--- a/src/shared/util.h
++++ b/src/shared/util.h
+@@ -36,6 +36,7 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+ #include <dirent.h>
+ #include <stddef.h>
+ #include <unistd.h>
+diff --git a/src/systemd/sd-device.h b/src/systemd/sd-device.h
+--- a/src/systemd/sd-device.h
++++ b/src/systemd/sd-device.h
+@@ -22,6 +22,7 @@
+ ***/
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <stdint.h>
+ #include "_sd-common.h"