[bug#66099,gnome-team,v9,7/7] services: udev: Install hardware files in /lib/udev/hardware.
Commit Message
* gnu/packages/libusb.scm (libmtp) [#:phases] <move-hardware-files>: New phase.
* gnu/packages/xdisorg.scm (libwacom) [#:phases]
<set-hardware-installation-directory>: New phase.
* gnu/packages/freedesktop.scm (libfprint) [#:configure-flags]: Change the
hardware directory.
* gnu/packages/linux.scm (eudev): [#:phases] <install-in-lib>: Change the
installation directory.
[native-search-paths]: change the search directory.
* gnu/services/base.scm (file->udev-hardware): Change the directory name.
(file->udev-hardware): Same.
(udev-etc): Same.
---
gnu/packages/freedesktop.scm | 2 +-
gnu/packages/gnome.scm | 2 +-
gnu/packages/libusb.scm | 8 +++++++-
gnu/packages/linux.scm | 16 ++++++++--------
gnu/packages/xdisorg.scm | 9 ++++++++-
gnu/services/base.scm | 6 +++---
6 files changed, 28 insertions(+), 15 deletions(-)
Comments
Hi,
Apart from the hwdb.d -> hardware renaming, this series rest LGTM!
Hi,
Vivien Kraus <vivien@planete-kraus.eu> writes:
> Dear guix,
>
> Here is the exact same series, rebased on top of gnome-team, without the last
> patch: the hwdb.d directory is kept as-is.
>
> (the base-commit tag below has been updated too)
>
> Best regards,
>
> Vivien
>
> Vivien Kraus (6):
> gnu: eudev: Update to 3.2.14.
> services: udev: Rewrite udev-rule to use file->udev-rule.
> services: udev: Make udev-rule helper functions generic.
> gnu: udev-service-type: accept hardware description file extensions.
> gnu: libgudev: Update to 238.
> gnu: upower: Update to 1.90.2.
This series LGTM!
Am Dienstag, dem 10.10.2023 um 19:44 -0400 schrieb Maxim Cournoyer:
> Hi,
>
> Vivien Kraus <vivien@planete-kraus.eu> writes:
>
> > Dear guix,
> >
> > Here is the exact same series, rebased on top of gnome-team,
> > without the last patch: the hwdb.d directory is kept as-is.
> >
> > (the base-commit tag below has been updated too)
> >
> > Best regards,
> >
> > Vivien
> >
> > Vivien Kraus (6):
> > gnu: eudev: Update to 3.2.14.
> > services: udev: Rewrite udev-rule to use file->udev-rule.
> > services: udev: Make udev-rule helper functions generic.
> > gnu: udev-service-type: accept hardware description file
> > extensions.
> > gnu: libgudev: Update to 238.
> > gnu: upower: Update to 1.90.2.
>
> This series LGTM!
Pushed to gnome-teams now.
Thanks
@@ -2209,7 +2209,7 @@ (define-public libfprint
(arguments
(list #:configure-flags
#~(list (string-append "-Dudev_hwdb_dir=" #$output
- "/lib/udev/hwdb.d")
+ "/lib/udev/hardware")
(string-append "-Dc_link_args=-Wl,-rpath="
(search-input-directory %build-inputs
"lib/nss"))
@@ -5760,7 +5760,7 @@ (define-public upower
;; in /gnu/store.
"-Dhistorydir=/var/lib/upower"
(string-append "-Dudevrulesdir=" #$output "/bin/udev/rules.d")
- (string-append "-Dudevhwdbdir=" #$output "/lib/udev/hwdb.d"))
+ (string-append "-Dudevhwdbdir=" #$output "/lib/udev/hardware"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-test-suite
@@ -584,7 +584,13 @@ (define-public libmtp
(arguments
(list #:configure-flags
#~(list "--disable-static"
- (string-append "--with-udev=" #$output "/lib/udev"))))
+ (string-append "--with-udev=" #$output "/lib/udev"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'move-hardware-files
+ (lambda _
+ (rename-file (string-append #$output "/lib/udev/hwdb.d")
+ (string-append #$output "/lib/udev/hardware")))))))
(home-page "https://libmtp.sourceforge.net/")
(synopsis "Library implementing the Media Transfer Protocol")
(description "Libmtp implements an MTP (Media Transfer Protocol)
@@ -4288,16 +4288,16 @@ (define-public eudev
(add-before 'bootstrap 'install-in-lib
(lambda _
;; When the udev-service-type instantiates /etc, it collects
- ;; hardware files from the <package>/lib/udev/hwdb.d directories
- ;; of different packages. Since we set sysconfdir to /etc, the
- ;; only package-dependent location we can install hwdb files is
- ;; in <package>/lib/udev/hwdb.d. Eudev is configured to install
- ;; these files in sysconfdir, but they should be placed into
- ;; udevlibexecdir.
+ ;; hardware files from the <package>/lib/udev/hardware
+ ;; directories of different packages. Since we set sysconfdir
+ ;; to /etc, the only package-dependent location we can install
+ ;; hwdb files is in <package>/lib/udev/hardware. Eudev is
+ ;; configured to install these files in sysconfdir, but they
+ ;; should be placed into udevlibexecdir.
(copy-file "hwdb/Makefile.am" "hwdb/files.am")
(call-with-output-file "hwdb/Makefile.am"
(lambda (port)
- (format port "hardwarelibdir = $(udevlibexecdir)/hwdb.d\n")
+ (format port "hardwarelibdir = $(udevlibexecdir)/hardware\n")
(format port "include ./files.am")))
(substitute* "hwdb/files.am"
(("dist_udevhwdb_DATA =")
@@ -4331,7 +4331,7 @@ (define-public eudev
(native-search-paths
(list (search-path-specification
(variable "UDEV_HWDB_PATH")
- (files '("lib/udev/hwdb.d")))))
+ (files '("lib/udev/hardware")))))
(native-inputs
(list autoconf
automake
@@ -1432,7 +1432,14 @@ (define-public libwacom
(build-system meson-build-system)
(arguments
(list
- #:configure-flags #~(list "--default-library=shared")))
+ #:configure-flags #~(list "--default-library=shared")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-hardware-installation-directory
+ (lambda _
+ (substitute* "meson.build"
+ (("dir_udev / 'hwdb.d'")
+ "dir_udev / 'hardware'")))))))
(native-inputs
(list pkg-config
;; For tests.
@@ -2233,7 +2233,7 @@ (define (udev-rule file-name contents)
(define (udev-hardware file-name contents)
"Return a directory with a udev hardware file FILE-NAME containing CONTENTS."
- (udev-configuration-file "hwdb.d" file-name contents))
+ (udev-configuration-file "hardware" file-name contents))
(define (file->udev-configuration-file subdirectory file-name file)
"Return a directory with a udev configuration file FILE-NAME which is a copy
@@ -2260,7 +2260,7 @@ (define (file->udev-rule file-name file)
(define (file->udev-hardware file-name file)
"Return a directory with a udev hardware file FILE-NAME which is a copy of FILE."
- (file->udev-configuration-file "hwdb.d" file-name file))
+ (file->udev-configuration-file "hardware" file-name file))
(define kvm-udev-rule
;; Return a directory with a udev rule that changes the group of /dev/kvm to
@@ -2371,7 +2371,7 @@ (define (udev-etc config)
(match-record config <udev-configuration>
(udev rules hardware)
(let* ((hardware
- (udev-configurations-union "hwdb.d" (cons* udev hardware)))
+ (udev-configurations-union "hardware" (cons* udev hardware)))
(hwdb.bin
(computed-file
"hwdb.bin"