@@ -1122,6 +1122,7 @@ dist_patch_DATA = \
%D%/packages/patches/esmini-use-pkgconfig.patch \
%D%/packages/patches/esmtp-add-lesmtp.patch \
%D%/packages/patches/eudev-rules-directory.patch \
+ %D%/packages/patches/eudev-bump-to-251.patch \
%D%/packages/patches/evdi-fix-build-with-linux-6.2.patch \
%D%/packages/patches/exercism-disable-self-update.patch \
%D%/packages/patches/extempore-unbundle-external-dependencies.patch \
@@ -4225,16 +4225,17 @@ (define-public eudev
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
- (version "3.2.11")
+ (version "3.2.14.beta")
(source (origin
(method git-fetch)
(uri (git-reference (url "https://github.com/gentoo/eudev")
- (commit (string-append "v" version))))
+ (commit "v3.2.12")))
(file-name (git-file-name name version))
(sha256
(base32
- "0dzaqwjnl55f69ird57wb6skahc6l7zs1slsrzqqfhww33icp6av"))
- (patches (search-patches "eudev-rules-directory.patch"))))
+ "0wpckjxzsb4wkj3pwnw14zmp3z8ivf03hjbgs838q5gfridpxnf7"))
+ (patches (search-patches "eudev-rules-directory.patch"
+ "eudev-bump-to-251.patch"))))
(build-system gnu-build-system)
(arguments
(list
@@ -4257,7 +4258,14 @@ (define-public eudev
(substitute* (string-append #$output "/lib/libudev.la")
(("old_library=.*")
"old_library=''\n")))))
- (add-after 'install 'build-hwdb
+ (add-after 'install 'allow-eudev-hwdb
+ (lambda _
+ ;; eudev distributes the hwdb, but each file has to be enabled
+ ;; by being copied under /lib/udev/hwdb.d. We accept all of
+ ;; them.
+ (symlink (string-append #$output "/etc/udev/hwdb.d")
+ (string-append #$output "/lib/udev/hwdb.d"))))
+ (add-after 'allow-eudev-hwdb 'build-hwdb
(lambda _
;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
;; similar tools to display product names.
@@ -4267,7 +4275,9 @@ (define-public eudev
#$@(if (%current-target-system)
#~(#t)
#~((invoke (string-append #$output "/bin/udevadm")
- "hwdb" "--update"))))))
+ "hwdb" "--update" "--usr")
+ (symlink (string-append #$output "/lib/udev/hwdb.bin")
+ (string-append #$output "/etc/udev/hwdb.bin")))))))
#:configure-flags #~(list "--enable-manpages")))
(native-inputs
(list autoconf
new file mode 100644
@@ -0,0 +1,134 @@
+From 4d29151078c351569767dfef490a29e379afd430 Mon Sep 17 00:00:00 2001
+Message-ID: <4d29151078c351569767dfef490a29e379afd430.1695104483.git.vivien@planete-kraus.eu>
+In-Reply-To: <cover.1695104483.git.vivien@planete-kraus.eu>
+References: <cover.1695104483.git.vivien@planete-kraus.eu>
+From: Boian Bonev <bbonev@ipacct.com>
+Date: Tue, 30 May 2023 16:16:33 +0000
+Subject: [PATCH 1/1] Update as per IRC discussion
+
+Bump udev version to 251
+
+Export dummies for
+
+ - udev_device_has_current_tag
+ - udev_device_get_current_tags_list_entry
+
+since the current eudev device database does not support the concept of
+current tags
+
+bump version to 3.2.14
+---
+ README.md | 18 ++++++++++++------
+ configure.ac | 4 ++--
+ src/libudev/libudev-device.c | 11 +++++++++++
+ src/libudev/libudev.h | 2 ++
+ src/libudev/libudev.sym | 6 ++++++
+ 5 files changed, 33 insertions(+), 8 deletions(-)
+
+diff --git a/README.md b/README.md
+index 848ef3348..6016380ba 100644
+--- a/README.md
++++ b/README.md
+@@ -1,11 +1,17 @@
+-This git repo is a fork of git://anongit.freedesktop.org/systemd/systemd
+-with the aim of isolating udev from any particular flavor of system
+-initialization. In this case, the isolation is from systemd.
++**eudev** is a standalone dynamic and persistent device naming support (aka
++userspace devfs) daemon that runs independently from the init system.
++**eudev** strives to remain init system and linux distribution neutral. It is
++currently used as the devfs manager for more than a dozen different linux
++distributions.
++
++This git repo is a fork of git://anongit.freedesktop.org/systemd/systemd with
++the aim of isolating udev from any particular flavor of system initialization.
++In this case, the isolation is from systemd.
+
+ This is a project started by Gentoo developers and testing was initially being
+-done mostly on OpenRC. We welcome contribution from others using a variety of
+-system initializations to ensure eudev remains system initialization and
+-distribution neutral. On 2021-08-20 Gentoo decided to abandon eudev and a new
++done mostly on OpenRC. We welcome contribution from others using a variety of
++system initializations to ensure **eudev** remains system initialization and
++distribution neutral. On 2021-08-20 Gentoo decided to abandon eudev and a new
+ project was established on 2021-09-14 by Alpine, Devuan and Gentoo
+ contributors (alphabetical order).
+
+diff --git a/configure.ac b/configure.ac
+index 3e31b0ebc..0d9a135bc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,6 +1,6 @@
+ AC_PREREQ([2.68])
+-AC_INIT([eudev],[3.2.12],[https://github.com/gentoo/eudev/issues])
+-AC_SUBST(UDEV_VERSION, 243)
++AC_INIT([eudev],[3.2.14],[https://github.com/gentoo/eudev/issues])
++AC_SUBST(UDEV_VERSION, 251)
+ AC_CONFIG_SRCDIR([src/udev/udevd.c])
+
+ AC_USE_SYSTEM_EXTENSIONS
+diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c
+index ac67ce846..7d7a6622e 100644
+--- a/src/libudev/libudev-device.c
++++ b/src/libudev/libudev-device.c
+@@ -1819,6 +1819,12 @@ _public_ struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_dev
+ return udev_list_get_entry(&udev_device->tags_list);
+ }
+
++_public_ struct udev_list_entry *udev_device_get_current_tags_list_entry(struct udev_device *udev_device)
++{
++ // TODO: eudev database does not support current tags
++ return udev_device_get_tags_list_entry(udev_device);
++}
++
+ /**
+ * udev_device_has_tag:
+ * @udev_device: udev device
+@@ -1842,6 +1848,11 @@ _public_ int udev_device_has_tag(struct udev_device *udev_device, const char *ta
+ return false;
+ }
+
++_public_ int udev_device_has_current_tag(struct udev_device *udev_device, const char *tag) {
++ // TODO: eudev database does not support current tags
++ return udev_device_has_tag(udev_device, tag);
++}
++
+ #define ENVP_SIZE 128
+ #define MONITOR_BUF_SIZE 4096
+ static int update_envp_monitor_buf(struct udev_device *udev_device)
+diff --git a/src/libudev/libudev.h b/src/libudev/libudev.h
+index 8491d2b81..0202964d6 100644
+--- a/src/libudev/libudev.h
++++ b/src/libudev/libudev.h
+@@ -100,6 +100,7 @@ int udev_device_get_is_initialized(struct udev_device *udev_device);
+ struct udev_list_entry *udev_device_get_devlinks_list_entry(struct udev_device *udev_device);
+ struct udev_list_entry *udev_device_get_properties_list_entry(struct udev_device *udev_device);
+ struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_device *udev_device);
++struct udev_list_entry *udev_device_get_current_tags_list_entry(struct udev_device *udev_device);
+ struct udev_list_entry *udev_device_get_sysattr_list_entry(struct udev_device *udev_device);
+ const char *udev_device_get_property_value(struct udev_device *udev_device, const char *key);
+ const char *udev_device_get_driver(struct udev_device *udev_device);
+@@ -110,6 +111,7 @@ unsigned long long int udev_device_get_usec_since_initialized(struct udev_device
+ const char *udev_device_get_sysattr_value(struct udev_device *udev_device, const char *sysattr);
+ int udev_device_set_sysattr_value(struct udev_device *udev_device, const char *sysattr, char *value);
+ int udev_device_has_tag(struct udev_device *udev_device, const char *tag);
++int udev_device_has_current_tag(struct udev_device *udev_device, const char *tag);
+
+ /*
+ * udev_monitor
+diff --git a/src/libudev/libudev.sym b/src/libudev/libudev.sym
+index 76726fca7..d56c2aeab 100644
+--- a/src/libudev/libudev.sym
++++ b/src/libudev/libudev.sym
+@@ -118,3 +118,9 @@ global:
+ udev_queue_flush;
+ udev_queue_get_fd;
+ } LIBUDEV_199;
++
++LIBUDEV_247 {
++global:
++ udev_device_has_current_tag;
++ udev_device_get_current_tags_list_entry;
++} LIBUDEV_215;
+--
+2.41.0
+