diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 32b34a3194..a8b74bda22 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 +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver @@ -2870,6 +2870,26 @@ (define-public eudev 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 ). 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 706b3ae7ec..669a03b041 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 +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2015, 2016 Mark H Weaver ;;; Copyright © 2015 Sou Bunnbu @@ -1918,7 +1918,7 @@ (define-record-type* udev-configuration make-udev-configuration udev-configuration? (udev udev-configuration-udev ; - (default eudev)) + (default eudev/btrfs-fix)) (rules udev-configuration-rules ;list of (default '()))) @@ -2116,7 +2116,7 @@ (define udev-service-type 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