diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-fs/udev/files |
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-fs/udev/files')
-rw-r--r-- | sys-fs/udev/files/232-0002-build-sys-add-check-for-gperf-lookup-function-signat.patch | 302 | ||||
-rw-r--r-- | sys-fs/udev/files/233-format-warnings.patch | 84 | ||||
-rw-r--r-- | sys-fs/udev/files/234-uucp-group.patch | 11 | ||||
-rw-r--r-- | sys-fs/udev/files/systemd-232-pkgconfig.patch | 50 | ||||
-rw-r--r-- | sys-fs/udev/files/udev-229-sysmacros.patch | 82 |
5 files changed, 529 insertions, 0 deletions
diff --git a/sys-fs/udev/files/232-0002-build-sys-add-check-for-gperf-lookup-function-signat.patch b/sys-fs/udev/files/232-0002-build-sys-add-check-for-gperf-lookup-function-signat.patch new file mode 100644 index 000000000000..440ec75bd3bb --- /dev/null +++ b/sys-fs/udev/files/232-0002-build-sys-add-check-for-gperf-lookup-function-signat.patch @@ -0,0 +1,302 @@ +From 016fb3b83b861cfe58694996076a9764dcb46475 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppymaster@gmail.com> +Date: Tue, 10 Jan 2017 02:39:05 -0500 +Subject: [PATCH 2/2] build-sys: add check for gperf lookup function signature + (#5055) + +gperf-3.1 generates lookup functions that take a size_t length +parameter instead of unsigned int. Test for this at configure time. + +Fixes: https://github.com/systemd/systemd/issues/5039 +--- + configure.ac | 22 ++++++++++++++++++++++ + src/basic/af-list.c | 2 +- + src/basic/arphrd-list.c | 2 +- + src/basic/cap-list.c | 2 +- + src/basic/errno-list.c | 2 +- + src/core/load-fragment.h | 2 +- + src/journal/journald-server.h | 2 +- + src/login/logind.h | 2 +- + src/network/networkd-conf.h | 2 +- + src/network/networkd-netdev.h | 2 +- + src/network/networkd-network.h | 2 +- + src/nspawn/nspawn-settings.h | 2 +- + src/resolve/dns-type.c | 2 +- + src/resolve/resolved-conf.h | 2 +- + src/test/test-af-list.c | 2 +- + src/test/test-arphrd-list.c | 2 +- + src/timesync/timesyncd-conf.h | 2 +- + src/udev/net/link-config.h | 2 +- + src/udev/udev-builtin-keyboard.c | 2 +- + 19 files changed, 40 insertions(+), 18 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1928e65bd..5c639e32d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -258,6 +258,28 @@ AC_CHECK_SIZEOF(rlim_t,,[ + #include <sys/resource.h> + ]) + ++GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)" ++ ++AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM([ ++ #include <string.h> ++ const char * in_word_set(const char *, size_t); ++ $GPERF_TEST] ++ )], ++ [GPERF_LEN_TYPE=size_t], ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM([ ++ #include <string.h> ++ const char * in_word_set(const char *, unsigned); ++ $GPERF_TEST] ++ )], ++ [GPERF_LEN_TYPE=unsigned], ++ [AC_MSG_ERROR([** unable to determine gperf len type])] ++ )] ++) ++ ++AC_DEFINE_UNQUOTED([GPERF_LEN_TYPE], [$GPERF_LEN_TYPE], [gperf len type]) ++ + # ------------------------------------------------------------------------------ + # we use python to build the man page index + have_python=no +diff --git a/src/basic/af-list.c b/src/basic/af-list.c +index 3fac9c508..4b291d177 100644 +--- a/src/basic/af-list.c ++++ b/src/basic/af-list.c +@@ -23,7 +23,7 @@ + #include "af-list.h" + #include "macro.h" + +-static const struct af_name* lookup_af(register const char *str, register unsigned int len); ++static const struct af_name* lookup_af(register const char *str, register GPERF_LEN_TYPE len); + + #include "af-from-name.h" + #include "af-to-name.h" +diff --git a/src/basic/arphrd-list.c b/src/basic/arphrd-list.c +index 6792d1ee3..2d598dc66 100644 +--- a/src/basic/arphrd-list.c ++++ b/src/basic/arphrd-list.c +@@ -23,7 +23,7 @@ + #include "arphrd-list.h" + #include "macro.h" + +-static const struct arphrd_name* lookup_arphrd(register const char *str, register unsigned int len); ++static const struct arphrd_name* lookup_arphrd(register const char *str, register GPERF_LEN_TYPE len); + + #include "arphrd-from-name.h" + #include "arphrd-to-name.h" +diff --git a/src/basic/cap-list.c b/src/basic/cap-list.c +index 3e773a06f..d68cc78d0 100644 +--- a/src/basic/cap-list.c ++++ b/src/basic/cap-list.c +@@ -26,7 +26,7 @@ + #include "parse-util.h" + #include "util.h" + +-static const struct capability_name* lookup_capability(register const char *str, register unsigned int len); ++static const struct capability_name* lookup_capability(register const char *str, register GPERF_LEN_TYPE len); + + #include "cap-from-name.h" + #include "cap-to-name.h" +diff --git a/src/basic/errno-list.c b/src/basic/errno-list.c +index 31b66bad5..c6a01eec8 100644 +--- a/src/basic/errno-list.c ++++ b/src/basic/errno-list.c +@@ -23,7 +23,7 @@ + #include "macro.h" + + static const struct errno_name* lookup_errno(register const char *str, +- register unsigned int len); ++ register GPERF_LEN_TYPE len); + + #include "errno-from-name.h" + #include "errno-to-name.h" +diff --git a/src/core/load-fragment.h b/src/core/load-fragment.h +index c05f205c3..ede6b1f73 100644 +--- a/src/core/load-fragment.h ++++ b/src/core/load-fragment.h +@@ -118,7 +118,7 @@ int config_parse_user_group(const char *unit, const char *filename, unsigned lin + int config_parse_user_group_strv(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + + /* gperf prototypes */ +-const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, unsigned length); ++const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, GPERF_LEN_TYPE length); + extern const char load_fragment_gperf_nulstr[]; + + typedef enum Disabled { +diff --git a/src/journal/journald-server.h b/src/journal/journald-server.h +index 99d91496b..d1520c45d 100644 +--- a/src/journal/journald-server.h ++++ b/src/journal/journald-server.h +@@ -179,7 +179,7 @@ void server_dispatch_message(Server *s, struct iovec *iovec, unsigned n, unsigne + void server_driver_message(Server *s, sd_id128_t message_id, const char *format, ...) _printf_(3,0) _sentinel_; + + /* gperf lookup function */ +-const struct ConfigPerfItem* journald_gperf_lookup(const char *key, unsigned length); ++const struct ConfigPerfItem* journald_gperf_lookup(const char *key, GPERF_LEN_TYPE length); + + int config_parse_storage(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + +diff --git a/src/login/logind.h b/src/login/logind.h +index 086fa1eeb..7556ee2e4 100644 +--- a/src/login/logind.h ++++ b/src/login/logind.h +@@ -182,7 +182,7 @@ int manager_unit_is_active(Manager *manager, const char *unit); + int manager_job_is_active(Manager *manager, const char *path); + + /* gperf lookup function */ +-const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned length); ++const struct ConfigPerfItem* logind_gperf_lookup(const char *key, GPERF_LEN_TYPE length); + + int manager_set_lid_switch_ignore(Manager *m, usec_t until); + +diff --git a/src/network/networkd-conf.h b/src/network/networkd-conf.h +index c7bfb42a7..00ddb7672 100644 +--- a/src/network/networkd-conf.h ++++ b/src/network/networkd-conf.h +@@ -23,7 +23,7 @@ + + int manager_parse_config_file(Manager *m); + +-const struct ConfigPerfItem* networkd_gperf_lookup(const char *key, unsigned length); ++const struct ConfigPerfItem* networkd_gperf_lookup(const char *key, GPERF_LEN_TYPE length); + + int config_parse_duid_type( + const char *unit, +diff --git a/src/network/networkd-netdev.h b/src/network/networkd-netdev.h +index 70ff947b9..37c743121 100644 +--- a/src/network/networkd-netdev.h ++++ b/src/network/networkd-netdev.h +@@ -175,7 +175,7 @@ NetDevKind netdev_kind_from_string(const char *d) _pure_; + int config_parse_netdev_kind(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + + /* gperf */ +-const struct ConfigPerfItem* network_netdev_gperf_lookup(const char *key, unsigned length); ++const struct ConfigPerfItem* network_netdev_gperf_lookup(const char *key, GPERF_LEN_TYPE length); + + /* Macros which append INTERFACE= to the message */ + +diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h +index 42fc82d39..09c3b3a3a 100644 +--- a/src/network/networkd-network.h ++++ b/src/network/networkd-network.h +@@ -236,7 +236,7 @@ int config_parse_dhcp_route_table(const char *unit, const char *filename, unsign + /* Legacy IPv4LL support */ + int config_parse_ipv4ll(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + +-const struct ConfigPerfItem* network_network_gperf_lookup(const char *key, unsigned length); ++const struct ConfigPerfItem* network_network_gperf_lookup(const char *key, GPERF_LEN_TYPE length); + + extern const sd_bus_vtable network_vtable[]; + +diff --git a/src/nspawn/nspawn-settings.h b/src/nspawn/nspawn-settings.h +index 231e6d726..4ae34f8e2 100644 +--- a/src/nspawn/nspawn-settings.h ++++ b/src/nspawn/nspawn-settings.h +@@ -103,7 +103,7 @@ bool settings_private_network(Settings *s); + + DEFINE_TRIVIAL_CLEANUP_FUNC(Settings*, settings_free); + +-const struct ConfigPerfItem* nspawn_gperf_lookup(const char *key, unsigned length); ++const struct ConfigPerfItem* nspawn_gperf_lookup(const char *key, GPERF_LEN_TYPE length); + + int config_parse_capability(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + int config_parse_id128(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); +diff --git a/src/resolve/dns-type.c b/src/resolve/dns-type.c +index aaf5ed62c..d89ae28dc 100644 +--- a/src/resolve/dns-type.c ++++ b/src/resolve/dns-type.c +@@ -29,7 +29,7 @@ typedef const struct { + } dns_type; + + static const struct dns_type_name * +-lookup_dns_type (register const char *str, register unsigned int len); ++lookup_dns_type (register const char *str, register GPERF_LEN_TYPE len); + + #include "dns_type-from-name.h" + #include "dns_type-to-name.h" +diff --git a/src/resolve/resolved-conf.h b/src/resolve/resolved-conf.h +index fc425a36b..8184d6cad 100644 +--- a/src/resolve/resolved-conf.h ++++ b/src/resolve/resolved-conf.h +@@ -41,7 +41,7 @@ int manager_parse_search_domains_and_warn(Manager *m, const char *string); + int manager_add_dns_server_by_string(Manager *m, DnsServerType type, const char *word); + int manager_parse_dns_server_string_and_warn(Manager *m, DnsServerType type, const char *string); + +-const struct ConfigPerfItem* resolved_gperf_lookup(const char *key, unsigned length); ++const struct ConfigPerfItem* resolved_gperf_lookup(const char *key, GPERF_LEN_TYPE length); + + int config_parse_dns_servers(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + int config_parse_search_domains(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); +diff --git a/src/test/test-af-list.c b/src/test/test-af-list.c +index aeaa0929b..e2479133d 100644 +--- a/src/test/test-af-list.c ++++ b/src/test/test-af-list.c +@@ -24,7 +24,7 @@ + #include "string-util.h" + #include "util.h" + +-static const struct af_name* lookup_af(register const char *str, register unsigned int len); ++static const struct af_name* lookup_af(register const char *str, register GPERF_LEN_TYPE len); + + #include "af-from-name.h" + #include "af-list.h" +diff --git a/src/test/test-arphrd-list.c b/src/test/test-arphrd-list.c +index f3989ad20..8f4f342fa 100644 +--- a/src/test/test-arphrd-list.c ++++ b/src/test/test-arphrd-list.c +@@ -24,7 +24,7 @@ + #include "string-util.h" + #include "util.h" + +-static const struct arphrd_name* lookup_arphrd(register const char *str, register unsigned int len); ++static const struct arphrd_name* lookup_arphrd(register const char *str, register GPERF_LEN_TYPE len); + + #include "arphrd-from-name.h" + #include "arphrd-list.h" +diff --git a/src/timesync/timesyncd-conf.h b/src/timesync/timesyncd-conf.h +index cba0724b1..0280697e9 100644 +--- a/src/timesync/timesyncd-conf.h ++++ b/src/timesync/timesyncd-conf.h +@@ -22,7 +22,7 @@ + #include "conf-parser.h" + #include "timesyncd-manager.h" + +-const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, unsigned length); ++const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, GPERF_LEN_TYPE length); + + int manager_parse_server_string(Manager *m, ServerType type, const char *string); + +diff --git a/src/udev/net/link-config.h b/src/udev/net/link-config.h +index 91cc0357c..b0d8ceb76 100644 +--- a/src/udev/net/link-config.h ++++ b/src/udev/net/link-config.h +@@ -93,7 +93,7 @@ const char *mac_policy_to_string(MACPolicy p) _const_; + MACPolicy mac_policy_from_string(const char *p) _pure_; + + /* gperf lookup function */ +-const struct ConfigPerfItem* link_config_gperf_lookup(const char *key, unsigned length); ++const struct ConfigPerfItem* link_config_gperf_lookup(const char *key, GPERF_LEN_TYPE length); + + int config_parse_mac_policy(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + int config_parse_name_policy(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); +diff --git a/src/udev/udev-builtin-keyboard.c b/src/udev/udev-builtin-keyboard.c +index aa10beafb..09024116f 100644 +--- a/src/udev/udev-builtin-keyboard.c ++++ b/src/udev/udev-builtin-keyboard.c +@@ -29,7 +29,7 @@ + #include "string-util.h" + #include "udev.h" + +-static const struct key *keyboard_lookup_key(const char *str, unsigned len); ++static const struct key *keyboard_lookup_key(const char *str, GPERF_LEN_TYPE len); + #include "keyboard-keys-from-name.h" + + static int install_force_release(struct udev_device *dev, const unsigned *release, unsigned release_count) { +-- +2.11.0 + diff --git a/sys-fs/udev/files/233-format-warnings.patch b/sys-fs/udev/files/233-format-warnings.patch new file mode 100644 index 000000000000..7bb08f0a3201 --- /dev/null +++ b/sys-fs/udev/files/233-format-warnings.patch @@ -0,0 +1,84 @@ +From 3e7d14d78c4d15ec7789299216cbf5c58e61547b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> +Date: Sat, 3 Jun 2017 05:41:17 -0400 +Subject: [PATCH] sd-bus: silence format warnings in kdbus code (#6072) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The code is mostly correct, but gcc is trying to outsmart us, and emits a +warning for a "llu vs lu" mismatch, even though they are the same size (on alpha): + +src/libsystemd/sd-bus/bus-control.c: In function ‘kernel_get_list’: +src/libsystemd/sd-bus/bus-control.c:267:42: error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘__u64 {aka long unsigned int}’ [-Werror=format=] + if (asprintf(&n, ":1.%llu", name->id) < 0) { + ^ +src/libsystemd/sd-bus/bus-control.c: In function ‘bus_get_name_creds_kdbus’: +src/libsystemd/sd-bus/bus-control.c:714:47: error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘__u64 {aka long unsigned int}’ [-Werror=format=] + if (asprintf(&c->unique_name, ":1.%llu", conn_info->id) < 0) { + ^ +This is hard to work around properly, because kdbus.h uses __u64 which is +defined-differently-despite-being-the-same-size then uint64_t. Thus the simple +solution of using %PRIu64 fails on amd64: + +src/libsystemd/sd-bus/bus-control.c:714:47: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘__u64 {aka long long unsigned int}’ [-Werror=format=] + if (asprintf(&c->unique_name, ":1.%"PRIu64, conn_info->id) < 0) { + ^~~~~~ + +Let's just avoid the whole issue for now by silencing the warning. +After the next release, we should just get rid of the kdbus code. + +Fixes #5561. +--- + src/libsystemd/sd-bus/bus-control.c | 6 ++++++ + src/libsystemd/sd-bus/bus-kernel.c | 2 ++ + 2 files changed, 8 insertions(+) + +diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c +index 9e58ffbd8..303ae0f23 100644 +--- a/src/libsystemd/sd-bus/bus-control.c ++++ b/src/libsystemd/sd-bus/bus-control.c +@@ -264,10 +264,13 @@ static int kernel_get_list(sd_bus *bus, uint64_t flags, char ***x) { + if ((flags & KDBUS_LIST_UNIQUE) && name->id != previous_id && !(name->flags & KDBUS_HELLO_ACTIVATOR)) { + char *n; + ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wformat" + if (asprintf(&n, ":1.%llu", name->id) < 0) { + r = -ENOMEM; + goto fail; + } ++#pragma GCC diagnostic pop + + r = strv_consume(x, n); + if (r < 0) +@@ -711,10 +714,13 @@ int bus_get_name_creds_kdbus( + } + + if (mask & SD_BUS_CREDS_UNIQUE_NAME) { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wformat" + if (asprintf(&c->unique_name, ":1.%llu", conn_info->id) < 0) { + r = -ENOMEM; + goto fail; + } ++#pragma GCC diagnostic pop + + c->mask |= SD_BUS_CREDS_UNIQUE_NAME; + } +diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c +index c82caeb3f..ca6aee7c0 100644 +--- a/src/libsystemd/sd-bus/bus-kernel.c ++++ b/src/libsystemd/sd-bus/bus-kernel.c +@@ -51,6 +51,8 @@ + #include "user-util.h" + #include "util.h" + ++#pragma GCC diagnostic ignored "-Wformat" ++ + #define UNIQUE_NAME_MAX (3+DECIMAL_STR_MAX(uint64_t)) + + int bus_kernel_parse_unique_name(const char *s, uint64_t *id) { +-- +2.13.2 + diff --git a/sys-fs/udev/files/234-uucp-group.patch b/sys-fs/udev/files/234-uucp-group.patch new file mode 100644 index 000000000000..89cf552c8295 --- /dev/null +++ b/sys-fs/udev/files/234-uucp-group.patch @@ -0,0 +1,11 @@ +--- a/rules/50-udev-default.rules.in ++++ b/rules/50-udev-default.rules.in +@@ -22,7 +22,7 @@ + SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620" + SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620" + SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty" +-KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout" ++KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="uucp" + + SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640" + diff --git a/sys-fs/udev/files/systemd-232-pkgconfig.patch b/sys-fs/udev/files/systemd-232-pkgconfig.patch new file mode 100644 index 000000000000..50f7921b565d --- /dev/null +++ b/sys-fs/udev/files/systemd-232-pkgconfig.patch @@ -0,0 +1,50 @@ +From a36dad95c447a5cf65f9e3b66c86e906e7f05890 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Sat, 5 Nov 2016 09:17:34 -0400 +Subject: [PATCH] Adjust pkgconfig files to point at rootlibdir + +The .so symlinks got moved to rootlibdir in 082210c7. +--- + Makefile.am | 1 + + src/libsystemd/libsystemd.pc.in | 2 +- + src/libudev/libudev.pc.in | 2 +- + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index f2d8bf5..73144b1 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -6054,6 +6054,7 @@ EXTRA_DIST += \ + + # ------------------------------------------------------------------------------ + substitutions = \ ++ '|rootlibdir=$(rootlibdir)|' \ + '|rootlibexecdir=$(rootlibexecdir)|' \ + '|rootbindir=$(rootbindir)|' \ + '|bindir=$(bindir)|' \ +diff --git a/src/libsystemd/libsystemd.pc.in b/src/libsystemd/libsystemd.pc.in +index e8f7950..7e6d499 100644 +--- a/src/libsystemd/libsystemd.pc.in ++++ b/src/libsystemd/libsystemd.pc.in +@@ -7,7 +7,7 @@ + + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ ++libdir=@rootlibdir@ + includedir=@includedir@ + + Name: systemd +diff --git a/src/libudev/libudev.pc.in b/src/libudev/libudev.pc.in +index a0f3f52..770c922 100644 +--- a/src/libudev/libudev.pc.in ++++ b/src/libudev/libudev.pc.in +@@ -7,7 +7,7 @@ + + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ ++libdir=@rootlibdir@ + includedir=@includedir@ + + Name: libudev diff --git a/sys-fs/udev/files/udev-229-sysmacros.patch b/sys-fs/udev/files/udev-229-sysmacros.patch new file mode 100644 index 000000000000..d72eb5907da7 --- /dev/null +++ b/sys-fs/udev/files/udev-229-sysmacros.patch @@ -0,0 +1,82 @@ +https://bugs.gentoo.org/580200 +https://github.com/systemd/systemd/commit/27d13af71c3af6b2f9b60556d2c046dbb6e36e23 + +From 27d13af71c3af6b2f9b60556d2c046dbb6e36e23 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Mon, 14 Mar 2016 17:44:49 -0400 +Subject: [PATCH] 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. +--- + src/basic/macro.h | 1 + + src/basic/util.h | 1 + + src/libudev/libudev.h | 1 + + src/systemd/sd-device.h | 1 + + src/udev/udev.h | 1 + + 5 files changed, 5 insertions(+) + +diff --git a/src/basic/macro.h b/src/basic/macro.h +index c34441d..b36a956 100644 +--- a/src/basic/macro.h ++++ b/src/basic/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/basic/util.h b/src/basic/util.h +index e095254..286db05 100644 +--- a/src/basic/util.h ++++ b/src/basic/util.h +@@ -36,6 +36,7 @@ + #include <sys/socket.h> + #include <sys/stat.h> + #include <sys/statfs.h> ++#include <sys/sysmacros.h> + #include <sys/types.h> + #include <time.h> + #include <unistd.h> +diff --git a/src/libudev/libudev.h b/src/libudev/libudev.h +index eb58740..3f6d0ed 100644 +--- a/src/libudev/libudev.h ++++ b/src/libudev/libudev.h +@@ -21,6 +21,7 @@ + #define _LIBUDEV_H_ + + #include <stdarg.h> ++#include <sys/sysmacros.h> + #include <sys/types.h> + + #ifdef __cplusplus +diff --git a/src/systemd/sd-device.h b/src/systemd/sd-device.h +index 5bfca6e..c1d0756 100644 +--- a/src/systemd/sd-device.h ++++ b/src/systemd/sd-device.h +@@ -22,6 +22,7 @@ + ***/ + + #include <inttypes.h> ++#include <sys/sysmacros.h> + #include <sys/types.h> + + #include "_sd-common.h" +diff --git a/src/udev/udev.h b/src/udev/udev.h +index 5659051..8433e8d 100644 +--- a/src/udev/udev.h ++++ b/src/udev/udev.h +@@ -19,6 +19,7 @@ + */ + + #include <sys/param.h> ++#include <sys/sysmacros.h> + #include <sys/types.h> + + #include "libudev.h" +-- +2.7.4 + |