From mboxrd@z Thu Jan 1 00:00:00 1970 From: "pelzflorian (Florian Pelz)" Subject: bug#39671: Something appears to disable linux kernel modules from loading. Date: Thu, 20 Feb 2020 20:59:25 +0100 Message-ID: <20200220195925.3gpfvamxweucfhpf@pelzflorian.localdomain> References: <86a75fqyn5.fsf@dismail.de> <87zhdel0wb.fsf@gnu.org> <20200220101826.y2esml7n2mumsnuz@pelzflorian.localdomain> <20200220121246.cerl2fivfguyzi7l@pelzflorian.localdomain> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="kniek464sguubj6t" Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:38493) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4rzQ-0008FM-EG for bug-guix@gnu.org; Thu, 20 Feb 2020 15:00:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j4rzP-0001HV-6q for bug-guix@gnu.org; Thu, 20 Feb 2020 15:00:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:39932) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j4rzO-0001FI-OQ for bug-guix@gnu.org; Thu, 20 Feb 2020 15:00:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j4rzO-0003EV-NX for bug-guix@gnu.org; Thu, 20 Feb 2020 15:00:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Content-Disposition: inline In-Reply-To: <20200220121246.cerl2fivfguyzi7l@pelzflorian.localdomain> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: Jack Hill Cc: 39671@debbugs.gnu.org, Joshua Branson --kniek464sguubj6t Content-Type: text/plain; charset=us-ascii Content-Disposition: inline The attached patch fixes the issue for me. Can someone confirm? It replaces or copies setenv calls for the udev service. There are more service definitions that call setenv; I do not know if they need to be moved too. I will try if a smaller patch would suffice as well now. Regards, Florian --kniek464sguubj6t Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: attachment; filename="0001-services-udev-Do-not-rely-on-shepherd-inheriting-env.patch" Content-Transfer-Encoding: 8bit >From 11509370049355680c815e06250afc09325c589c Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Thu, 20 Feb 2020 14:05:06 +0100 Subject: [PATCH] services: udev: Do not rely on shepherd inheriting environment variables. Fixes . * 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 ;;; Copyright © 2019 John Soo ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020 Florian Pelz ;;; ;;; 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.25.0 --kniek464sguubj6t--