diff options
author | Richard Laager <[email protected]> | 2020-02-06 09:28:20 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2020-03-10 09:53:20 -0700 |
commit | 5ecbb293c64ee88257e1e21fa155cf75fdd8cbd8 (patch) | |
tree | c6459ba5632f184821d137f66a5873d21a052003 /etc | |
parent | 01243e72a5d7144345a9c13ab4455a52003fc0af (diff) |
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 <[email protected]>
Signed-off-by: Richard Laager <[email protected]>
Diffstat (limited to 'etc')
-rw-r--r-- | etc/Makefile.am | 4 | ||||
-rw-r--r-- | etc/default/.gitignore | 1 | ||||
-rw-r--r-- | etc/default/Makefile.am | 12 | ||||
-rw-r--r-- | etc/default/zfs.in (renamed from etc/init.d/zfs.in) | 0 | ||||
-rw-r--r-- | etc/init.d/.gitignore | 1 | ||||
-rw-r--r-- | etc/init.d/Makefile.am | 16 | ||||
-rw-r--r-- | etc/init.d/README.md | 2 | ||||
-rw-r--r-- | etc/zfs/.gitignore | 1 | ||||
-rw-r--r-- | etc/zfs/Makefile.am | 26 | ||||
-rw-r--r-- | etc/zfs/zfs-functions.in (renamed from etc/init.d/zfs-functions.in) | 0 |
10 files changed, 47 insertions, 16 deletions
diff --git a/etc/Makefile.am b/etc/Makefile.am index 28b955106..67ef94a20 100644 --- a/etc/Makefile.am +++ b/etc/Makefile.am @@ -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 diff --git a/etc/default/.gitignore b/etc/default/.gitignore new file mode 100644 index 000000000..73304bc2c --- /dev/null +++ b/etc/default/.gitignore @@ -0,0 +1 @@ +zfs diff --git a/etc/default/Makefile.am b/etc/default/Makefile.am new file mode 100644 index 000000000..f35abd8e5 --- /dev/null +++ b/etc/default/Makefile.am @@ -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) diff --git a/etc/init.d/zfs.in b/etc/default/zfs.in index 42fc1161c..42fc1161c 100644 --- a/etc/init.d/zfs.in +++ b/etc/default/zfs.in diff --git a/etc/init.d/.gitignore b/etc/init.d/.gitignore index 3f16b08ec..43a673d55 100644 --- a/etc/init.d/.gitignore +++ b/etc/init.d/.gitignore @@ -1,4 +1,3 @@ -zfs-functions zfs-import zfs-mount zfs-share diff --git a/etc/init.d/Makefile.am b/etc/init.d/Makefile.am index 953c31fd5..19fa76a2b 100644 --- a/etc/init.d/Makefile.am +++ b/etc/init.d/Makefile.am @@ -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) diff --git a/etc/init.d/README.md b/etc/init.d/README.md index 89edb1da3..ad7c053aa 100644 --- a/etc/init.d/README.md +++ b/etc/init.d/README.md @@ -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 diff --git a/etc/zfs/.gitignore b/etc/zfs/.gitignore new file mode 100644 index 000000000..1b2d752de --- /dev/null +++ b/etc/zfs/.gitignore @@ -0,0 +1 @@ +zfs-functions diff --git a/etc/zfs/Makefile.am b/etc/zfs/Makefile.am index 52f6634df..81567a4fa 100644 --- a/etc/zfs/Makefile.am +++ b/etc/zfs/Makefile.am @@ -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) diff --git a/etc/init.d/zfs-functions.in b/etc/zfs/zfs-functions.in index 043f1b073..043f1b073 100644 --- a/etc/init.d/zfs-functions.in +++ b/etc/zfs/zfs-functions.in |