Fix zfs-functions packaging bug
This fixes a bug where the generated zfs-functions was being included along with original zfs-functions.in in the make dist tarball. This caused an unfortunate series of events during build/packaging that resulted in the RPM-installed /etc/zfs/zfs-functions listing the paths as: ZFS="/usr/local/sbin/zfs" ZED="/usr/local/sbin/zed" ZPOOL="/usr/local/sbin/zpool" When they should have been: ZFS="/sbin/zfs" ZED="/sbin/zed" ZPOOL="/sbin/zpool" This affects init.d (non-systemd) distros like CentOS 6. /etc/default/zfs and /etc/zfs/zfs-functions are also used by the initramfs, so they need to be built even when init.d support is not. They have been moved to the (new) etc/default and (existing) etc/zfs source directories, respectively. Fixes: #9443 Co-authored-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Richard Laager <rlaager@wiktel.com>
This commit is contained in:
parent
d7c076c793
commit
e1b0704568
|
@ -67,6 +67,7 @@ AC_CONFIG_FILES([
|
||||||
udev/Makefile
|
udev/Makefile
|
||||||
udev/rules.d/Makefile
|
udev/rules.d/Makefile
|
||||||
etc/Makefile
|
etc/Makefile
|
||||||
|
etc/default/Makefile
|
||||||
etc/init.d/Makefile
|
etc/init.d/Makefile
|
||||||
etc/zfs/Makefile
|
etc/zfs/Makefile
|
||||||
etc/systemd/Makefile
|
etc/systemd/Makefile
|
||||||
|
|
|
@ -6,15 +6,10 @@ initrd_SCRIPTS = \
|
||||||
SUBDIRS = hooks scripts
|
SUBDIRS = hooks scripts
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
$(top_srcdir)/etc/init.d/zfs \
|
|
||||||
$(top_srcdir)/etc/init.d/zfs-functions \
|
|
||||||
$(top_srcdir)/contrib/initramfs/conf.d/zfs \
|
$(top_srcdir)/contrib/initramfs/conf.d/zfs \
|
||||||
$(top_srcdir)/contrib/initramfs/conf-hooks.d/zfs \
|
$(top_srcdir)/contrib/initramfs/conf-hooks.d/zfs \
|
||||||
$(top_srcdir)/contrib/initramfs/README.initramfs.markdown
|
$(top_srcdir)/contrib/initramfs/README.initramfs.markdown
|
||||||
|
|
||||||
$(top_srcdir)/etc/init.d/zfs $(top_srcdir)/etc/init.d/zfs-functions:
|
|
||||||
$(MAKE) -C $(top_srcdir)/etc/init.d zfs zfs-functions
|
|
||||||
|
|
||||||
install-initrdSCRIPTS: $(EXTRA_DIST)
|
install-initrdSCRIPTS: $(EXTRA_DIST)
|
||||||
for d in conf.d conf-hooks.d scripts/local-top; do \
|
for d in conf.d conf-hooks.d scripts/local-top; do \
|
||||||
$(MKDIR_P) $(DESTDIR)$(initrddir)/$$d; \
|
$(MKDIR_P) $(DESTDIR)$(initrddir)/$$d; \
|
||||||
|
@ -26,9 +21,3 @@ install-initrdSCRIPTS: $(EXTRA_DIST)
|
||||||
cp $(top_builddir)/contrib/initramfs/$$d/zfs \
|
cp $(top_builddir)/contrib/initramfs/$$d/zfs \
|
||||||
$(DESTDIR)$(initrddir)/$$d/; \
|
$(DESTDIR)$(initrddir)/$$d/; \
|
||||||
done
|
done
|
||||||
$(MKDIR_P) $(DESTDIR)$(DEFAULT_INITCONF_DIR); \
|
|
||||||
cp $(top_builddir)/etc/init.d/zfs \
|
|
||||||
$(DESTDIR)$(DEFAULT_INITCONF_DIR)/; \
|
|
||||||
$(MKDIR_P) $(DESTDIR)$(sysconfdir)/zfs; \
|
|
||||||
cp $(top_builddir)/etc/init.d/zfs-functions \
|
|
||||||
$(DESTDIR)$(sysconfdir)/zfs/
|
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
SUBDIRS = zfs sudoers.d $(ZFS_INIT_SYSTEMD) $(ZFS_INIT_SYSV) $(ZFS_MODULE_LOAD)
|
SUBDIRS = default zfs sudoers.d $(ZFS_INIT_SYSTEMD) $(ZFS_INIT_SYSV) $(ZFS_MODULE_LOAD)
|
||||||
DIST_SUBDIRS = init.d zfs systemd modules-load.d sudoers.d
|
DIST_SUBDIRS = default init.d zfs systemd modules-load.d sudoers.d
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
zfs
|
|
@ -0,0 +1,12 @@
|
||||||
|
initconfdir = $(DEFAULT_INITCONF_DIR)
|
||||||
|
initconf_SCRIPTS = zfs
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
$(top_srcdir)/etc/default/zfs.in
|
||||||
|
|
||||||
|
$(initconf_SCRIPTS):%:%.in Makefile
|
||||||
|
$(SED) \
|
||||||
|
-e 's,@sysconfdir\@,$(sysconfdir),g' \
|
||||||
|
$< >'$@'
|
||||||
|
|
||||||
|
CLEANFILES = $(initconf_SCRIPTS)
|
|
@ -1,4 +1,3 @@
|
||||||
zfs-functions
|
|
||||||
zfs-import
|
zfs-import
|
||||||
zfs-mount
|
zfs-mount
|
||||||
zfs-share
|
zfs-share
|
||||||
|
|
|
@ -1,21 +1,15 @@
|
||||||
initdir = $(DEFAULT_INIT_DIR)
|
initdir = $(DEFAULT_INIT_DIR)
|
||||||
init_SCRIPTS = zfs-import zfs-mount zfs-share zfs-zed
|
init_SCRIPTS = zfs-import zfs-mount zfs-share zfs-zed
|
||||||
|
|
||||||
initcommondir = $(sysconfdir)/zfs
|
|
||||||
initcommon_SCRIPTS = zfs-functions
|
|
||||||
|
|
||||||
initconfdir = $(DEFAULT_INITCONF_DIR)
|
initconfdir = $(DEFAULT_INITCONF_DIR)
|
||||||
initconf_SCRIPTS = zfs
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
$(top_srcdir)/etc/init.d/zfs-functions.in \
|
|
||||||
$(top_srcdir)/etc/init.d/zfs-share.in \
|
$(top_srcdir)/etc/init.d/zfs-share.in \
|
||||||
$(top_srcdir)/etc/init.d/zfs-import.in \
|
$(top_srcdir)/etc/init.d/zfs-import.in \
|
||||||
$(top_srcdir)/etc/init.d/zfs-mount.in \
|
$(top_srcdir)/etc/init.d/zfs-mount.in \
|
||||||
$(top_srcdir)/etc/init.d/zfs-zed.in \
|
$(top_srcdir)/etc/init.d/zfs-zed.in
|
||||||
$(top_srcdir)/etc/init.d/zfs.in
|
|
||||||
|
|
||||||
$(init_SCRIPTS) $(initconf_SCRIPTS) $(initcommon_SCRIPTS):%:%.in Makefile
|
$(init_SCRIPTS):%:%.in Makefile
|
||||||
-(if [ -e /etc/debian_version ]; then \
|
-(if [ -e /etc/debian_version ]; then \
|
||||||
NFS_SRV=nfs-kernel-server; \
|
NFS_SRV=nfs-kernel-server; \
|
||||||
else \
|
else \
|
||||||
|
@ -26,7 +20,8 @@ $(init_SCRIPTS) $(initconf_SCRIPTS) $(initcommon_SCRIPTS):%:%.in Makefile
|
||||||
else \
|
else \
|
||||||
SHELL=/bin/sh; \
|
SHELL=/bin/sh; \
|
||||||
fi; \
|
fi; \
|
||||||
$(SED) -e 's,@bindir\@,$(bindir),g' \
|
$(SED) \
|
||||||
|
-e 's,@bindir\@,$(bindir),g' \
|
||||||
-e 's,@sbindir\@,$(sbindir),g' \
|
-e 's,@sbindir\@,$(sbindir),g' \
|
||||||
-e 's,@udevdir\@,$(udevdir),g' \
|
-e 's,@udevdir\@,$(udevdir),g' \
|
||||||
-e 's,@udevruledir\@,$(udevruledir),g' \
|
-e 's,@udevruledir\@,$(udevruledir),g' \
|
||||||
|
@ -37,7 +32,6 @@ $(init_SCRIPTS) $(initconf_SCRIPTS) $(initcommon_SCRIPTS):%:%.in Makefile
|
||||||
-e "s,@SHELL\@,$$SHELL,g" \
|
-e "s,@SHELL\@,$$SHELL,g" \
|
||||||
-e "s,@NFS_SRV\@,$$NFS_SRV,g" \
|
-e "s,@NFS_SRV\@,$$NFS_SRV,g" \
|
||||||
$< >'$@'; \
|
$< >'$@'; \
|
||||||
[ '$@' = 'zfs-functions' -o '$@' = 'zfs' ] || \
|
|
||||||
chmod +x '$@')
|
chmod +x '$@')
|
||||||
|
|
||||||
CLEANFILES = $(init_SCRIPTS) $(initcommon_SCRIPTS) $(initconf_SCRIPTS)
|
CLEANFILES = $(init_SCRIPTS)
|
||||||
|
|
|
@ -35,7 +35,7 @@ SUPPORT
|
||||||
|
|
||||||
If you're making your own distribution and you want the scripts to
|
If you're making your own distribution and you want the scripts to
|
||||||
work on that, the biggest problem you'll (probably) have is the part
|
work on that, the biggest problem you'll (probably) have is the part
|
||||||
at the beginning of the "zfs-functions.in" file which sets up the
|
at the beginning of the "zfs-functions" file which sets up the
|
||||||
logging output.
|
logging output.
|
||||||
|
|
||||||
INSTALLING INIT SCRIPT LINKS
|
INSTALLING INIT SCRIPT LINKS
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
zfs-functions
|
|
@ -6,5 +6,29 @@ pkgsysconf_DATA = \
|
||||||
vdev_id.conf.sas_switch.example \
|
vdev_id.conf.sas_switch.example \
|
||||||
vdev_id.conf.multipath.example \
|
vdev_id.conf.multipath.example \
|
||||||
vdev_id.conf.scsi.example
|
vdev_id.conf.scsi.example
|
||||||
|
pkgsysconf_SCRIPTS = \
|
||||||
|
zfs-functions
|
||||||
|
|
||||||
EXTRA_DIST = $(pkgsysconf_DATA)
|
EXTRA_DIST = $(pkgsysconf_DATA) \
|
||||||
|
zfs-functions.in
|
||||||
|
|
||||||
|
$(pkgsysconf_SCRIPTS):%:%.in Makefile
|
||||||
|
-(if [ -e /etc/debian_version ]; then \
|
||||||
|
NFS_SRV=nfs-kernel-server; \
|
||||||
|
else \
|
||||||
|
NFS_SRV=nfs; \
|
||||||
|
fi; \
|
||||||
|
if [ -e /sbin/openrc-run ]; then \
|
||||||
|
SHELL=/sbin/openrc-run; \
|
||||||
|
else \
|
||||||
|
SHELL=/bin/sh; \
|
||||||
|
fi; \
|
||||||
|
$(SED) \
|
||||||
|
-e 's,@sbindir\@,$(sbindir),g' \
|
||||||
|
-e 's,@sysconfdir\@,$(sysconfdir),g' \
|
||||||
|
-e 's,@initconfdir\@,$(initconfdir),g' \
|
||||||
|
$< >'$@'; \
|
||||||
|
[ '$@' = 'zfs-functions' ] || \
|
||||||
|
chmod +x '$@')
|
||||||
|
|
||||||
|
CLEANFILES = $(pkgsysconf_SCRIPTS)
|
||||||
|
|
Loading…
Reference in New Issue