mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
3ea396e9d2
Instead of using = to override SYSTEMD_WANTS, use += to add the pvscan service.
67 lines
2.5 KiB
Makefile
67 lines
2.5 KiB
Makefile
#
|
|
# Copyright (C) 2009-2010 Red Hat, Inc. All rights reserved.
|
|
#
|
|
# This file is part of LVM2.
|
|
#
|
|
# This copyrighted material is made available to anyone wishing to use,
|
|
# modify, copy, or redistribute it subject to the terms and conditions
|
|
# of the GNU General Public License v.2.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software Foundation,
|
|
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
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
|
|
ifeq ("@BUILD_LVMETAD@", "yes")
|
|
LVM_RULES+=69-dm-lvm-metad.rules
|
|
endif
|
|
|
|
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
|
|
SBIN="@sbindir@"
|
|
DM_EXEC_RULE=""
|
|
DM_EXEC=${SBIN}
|
|
LVM_EXEC_RULE=""
|
|
LVM_EXEC=${SBIN}
|
|
endif
|
|
|
|
ifeq ("@UDEV_HAS_BUILTIN_BLKID@", "yes")
|
|
BLKID_RULE=IMPORT{builtin}=\"blkid\"
|
|
else
|
|
BLKID_RULE=IMPORT{program}=\"${SBIN}\/blkid -o udev -p \$$tempnode\"
|
|
endif
|
|
|
|
ifeq ("@UDEV_SYSTEMD_BACKGROUND_JOBS@", "yes")
|
|
PVSCAN_RULE=ACTION\!=\"remove\", ENV{LVM_PV_GONE}==\"1\", RUN\+=\"@bindir@/systemd-run $(LVM_EXEC)\/lvm pvscan --cache \$$major\:\$$minor\", GOTO=\"lvm_end\"\nENV{SYSTEMD_ALIAS}=\"\/dev\/block\/\$$major:\$$minor\"\nENV{ID_MODEL}=\"LVM PV \$$env{ID_FS_UUID_ENC} on \/dev\/\$$name\"\nENV{SYSTEMD_WANTS}+=\"lvm2-pvscan@\$$major:\$$minor.service\"
|
|
else
|
|
PVSCAN_RULE=RUN\+\=\"$(LVM_EXEC)/lvm pvscan --background --cache --activate ay --major \$$major --minor \$$minor\", ENV{LVM_SCANNED}=\"1\"
|
|
endif
|
|
|
|
%.rules: %.rules.in
|
|
$(SED) -e "s+(DM_DIR)+$(DM_DIR)+;s+(BLKID_RULE)+$(BLKID_RULE)+;s+(PVSCAN_RULE)+$(PVSCAN_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)
|
|
|
|
all: $(DM_RULES) $(LVM_RULES)
|
|
CLEAN_TARGETS = $(DM_RULES) $(LVM_RULES)
|
|
install_device-mapper: $(DM_RULES:.rules=_install)
|
|
install_lvm2: $(LVM_RULES:.rules=_install)
|
|
|
|
install: install_lvm2 install_device-mapper
|