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.
This commit is contained in:
parent
81fc64da7e
commit
400ed6acdd
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue