[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#66099] [PATCH gnome-team 1/3] gnu: eudev: Update libudev version to
From: |
Vivien Kraus |
Subject: |
[bug#66099] [PATCH gnome-team 1/3] gnu: eudev: Update libudev version to 251. |
Date: |
Tue, 19 Sep 2023 13:23:22 +0200 |
User-agent: |
Evolution 3.46.4 |
Support for version 251 is only provided as a merge request for now:
https://github.com/eudev-project/eudev/pull/253
This merge request bumps the eudev version to 3.2.14, but it has not been
released yet.
The udevadm command to generate the hwdb.bin file now looks at file under
/lib/udev/hwdb.d, and generates /lib/udev/hwdb.bin. The intention is not to
touch /etc so that users can supply their own files. The steps to generate the
file are:
1. Copy /etc/udev/hwdb.d to /lib/udev/hwdb.d to accept all files from eudev;
2. Generate /lib/udev/hwdb.bin from /lib/udev/hwdb.d (by passing --usr to the
udevadm command-line) − if not cross-compiling;
3. Copy /lib/udev/hwdb.bin to /etc/udev − if not cross-compiling.
Point 1. is dealt with in a new phase, and points 2. and 3. are dealt with in
the 'build-hwdb phase.
* gnu/packages/linux.scm (eudev): Update to v3.2.12, but bump version to
3.2.14.beta.
[#:phases] <allow-eudev-hwdb>: New phase.
<build-hwdb>: Update accordingly.
* gnu/packages/patches/eudev-bump-to-251.patch: New file.
* gnu/packages/linux.scm (eudev): Use it here.
* gnu/local.mk (dist_patch_DATA): Register it here.
---
gnu/local.mk | 1 +
gnu/packages/linux.scm | 22 ++-
gnu/packages/patches/eudev-bump-to-251.patch | 134 +++++++++++++++++++
3 files changed, 151 insertions(+), 6 deletions(-)
create mode 100644 gnu/packages/patches/eudev-bump-to-251.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index db21feb507..8b9365055d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 91109c41d9..2cad9cbbe9 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -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
diff --git a/gnu/packages/patches/eudev-bump-to-251.patch
b/gnu/packages/patches/eudev-bump-to-251.patch
new file mode 100644
index 0000000000..96a73f4ede
--- /dev/null
+++ b/gnu/packages/patches/eudev-bump-to-251.patch
@@ -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
+
--
2.41.0
- [bug#66099] [PATCH gnome-team 0/3] Update upower, Vivien Kraus, 2023/09/19
- [bug#66099] [PATCH gnome-team 1/3] gnu: eudev: Update libudev version to 251.,
Vivien Kraus <=
- [bug#66099] [PATCH gnome-team 2/3] gnu: libgudev: Update to 238., Vivien Kraus, 2023/09/19
- [bug#66099] [PATCH gnome-team 3/3] gnu: upower: Update to 1.90.2., Vivien Kraus, 2023/09/19
- [bug#66099] [PATCH gnome-team 0/3] Update upower, Liliana Marie Prikler, 2023/09/21
- [bug#66099] [PATCH gnome-team 0/3] Update upower, Vivien Kraus, 2023/09/21
- [bug#66099] [PATCH gnome-team 0/3] Update upower, Vivien Kraus, 2023/09/21
- [bug#66099] [PATCH gnome-team 0/3] Update upower, Liliana Marie Prikler, 2023/09/22
- [bug#66099] [WIP PATCH gnome-team v2 0/3] Nicer eudev, upower still fails, Vivien Kraus, 2023/09/30
- [bug#66099] [WIP PATCH gnome-team v2 1/3] gnu: eudev: Update libudev version to 251., Vivien Kraus, 2023/09/30
- [bug#66099] [WIP PATCH gnome-team v2 2/3] gnu: libgudev: Update to 238., Vivien Kraus, 2023/09/30