(address . guix-patches@gnu.org)(name . Yann Dupont)(address . Yann.Dupont@univ-nantes.fr)
From: Yann Dupont <Yann.Dupont@univ-nantes.fr>
Reported by Adrien 'neox' Bourmault <neox@gnu.org>.
* gnu/packages/patches/lvm2-no-systemd.patch: New file.
* gnu/packages/linux.scm (lvm2)[source]: Apply patch.
* gnu/local.mk: Register new patch.
---
gnu/local.mk | 1 +
gnu/packages/linux.scm | 1 +
gnu/packages/patches/lvm2-no-systemd.patch | 22 ++++++++++++++++++++++
3 files changed, 24 insertions(+)
create mode 100644 gnu/packages/patches/lvm2-no-systemd.patch
Hi,
Here is the patch from Yann sent in patch 65177 [1]. I have just reformatted
it and preprare it for merging if it is correct. I know nothing about udev.
Cheers,
simon
Toggle diff (56 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index daacd786a7..3d74c3e228 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1625,6 +1625,7 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
+ %D%/packages/patches/lvm2-no-systemd.patch \
%D%/packages/patches/maturin-no-cross-compile.patch \
%D%/packages/patches/mecab-variable-param.patch \
%D%/packages/patches/memtest86+-build-reproducibly.patch \
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 6bb6d62182..6882244e92 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4527,6 +4527,7 @@ (define-public lvm2
(sha256
(base32
"0z6w6bknhwh1n3qfkb5ij6x57q3wjf28lq3l8kh7rkhsplinjnjc"))
+ (patches (search-patches "lvm2-no-systemd.patch"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/patches/lvm2-no-systemd.patch b/gnu/packages/patches/lvm2-no-systemd.patch
new file mode 100644
index 0000000000..46b4dcffbb
--- /dev/null
+++ b/gnu/packages/patches/lvm2-no-systemd.patch
@@ -0,0 +1,22 @@
+Fixes <https://issues.guix.gnu.org/65177>.
+
+Since lvm2 2.03.14, the included udev rules use systemd-run to run vgchange
+and activate the volume group. lvm2 was updated recently from 2.03.11 to
+2.03.21, then 2.03.22, and probably started exhibiting this behavior then. It
+removes the indirection through systemd-run and directly run vgchange.
+
+diff --git a/udev/69-dm-lvm.rules.in b/udev/69-dm-lvm.rules.in
+index ff15681..f9e5b70 100644
+--- a/udev/69-dm-lvm.rules.in
++++ b/udev/69-dm-lvm.rules.in
+@@ -75,8 +75,8 @@ LABEL="lvm_scan"
+ # TODO: adjust the output of vgchange -aay so that
+ # it's better suited to appearing in the journal.
+
+-IMPORT{program}="(LVM_EXEC)/lvm pvscan --cache --listvg --checkcomplete --vgonline --autoactivation event --udevoutput --journal=output $env{DEVNAME}"
+-ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="(SYSTEMDRUN) --no-block --property DefaultDependencies=no --unit lvm-activate-$env{LVM_VG_NAME_COMPLETE} (LVM_EXEC)/lvm vgchange -aay --autoactivation event $env{LVM_VG_NAME_COMPLETE}"
++IMPORT{program}="(LVM_EXEC)/lvm pvscan --cache --listvg
++ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="(SYSTEMDRUN) --no-block lvm-activate-$env{LVM_VG_NAME_COMPLETE} (LVM_EXEC)/lvm vgchange -aay
+ GOTO="lvm_end"
+
+ LABEL="lvm_end"
base-commit: b437896e87a51cc610388d4c462893652dd773e6
--
2.38.1