aboutsummaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorRichard Laager <[email protected]>2020-02-06 09:28:20 -0800
committerBrian Behlendorf <[email protected]>2020-03-10 09:53:20 -0700
commit5ecbb293c64ee88257e1e21fa155cf75fdd8cbd8 (patch)
treec6459ba5632f184821d137f66a5873d21a052003 /etc
parent01243e72a5d7144345a9c13ab4455a52003fc0af (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.am4
-rw-r--r--etc/default/.gitignore1
-rw-r--r--etc/default/Makefile.am12
-rw-r--r--etc/default/zfs.in (renamed from etc/init.d/zfs.in)0
-rw-r--r--etc/init.d/.gitignore1
-rw-r--r--etc/init.d/Makefile.am16
-rw-r--r--etc/init.d/README.md2
-rw-r--r--etc/zfs/.gitignore1
-rw-r--r--etc/zfs/Makefile.am26
-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