From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#39926: Regression introduced by Shepherd 0.7.0 ('make check-system TESTS=btrfs-root-os' fails) Date: Sat, 07 Mar 2020 12:33:08 +0100 Message-ID: <87d09ojt6z.fsf@gnu.org> References: <87wo7yswwy.fsf@gmail.com> <87blpa7m3j.fsf@gnu.org> <87a74skcb1.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:60187) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jAXiV-0002St-PX for bug-guix@gnu.org; Sat, 07 Mar 2020 06:34:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jAXiU-0004m5-8Q for bug-guix@gnu.org; Sat, 07 Mar 2020 06:34:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:40345) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jAXiU-0004ln-50 for bug-guix@gnu.org; Sat, 07 Mar 2020 06:34:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jAXiU-0006RN-27 for bug-guix@gnu.org; Sat, 07 Mar 2020 06:34:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87a74skcb1.fsf@gmail.com> (Maxim Cournoyer's message of "Fri, 06 Mar 2020 23:40:18 -0500") 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: Maxim Cournoyer Cc: 39926@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable The build log of has: --8<---------------cut here---------------start------------->8--- guix system: [1m[0mbootloader successfully installed on '[1m/dev/vdb[0m' + sync [ 194.803139] udevd[313]: failed to execute '/gnu/store/pxw38aa6wwxyd2ws9p= kzj4m68qrmjscd-eudev-3.2.9/lib/udev/${exec_prefix}/bin/udevadm' '${exec_pre= fix}/bin/udevadm trigger -s block -p ID_BTRFS_READY=3D0': No such file or d= irectory --8<---------------cut here---------------end--------------->8--- The broken udev rule is =E2=80=9864-btrfs.rules=E2=80=99 in eudev: --8<---------------cut here---------------start------------->8--- # reconsider pending devices in case when multidevice volume awaits ENV{ID_BTRFS_READY}=3D=3D"1", RUN+=3D"${exec_prefix}/bin/udevadm trigger -s= block -p ID_BTRFS_READY=3D0" --8<---------------cut here---------------end--------------->8--- =E2=80=A6 where =E2=80=9C${exec_prefix}=E2=80=9D is expanded from =E2=80=9C= @bindir@=E2=80=9D, a classical issue that we should report upstream. :-) In the meantime, the following patch should solve the problem. I=E2=80=99m running the test now, and if it passes and you=E2=80=99re fine with it, I= =E2=80=99ll commit it. It=E2=80=99s pleasant we have tests to catch such issues! Thanks, Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 64ea566dbd..3884e15233 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright =C2=A9 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovi= c Court=C3=A8s +;;; Copyright =C2=A9 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 = Ludovic Court=C3=A8s ;;; Copyright =C2=A9 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright =C2=A9 2012 Nikita Karetnikov ;;; Copyright =C2=A9 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weave= r @@ -2870,6 +2870,26 @@ device nodes from /dev/, handles hotplug events and = loads drivers at boot time.") (license license:gpl2+))) =20 +;; TODO: Merge with eudev on the next rebuild cycle. +(define-public eudev/btrfs-fix + (package/inherit + eudev + (version (string-append (package-version eudev) "-1")) + (arguments + (substitute-keyword-arguments (package-arguments eudev) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-before 'configure 'patch-bindir-in-btrfs-rules + (lambda* (#:key outputs #:allow-other-keys) + ;; The "@bindir@" substitution incorrectly expands to a lite= ral + ;; "${exec_prefix}" (see ). Work + ;; around it. + (let ((out (assoc-ref outputs "out"))) + (substitute* "rules/64-btrfs.rules.in" + (("@bindir@") + (string-append out "/bin"))) + #t))))))))) + (define-public eudev-with-hwdb (deprecated-package "eudev-with-hwdb" eudev)) =20 diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 706b3ae7ec..0c8978790d 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright =C2=A9 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Cour= t=C3=A8s +;;; Copyright =C2=A9 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovi= c Court=C3=A8s ;;; Copyright =C2=A9 2015, 2016 Alex Kost ;;; Copyright =C2=A9 2015, 2016 Mark H Weaver ;;; Copyright =C2=A9 2015 Sou Bunnbu @@ -1918,7 +1918,7 @@ archive}). If that is not the case, the service will= fail to start." udev-configuration make-udev-configuration udev-configuration? (udev udev-configuration-udev ; - (default eudev)) + (default eudev/btrfs-fix)) (rules udev-configuration-rules ;list of (default '()))) =20 --=-=-=--