[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#66099] [PATCH gnome-team v10 3/6] services: udev: Make udev-rule he
From: |
Vivien Kraus |
Subject: |
[bug#66099] [PATCH gnome-team v10 3/6] services: udev: Make udev-rule helper functions generic. |
Date: |
Thu, 5 Oct 2023 19:24:56 +0200 |
User-agent: |
Evolution 3.46.4 |
* gnu/services/base.scm (udev-configurations-union): New function.
(udev-configuration-file): New function, use file->udev-configuration-file.
(file->udev-configuration-file): New function.
(udev-rules-union): Use udev-configurations-union.
(udev-rule): Use udev-configuration-file.
(file->udev-rule): Use file->udev-configuration-file.
---
gnu/services/base.scm | 50 +++++++++++++++++++++++++++++--------------
1 file changed, 34 insertions(+), 16 deletions(-)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 8b54f30ef6..10e7383475 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -2234,9 +2234,9 @@ (define-record-type* <udev-configuration>
(rules udev-configuration-rules ;list of file-like
(default '())))
-(define (udev-rules-union packages)
- "Return the union of the @code{lib/udev/rules.d} directories found in each
-item of @var{packages}."
+(define (udev-configurations-union subdirectory packages)
+ "Return the union of the lib/udev/SUBDIRECTORY.d directories found in each
+item of PACKAGES."
(define build
(with-imported-modules '((guix build union)
(guix build utils))
@@ -2247,39 +2247,57 @@ (define (udev-rules-union packages)
(srfi srfi-26))
(define %standard-locations
- '("/lib/udev/rules.d" "/libexec/udev/rules.d"))
+ '(#$(string-append "/lib/udev/" subdirectory ".d")
+ #$(string-append "/libexec/udev/" subdirectory ".d")))
- (define (rules-sub-directory directory)
- ;; Return the sub-directory of DIRECTORY containing udev rules, or
- ;; #f if none was found.
+ (define (configuration-sub-directory directory)
+ ;; Return the sub-directory of DIRECTORY containing udev
+ ;; configurations, or #f if none was found.
(find directory-exists?
(map (cut string-append directory <>) %standard-locations)))
(union-build #$output
- (filter-map rules-sub-directory '#$packages)))))
+ (filter-map configuration-sub-directory '#$packages)))))
+
+ (computed-file (string-append "udev-" subdirectory) build))
- (computed-file "udev-rules" build))
+(define (udev-rules-union packages)
+ "Return the union of the lib/udev/rules.d directories found in each
+item of PACKAGES."
+ (udev-configurations-union "rules" packages))
+
+(define (udev-configuration-file subdirectory file-name contents)
+ "Return a directory with a udev configuration file FILE-NAME containing
CONTENTS."
+ (file->udev-configuration-file subdirectory file-name (plain-file file-name
contents)))
(define (udev-rule file-name contents)
"Return a directory with a udev rule file FILE-NAME containing CONTENTS."
- (file->udev-rule file-name (plain-file file-name contents)))
+ (udev-configuration-file "rules" file-name contents))
-(define (file->udev-rule file-name file)
- "Return a directory with a udev rule file FILE-NAME which is a copy of FILE."
+(define (file->udev-configuration-file subdirectory file-name file)
+ "Return a directory with a udev configuration file FILE-NAME which is a copy
+ of FILE."
(computed-file file-name
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
- (define rules.d
- (string-append #$output "/lib/udev/rules.d"))
+ (define configuration-directory
+ (string-append #$output
+ "/lib/udev/"
+ #$subdirectory
+ ".d"))
(define file-copy-dest
- (string-append rules.d "/" #$file-name))
+ (string-append configuration-directory "/"
#$file-name))
- (mkdir-p rules.d)
+ (mkdir-p configuration-directory)
(copy-file #$file file-copy-dest)))))
+(define (file->udev-rule file-name file)
+ "Return a directory with a udev rule file FILE-NAME which is a copy of FILE."
+ (file->udev-configuration-file "rules" file-name file))
+
(define kvm-udev-rule
;; Return a directory with a udev rule that changes the group of /dev/kvm to
;; "kvm" and makes it #o660. Apparently QEMU-KVM used to ship this rule,
--
2.41.0
- [bug#66099] [PATCH gnome-team v9 4/7] gnu: udev-service-type: accept hardware description file extensions., (continued)
- [bug#66099] [PATCH gnome-team v9 4/7] gnu: udev-service-type: accept hardware description file extensions., Vivien Kraus, 2023/10/08
- [bug#66099] [PATCH gnome-team v9 6/7] gnu: upower: Update to 1.90.2., Vivien Kraus, 2023/10/08
- [bug#66099] [PATCH gnome-team v9 2/7] services: udev: Rewrite udev-rule to use file->udev-rule., Vivien Kraus, 2023/10/08
- [bug#66099] [PATCH gnome-team v9 1/7] gnu: eudev: Update to 3.2.14., Vivien Kraus, 2023/10/08
- [bug#66099] [PATCH gnome-team v9 5/7] gnu: libgudev: Update to 238., Vivien Kraus, 2023/10/08
- [bug#66099] [PATCH gnome-team v9 7/7] services: udev: Install hardware files in /lib/udev/hardware., Vivien Kraus, 2023/10/08
- [bug#66099] [PATCH gnome-team v9 7/7] services: udev: Install hardware files in /lib/udev/hardware., Maxim Cournoyer, 2023/10/08
- [bug#66099] [PATCH gnome-team v10 0/6] Exact same, without the last patch, Vivien Kraus, 2023/10/10
- [bug#66099] [PATCH gnome-team v10 1/6] gnu: eudev: Update to 3.2.14., Vivien Kraus, 2023/10/10
- [bug#66099] [PATCH gnome-team v10 2/6] services: udev: Rewrite udev-rule to use file->udev-rule., Vivien Kraus, 2023/10/10
- [bug#66099] [PATCH gnome-team v10 3/6] services: udev: Make udev-rule helper functions generic.,
Vivien Kraus <=
- [bug#66099] [PATCH gnome-team v10 4/6] gnu: udev-service-type: accept hardware description file extensions., Vivien Kraus, 2023/10/10
- [bug#66099] [PATCH gnome-team v10 5/6] gnu: libgudev: Update to 238., Vivien Kraus, 2023/10/10
- [bug#66099] [PATCH gnome-team v10 6/6] gnu: upower: Update to 1.90.2., Vivien Kraus, 2023/10/10
- [bug#66099] [PATCH gnome-team v10 0/6] Exact same, without the last patch, Maxim Cournoyer, 2023/10/10
- bug#66099: [PATCH gnome-team v10 0/6] Exact same, without the last patch, Liliana Marie Prikler, 2023/10/11
- [bug#66099] [PATCH gnome-team v9 0/7] Update eudev, upower, udev-service-type, with /lib/udev/hardware, Maxim Cournoyer, 2023/10/08
- [bug#66099] [PATCH gnome-team v9 0/7] Update eudev, upower, udev-service-type, with /lib/udev/hardware, Vivien Kraus, 2023/10/08
- [bug#66099] [PATCH gnome-team v8 4/6] gnu: udev-service-type: accept hardware description file extensions., Vivien Kraus, 2023/10/06
- [bug#66099] [PATCH gnome-team v8 4/6] gnu: udev-service-type: accept hardware description file extensions., Liliana Marie Prikler, 2023/10/06
- [bug#66099] [PATCH gnome-team v8 1/6] gnu: eudev: Update to 3.2.14., Vivien Kraus, 2023/10/06