diff options
author | Peter Rajnoha <prajnoha@redhat.com> | 2012-06-22 05:50:02 -0400 |
---|---|---|
committer | Peter Rajnoha <prajnoha@redhat.com> | 2012-06-27 12:11:56 +0200 |
commit | e6f8d86409e54300aeda05a82aad9b072d22ed4d (patch) | |
tree | d2cf9af1ae67694c79ce15acd024ec3d93531e3f /udev/Makefile.in | |
parent | 9a96f930a762418f1014f6a9da9546cb1f501f04 (diff) | |
download | lvm2-e6f8d86409e54300aeda05a82aad9b072d22ed4d.tar.gz |
udev: udev rules cleanup
Remove executable path detection in udev rules and use sbindir that
is configured, but still provide the original functionality by means
of 'configure --enable-udev-rule-exec-detection'.
Normally, the exec path for the tools called in udev rules should
not differ from the sbindir used, however, there are cases this is
necessary. For example different environments could be assembled
in a way that these path differ for some reason (distribution installer,
initrd ...).
This functionality is kept for compatibility only. Any environment
moving the binaries around and using different paths should be fixed
eventually!
Diffstat (limited to 'udev/Makefile.in')
-rw-r--r-- | udev/Makefile.in | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/udev/Makefile.in b/udev/Makefile.in index 4ace9108e..5c15bdb64 100644 --- a/udev/Makefile.in +++ b/udev/Makefile.in @@ -15,28 +15,39 @@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ +include $(top_builddir)/make.tmpl +vpath %.rules $(srcdir) + DM_RULES=10-dm.rules 13-dm-disk.rules 95-dm-notify.rules LVM_RULES=11-dm-lvm.rules -DM_DIR=$(shell grep "\#define DM_DIR" $(top_srcdir)/libdm/misc/dm-ioctl.h | awk '{print $$3}') - ifeq ("@BUILD_LVMETAD@", "yes") LVM_RULES+=69-dm-lvm-metad.rules endif -ifeq ("@UDEV_HAS_BUILTIN_BLKID@", "yes") - BLKID_RULE=IMPORT{builtin}=\"blkid\" +DM_DIR=$(shell grep "\#define DM_DIR" $(top_srcdir)/libdm/misc/dm-ioctl.h | awk '{print $$3}') + +ifeq ("@UDEV_RULE_EXEC_DETECTION@", "yes") +SBIN=\$$env{DM_SBIN_PATH} +DM_EXEC_RULE=ENV{DM_SBIN_PATH}=\"\/sbin\"\\nTEST!=\"\$$env{DM_SBIN_PATH}\/dmsetup\", ENV{DM_SBIN_PATH}=\"\/usr\/sbin\" +DM_EXEC=\$$env{DM_SBIN_PATH} +LVM_EXEC_RULE=ENV{LVM_SBIN_PATH}=\"\/sbin\"\\nTEST!=\"\$$env{LVM_SBIN_PATH}\/lvm\", ENV{LVM_SBIN_PATH}=\"\/usr\/sbin\" +LVM_EXEC=\$$env{LVM_SBIN_PATH} else - BLKID_RULE=IMPORT{program}=\"\$$env{DM_SBIN_PATH}\/blkid -o udev -p \$$tempnode\" +SBIN="@sbindir@" +DM_EXEC_RULE="" +DM_EXEC=${SBIN} +LVM_EXEC_RULE="" +LVM_EXEC=${SBIN} endif -CLEAN_TARGETS = 10-dm.rules 13-dm-disk.rules - -include $(top_builddir)/make.tmpl - -vpath %.rules $(srcdir) +ifeq ("@UDEV_HAS_BUILTIN_BLKID@", "yes") +BLKID_RULE=IMPORT{builtin}=\"blkid\" +else +BLKID_RULE=IMPORT{program}=\"${SBIN}\/blkid -o udev -p \$$tempnode\" +endif %.rules: %.rules.in - $(SED) -e "s/(DM_DIR)/$(DM_DIR)/" -e "s/(BLKID_RULE)/$(BLKID_RULE)/" $< >$@ + $(SED) -e "s+(DM_DIR)+$(DM_DIR)+;s+(BLKID_RULE)+$(BLKID_RULE)+;s+(DM_EXEC_RULE)+$(DM_EXEC_RULE)+;s+(DM_EXEC)+$(DM_EXEC)+;s+(LVM_EXEC_RULE)+$(LVM_EXEC_RULE)+;s+(LVM_EXEC)+$(LVM_EXEC)+;" $< >$@ %_install: %.rules $(INSTALL_DATA) -D $< $(udevdir)/$(<F) |