summary refs log tree commit diff
path: root/pkgs/os-specific/linux/lvm2/purity.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/lvm2/purity.patch')
-rw-r--r--pkgs/os-specific/linux/lvm2/purity.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/lvm2/purity.patch b/pkgs/os-specific/linux/lvm2/purity.patch
new file mode 100644
index 0000000000000..8446e8e9ee9d6
--- /dev/null
+++ b/pkgs/os-specific/linux/lvm2/purity.patch
@@ -0,0 +1,55 @@
+TODO: fix path to blkid as well.
+
+Currently we set it to /sbin/blkid because in nixos we fix a lot of references
+to /sbin/blkid anyway.
+
+diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in
+index 605e088..8865d54 100644
+--- a/udev/10-dm.rules.in
++++ b/udev/10-dm.rules.in
+@@ -19,9 +19,8 @@ KERNEL=="device-mapper", NAME="(DM_DIR)/control"
+ SUBSYSTEM!="block", GOTO="dm_end"
+ KERNEL!="dm-[0-9]*", GOTO="dm_end"
+ 
+-# Set proper sbin path, /sbin has higher priority than /usr/sbin.
+-ENV{DM_SBIN_PATH}="/sbin"
+-TEST!="$env{DM_SBIN_PATH}/dmsetup", ENV{DM_SBIN_PATH}="/usr/sbin"
++# Set proper sbin path. Exit if dmsetup is not present.
++ENV{DM_SBIN_PATH}="(sbindir)"
+ TEST!="$env{DM_SBIN_PATH}/dmsetup", GOTO="dm_end"
+ 
+ # Device created, major and minor number assigned - "add" event generated.
+diff --git a/udev/13-dm-disk.rules b/udev/13-dm-disk.rules
+index 271ca22..cdc583f 100644
+--- a/udev/13-dm-disk.rules
++++ b/udev/13-dm-disk.rules
+@@ -19,7 +19,7 @@ ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}"
+ 
+ ENV{DM_SUSPENDED}=="1", GOTO="dm_end"
+ 
+-IMPORT{program}="$env{DM_SBIN_PATH}/blkid -o udev -p $tempnode"
++IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
+ ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", OPTIONS="link_priority=-100"
+ ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
+ ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
+diff --git a/udev/Makefile.in b/udev/Makefile.in
+index 11635bb..49cf732 100644
+--- a/udev/Makefile.in
++++ b/udev/Makefile.in
+@@ -12,6 +12,7 @@
+ # Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 
+ srcdir = @srcdir@
++sbindir = @sbindir@
+ top_srcdir = @top_srcdir@
+ top_builddir = @top_builddir@
+ 
+@@ -26,7 +27,7 @@ include $(top_builddir)/make.tmpl
+ vpath %.rules $(srcdir)
+ 
+ %.rules: %.rules.in
+-	$(SED) -e "s/(DM_DIR)/$(DM_DIR)/" $< >$@
++	$(SED) -e "s/(DM_DIR)/$(DM_DIR)/" -e "s|(sbindir)|$(sbindir)|" $< >$@
+ 
+ %_install: %.rules
+ 	$(INSTALL_DATA) -D $< $(udevdir)/$(<F)