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/rules.d/Makefile
|
||||
etc/Makefile
|
||||
etc/default/Makefile
|
||||
etc/init.d/Makefile
|
||||
etc/zfs/Makefile
|
||||
etc/systemd/Makefile
|
||||
|
|
|
@ -6,15 +6,10 @@ initrd_SCRIPTS = \
|
|||
SUBDIRS = hooks scripts
|
||||
|
||||
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-hooks.d/zfs \
|
||||
$(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)
|
||||
for d in conf.d conf-hooks.d scripts/local-top; do \
|
||||
$(MKDIR_P) $(DESTDIR)$(initrddir)/$$d; \
|
||||
|
@ -26,9 +21,3 @@ install-initrdSCRIPTS: $(EXTRA_DIST)
|
|||
cp $(top_builddir)/contrib/initramfs/$$d/zfs \
|
||||
$(DESTDIR)$(initrddir)/$$d/; \
|
||||
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)
|
||||
DIST_SUBDIRS = init.d zfs systemd modules-load.d sudoers.d
|
||||
SUBDIRS = default zfs sudoers.d $(ZFS_INIT_SYSTEMD) $(ZFS_INIT_SYSV) $(ZFS_MODULE_LOAD)
|
||||
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-mount
|
||||
zfs-share
|
||||
|
|
|
@ -1,21 +1,15 @@
|
|||
initdir = $(DEFAULT_INIT_DIR)
|
||||
init_SCRIPTS = zfs-import zfs-mount zfs-share zfs-zed
|
||||
|
||||
initcommondir = $(sysconfdir)/zfs
|
||||
initcommon_SCRIPTS = zfs-functions
|
||||
|
||||
initconfdir = $(DEFAULT_INITCONF_DIR)
|
||||
initconf_SCRIPTS = zfs
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(top_srcdir)/etc/init.d/zfs-functions.in \
|
||||
$(top_srcdir)/etc/init.d/zfs-share.in \
|
||||
$(top_srcdir)/etc/init.d/zfs-import.in \
|
||||
$(top_srcdir)/etc/init.d/zfs-mount.in \
|
||||
$(top_srcdir)/etc/init.d/zfs-zed.in \
|
||||
$(top_srcdir)/etc/init.d/zfs.in
|
||||
$(top_srcdir)/etc/init.d/zfs-zed.in
|
||||
|
||||
$(init_SCRIPTS) $(initconf_SCRIPTS) $(initcommon_SCRIPTS):%:%.in Makefile
|
||||
$(init_SCRIPTS):%:%.in Makefile
|
||||
-(if [ -e /etc/debian_version ]; then \
|
||||
NFS_SRV=nfs-kernel-server; \
|
||||
else \
|
||||
|
@ -26,7 +20,8 @@ $(init_SCRIPTS) $(initconf_SCRIPTS) $(initcommon_SCRIPTS):%:%.in Makefile
|
|||
else \
|
||||
SHELL=/bin/sh; \
|
||||
fi; \
|
||||
$(SED) -e 's,@bindir\@,$(bindir),g' \
|
||||
$(SED) \
|
||||
-e 's,@bindir\@,$(bindir),g' \
|
||||
-e 's,@sbindir\@,$(sbindir),g' \
|
||||
-e 's,@udevdir\@,$(udevdir),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,@NFS_SRV\@,$$NFS_SRV,g" \
|
||||
$< >'$@'; \
|
||||
[ '$@' = 'zfs-functions' -o '$@' = 'zfs' ] || \
|
||||
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
|
||||
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.
|
||||
|
||||
INSTALLING INIT SCRIPT LINKS
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
zfs-functions
|
|
@ -6,5 +6,29 @@ pkgsysconf_DATA = \
|
|||
vdev_id.conf.sas_switch.example \
|
||||
vdev_id.conf.multipath.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