bug-guix
[Top][All Lists]
Advanced

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

bug#39671: Something appears to disable linux kernel modules from loadin


From: Jan Nieuwenhuizen
Subject: bug#39671: Something appears to disable linux kernel modules from loading.
Date: Thu, 20 Feb 2020 22:08:48 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

pelzflorian (Florian Pelz) writes:

Hi Florian,

> On Thu, Feb 20, 2020 at 09:43:45PM +0100, pelzflorian (Florian Pelz) wrote:
>> (I wonder why it does not apply; there were no changes to
>> gnu/services/base.scm in a long time.  Strange.)
>> 
>
> It did not apply for me either.  Here it is in compressed form so its
> encoding is not changed.

It works for me; thank you!  It did not apply -- I do not have this

    From 11509370049355680c815e06250afc09325c589c Mon Sep 17 00:00:00 2001

commit.

Attached is the result of my manual application...
janneke

>From d057c431b707b26ce852d8ba692e9307248d0f63 Mon Sep 17 00:00:00 2001
From: Florian Pelz <address@hidden>
Date: Thu, 20 Feb 2020 14:05:06 +0100
Subject: [PATCH] services: udev: Do not rely on shepherd inheriting
 environment variables.

Fixes <https://bugs.gnu.org/39671>.

* gnu/services/base.scm (udev-shepherd-service)[start] Move or copy
environment variables to 'fork+exec-command' instead of 'setenv'.
---
 gnu/services/base.scm | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 0c154d1c4e..706b3ae7ec 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <address@hidden>
 ;;; Copyright © 2019 John Soo <address@hidden>
 ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <address@hidden>
+;;; Copyright © 2020 Florian Pelz <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2037,11 +2038,6 @@ item of @var{packages}."
                 (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"
-                        #$(file-append rules "/lib/udev/rules.d"))
-
                 (let* ((kernel-release
                         (utsname:release (uname)))
                        (linux-module-directory
@@ -2058,7 +2054,18 @@ item of @var{packages}."
                     (make-static-device-nodes directory))
                   (umask old-umask))
 
-                (let ((pid (fork+exec-command (list udevd))))
+                (let ((pid (fork+exec-command (list udevd)
+                            #:environment-variables
+                            (cons*
+                             ;; The first one is for udev, the second one for
+                             ;; eudev.
+                             (string-append "UDEV_CONFIG_FILE=" #$udev.conf)
+                             (string-append "EUDEV_RULES_DIRECTORY="
+                                            #$(file-append
+                                               rules "/lib/udev/rules.d"))
+                             (string-append "LINUX_MODULE_DIRECTORY="
+                                            (getenv "LINUX_MODULE_DIRECTORY"))
+                             (default-environment-variables)))))
                   ;; Wait until udevd is up and running.  This appears to
                   ;; be needed so that the events triggered below are
                   ;; actually handled.
-- 
2.24.0

-- 
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

reply via email to

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