diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-02-02 18:17:30 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-02-02 21:16:59 +0100 |
commit | 400ed6acdd275f1135aad520baa7379eb6b8cff6 (patch) | |
tree | ccb48ae941e2e96b0ea47ccc4677f26a8e7a12ed | |
parent | 81fc64da7e9fa5eed782d0c52ebd5c76598e045a (diff) | |
download | guix-400ed6acdd275f1135aad520baa7379eb6b8cff6.tar guix-400ed6acdd275f1135aad520baa7379eb6b8cff6.tar.gz |
gnu: eudev: Add variant that depends on libblkid.
This fixes a bug whereby /dev/disk/by-{label,id} would be missing on
GuixSD (/dev/disk/by-id would still contain device-mapped partitions
though.)
Reported by Mark H Weaver <mhw@netris.org>.
* gnu/packages/linux.scm (eudev-with-blkid): New variable.
* gnu/services/base.scm (udev-service): #:udev defaults to
EUDEV-WITH-BLKID.
* gnu/system.scm (%base-packages): Replace EUDEV with EUDEV-WITH-BLKID.
-rw-r--r-- | gnu/packages/linux.scm | 15 | ||||
-rw-r--r-- | gnu/services/base.scm | 4 | ||||
-rw-r--r-- | gnu/system.scm | 2 |
3 files changed, 17 insertions, 4 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6e75bacb9c..9d359e3696 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 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> @@ -1570,6 +1570,7 @@ from the module-init-tools project.") (define-public eudev ;; The post-systemd fork, maintained by Gentoo. + ;; TODO: Merge with 'eudev-with-blkid' below at an opportune time. (package (name "eudev") (version "3.1.5") @@ -1596,6 +1597,18 @@ device nodes from /dev/, handles hotplug events and loads drivers at boot time.") (license license:gpl2+))) +(define-public eudev-with-blkid + ;; TODO: Merge with 'eudev' above at an opportune time. + (package + (inherit eudev) + (name "eudev-with-blkid") + (inputs + ;; When linked against libblkid, eudev can populate /dev/disk/by-label + ;; and similar; it also installs the '60-persistent-storage.rules' file, + ;; which contains the rules to do that. + `(("util-linux" ,util-linux) ;for blkid + ,@(package-inputs eudev))))) + (define-public lvm2 (package (name "lvm2") diff --git a/gnu/services/base.scm b/gnu/services/base.scm index dcd9956987..28ccfe0f37 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -29,7 +29,7 @@ #:use-module (gnu system file-systems) ; 'file-system', etc. #:use-module (gnu packages admin) #:use-module ((gnu packages linux) - #:select (eudev kbd e2fsprogs lvm2 fuse alsa-utils crda gpm)) + #:select (eudev-with-blkid kbd e2fsprogs lvm2 fuse alsa-utils crda gpm)) #:use-module ((gnu packages base) #:select (canonical-package glibc)) #:use-module (gnu packages package-management) @@ -1165,7 +1165,7 @@ item of @var{packages}." (udev udev) (rules (append initial-rules rules))))))))) -(define* (udev-service #:key (udev eudev) (rules '())) +(define* (udev-service #:key (udev eudev-with-blkid) (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 diff --git a/gnu/system.scm b/gnu/system.scm index 76a9f1ffa3..dea7d882a8 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -371,7 +371,7 @@ explicitly appear in OS." ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev ;; already depends on it anyway. - kmod eudev + kmod eudev-with-blkid e2fsprogs kbd |