~ruther/guix-local

66a99a06761b2cf0aa3fa6d70e97e767ab237fcb — Ludovic Courtès 11 years ago ba544e7
services: udev: Allow the use of eudev.

* gnu/services/base.scm (udev-service): Adjust 'start' method to support
  eudev in addition to udev.
1 files changed, 11 insertions(+), 1 deletions(-)

M gnu/services/base.scm
M gnu/services/base.scm => gnu/services/base.scm +11 -1
@@ 527,8 527,16 @@ extra rules from the packages listed in @var{rules}."

             (documentation "Populate the /dev directory, dynamically.")
             (start #~(lambda ()
                        (define find
                          (@ (srfi srfi-1) find))

                        (define udevd
                          (string-append #$udev "/libexec/udev/udevd"))
                          ;; Choose the right 'udevd'.
                          (find file-exists?
                                (map (lambda (suffix)
                                       (string-append #$udev suffix))
                                     '("/libexec/udev/udevd" ;udev
                                       "/sbin/udevd"))))     ;eudev

                        (define (wait-for-udevd)
                          ;; Wait until someone's listening on udevd's control


@@ 548,7 556,9 @@ extra rules from the packages listed in @var{rules}."
                        (setenv "LINUX_MODULE_DIRECTORY"
                                "/run/booted-system/kernel/lib/modules")

                        ;; The first one is for udev, the second one for eudev.
                        (setenv "UDEV_CONFIG_FILE" #$udev.conf)
                        (setenv "EUDEV_RULES_DIRECTORY" #$rules)

                        (let ((pid (primitive-fork)))
                          (case pid