guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/06: gnu: eudev: Add variant with corrected Btrfs rules.


From: guix-commits
Subject: 02/06: gnu: eudev: Add variant with corrected Btrfs rules.
Date: Sat, 7 Mar 2020 16:34:17 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 24a4a635fd76a91463c75cfe615929ec482cc2f6
Author: Ludovic Courtès <address@hidden>
AuthorDate: Sat Mar 7 21:57:03 2020 +0100

    gnu: eudev: Add variant with corrected Btrfs rules.
    
    Discussed at <https://bugs.gnu.org/39926>.
    
    * gnu/packages/linux.scm (eudev/btrfs-fix): New variable.
    * gnu/services/base.scm (<udev-configuration>)[udev]: Default to it.
    (udev-service): Likewise for #:udev.
---
 gnu/packages/linux.scm | 22 +++++++++++++++++++++-
 gnu/services/base.scm  |  6 +++---
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 32b34a3..a8b74bd 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès 
<address@hidden>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic 
Courtès <address@hidden>
 ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <address@hidden>
 ;;; Copyright © 2012 Nikita Karetnikov <address@hidden>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver 
<address@hidden>
@@ -2870,6 +2870,26 @@ device nodes from /dev/, handles hotplug events and 
loads drivers at boot
 time.")
     (license license:gpl2+)))
 
+;; TODO: Merge with eudev on the next rebuild cycle.
+(define-public eudev/btrfs-fix
+  (package/inherit
+   eudev
+   (version (string-append (package-version eudev) "-1"))
+   (arguments
+    (substitute-keyword-arguments (package-arguments eudev)
+      ((#:phases phases '%standard-phases)
+       `(modify-phases ,phases
+          (add-before 'configure 'patch-bindir-in-btrfs-rules
+            (lambda* (#:key outputs #:allow-other-keys)
+              ;; The "@bindir@" substitution incorrectly expands to a literal
+              ;; "${exec_prefix}" (see <https://bugs.gnu.org/39926>).  Work
+              ;; around it.
+              (let ((out (assoc-ref outputs "out")))
+                (substitute* "rules/64-btrfs.rules.in"
+                  (("@bindir@")
+                   (string-append out "/bin")))
+                #t)))))))))
+
 (define-public eudev-with-hwdb
   (deprecated-package "eudev-with-hwdb" eudev))
 
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 706b3ae..669a03b 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès 
<address@hidden>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès 
<address@hidden>
 ;;; Copyright © 2015, 2016 Alex Kost <address@hidden>
 ;;; Copyright © 2015, 2016 Mark H Weaver <address@hidden>
 ;;; Copyright © 2015 Sou Bunnbu <address@hidden>
@@ -1918,7 +1918,7 @@ archive}).  If that is not the case, the service will 
fail to start."
   udev-configuration make-udev-configuration
   udev-configuration?
   (udev   udev-configuration-udev                 ;<package>
-          (default eudev))
+          (default eudev/btrfs-fix))
   (rules  udev-configuration-rules                ;list of <package>
           (default '())))
 
@@ -2116,7 +2116,7 @@ the udev rules in use.")
 directory dynamically.  Get extra rules from the packages listed in the
 @code{rules} field of its value, @code{udev-configuration} object.")))
 
-(define* (udev-service #:key (udev eudev) (rules '()))
+(define* (udev-service #:key (udev eudev/btrfs-fix) (rules '()))
   "Run @var{udev}, which populates the @file{/dev} directory dynamically.  Get
 extra rules from the packages listed in @var{rules}."
   (service udev-service-type



reply via email to

[Prev in Thread] Current Thread [Next in Thread]