From aa2b4896c93bbb2652ddc5e10e66175e54ff56c8 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Tue, 9 Aug 2011 16:49:18 -0700 Subject: [PATCH] Fix autoconf variable substitution in init scripts. Change the variable substitution in the init script templates according to the method described in the Autoconf manual; Chapter 4.7.2: Installation Directory Variables. Signed-off-by: Brian Behlendorf --- configure | 8 +-- configure.ac | 6 --- etc/init.d/.gitignore | 7 +-- etc/init.d/Makefile.am | 25 +++++++-- etc/init.d/Makefile.in | 137 ++++++++++++++++++++++++++++++++++------------- etc/init.d/zfs.arch.in | 2 +- etc/init.d/zfs.fedora.in | 2 +- etc/init.d/zfs.gentoo.in | 2 +- etc/init.d/zfs.lsb.in | 2 +- etc/init.d/zfs.lunar.in | 2 +- etc/init.d/zfs.redhat.in | 2 +- 11 files changed, 129 insertions(+), 66 deletions(-) diff --git a/configure b/configure index 8640242..d97d1ca 100755 --- a/configure +++ b/configure @@ -20744,7 +20744,7 @@ fi $as_echo "$enable_debug" >&6; } -ac_config_files="$ac_config_files Makefile dracut/Makefile dracut/90zfs/Makefile udev/Makefile udev/rules.d/Makefile etc/Makefile etc/init.d/Makefile etc/init.d/zfs.arch etc/init.d/zfs.gentoo etc/init.d/zfs.lunar etc/init.d/zfs.fedora etc/init.d/zfs.lsb etc/init.d/zfs.redhat etc/zfs/Makefile man/Makefile man/man8/Makefile lib/Makefile lib/libspl/Makefile lib/libspl/asm-generic/Makefile lib/libspl/asm-i386/Makefile lib/libspl/asm-x86_64/Makefile lib/libspl/include/Makefile lib/libspl/include/ia32/Makefile lib/libspl/include/ia32/sys/Makefile lib/libspl/include/rpc/Makefile lib/libspl/include/sys/Makefile lib/libspl/include/sys/sysevent/Makefile lib/libspl/include/sys/dktp/Makefile lib/libspl/include/util/Makefile lib/libavl/Makefile lib/libefi/Makefile lib/libnvpair/Makefile lib/libunicode/Makefile lib/libuutil/Makefile lib/libzpool/Makefile lib/libzfs/Makefile lib/libshare/Makefile cmd/Makefile cmd/zdb/Makefile cmd/zfs/Makefile cmd/zinject/Makefile cmd/zpool/Makefile cmd/ztest/Makefile cmd/zpios/Makefile cmd/mount_zfs/Makefile cmd/zpool_layout/Makefile cmd/zvol_id/Makefile cmd/zpool_id/Makefile cmd/sas_switch_id/Makefile module/Makefile module/avl/Makefile module/nvpair/Makefile module/unicode/Makefile module/zcommon/Makefile module/zfs/Makefile module/zpios/Makefile include/Makefile include/linux/Makefile include/sys/Makefile include/sys/fs/Makefile include/sys/fm/Makefile include/sys/fm/fs/Makefile scripts/Makefile scripts/zpios-profile/Makefile scripts/zpios-test/Makefile scripts/zpool-config/Makefile scripts/zpool-layout/Makefile scripts/common.sh zfs.spec zfs-modules.spec zfs-script-config.sh" +ac_config_files="$ac_config_files Makefile dracut/Makefile dracut/90zfs/Makefile udev/Makefile udev/rules.d/Makefile etc/Makefile etc/init.d/Makefile etc/zfs/Makefile man/Makefile man/man8/Makefile lib/Makefile lib/libspl/Makefile lib/libspl/asm-generic/Makefile lib/libspl/asm-i386/Makefile lib/libspl/asm-x86_64/Makefile lib/libspl/include/Makefile lib/libspl/include/ia32/Makefile lib/libspl/include/ia32/sys/Makefile lib/libspl/include/rpc/Makefile lib/libspl/include/sys/Makefile lib/libspl/include/sys/sysevent/Makefile lib/libspl/include/sys/dktp/Makefile lib/libspl/include/util/Makefile lib/libavl/Makefile lib/libefi/Makefile lib/libnvpair/Makefile lib/libunicode/Makefile lib/libuutil/Makefile lib/libzpool/Makefile lib/libzfs/Makefile lib/libshare/Makefile cmd/Makefile cmd/zdb/Makefile cmd/zfs/Makefile cmd/zinject/Makefile cmd/zpool/Makefile cmd/ztest/Makefile cmd/zpios/Makefile cmd/mount_zfs/Makefile cmd/zpool_layout/Makefile cmd/zvol_id/Makefile cmd/zpool_id/Makefile cmd/sas_switch_id/Makefile module/Makefile module/avl/Makefile module/nvpair/Makefile module/unicode/Makefile module/zcommon/Makefile module/zfs/Makefile module/zpios/Makefile include/Makefile include/linux/Makefile include/sys/Makefile include/sys/fs/Makefile include/sys/fm/Makefile include/sys/fm/fs/Makefile scripts/Makefile scripts/zpios-profile/Makefile scripts/zpios-test/Makefile scripts/zpool-config/Makefile scripts/zpool-layout/Makefile scripts/common.sh zfs.spec zfs-modules.spec zfs-script-config.sh" cat >confcache <<\_ACEOF @@ -21667,12 +21667,6 @@ do "udev/rules.d/Makefile") CONFIG_FILES="$CONFIG_FILES udev/rules.d/Makefile" ;; "etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;; "etc/init.d/Makefile") CONFIG_FILES="$CONFIG_FILES etc/init.d/Makefile" ;; - "etc/init.d/zfs.arch") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.arch" ;; - "etc/init.d/zfs.gentoo") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.gentoo" ;; - "etc/init.d/zfs.lunar") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.lunar" ;; - "etc/init.d/zfs.fedora") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.fedora" ;; - "etc/init.d/zfs.lsb") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.lsb" ;; - "etc/init.d/zfs.redhat") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.redhat" ;; "etc/zfs/Makefile") CONFIG_FILES="$CONFIG_FILES etc/zfs/Makefile" ;; "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; "man/man8/Makefile") CONFIG_FILES="$CONFIG_FILES man/man8/Makefile" ;; diff --git a/configure.ac b/configure.ac index 8b0f1d5..c84d60d 100644 --- a/configure.ac +++ b/configure.ac @@ -61,12 +61,6 @@ AC_CONFIG_FILES([ udev/rules.d/Makefile etc/Makefile etc/init.d/Makefile - etc/init.d/zfs.arch - etc/init.d/zfs.gentoo - etc/init.d/zfs.lunar - etc/init.d/zfs.fedora - etc/init.d/zfs.lsb - etc/init.d/zfs.redhat etc/zfs/Makefile man/Makefile man/man8/Makefile diff --git a/etc/init.d/.gitignore b/etc/init.d/.gitignore index 601a25a..73304bc 100644 --- a/etc/init.d/.gitignore +++ b/etc/init.d/.gitignore @@ -1,6 +1 @@ -zfs.arch -zfs.fedora -zfs.gentoo -zfs.lsb -zfs.lunar -zfs.redhat +zfs diff --git a/etc/init.d/Makefile.am b/etc/init.d/Makefile.am index 00bb268..94a2168 100644 --- a/etc/init.d/Makefile.am +++ b/etc/init.d/Makefile.am @@ -1,5 +1,22 @@ -EXTRA_DIST = zfs.fedora zfs.gentoo zfs.lsb zfs.lunar zfs.redhat zfs.arch +initdir = $(DEFAULT_INIT_DIR) +init_SCRIPTS = zfs -install-data-local: - @instdest=$(DESTDIR)$(DEFAULT_INIT_DIR)/zfs; \ - $(INSTALL) -TD zfs.$(DEFAULT_INIT_SCRIPT) $$instdest +EXTRA_DIST = \ + $(top_srcdir)/etc/init.d/zfs.fedora.in \ + $(top_srcdir)/etc/init.d/zfs.gentoo.in \ + $(top_srcdir)/etc/init.d/zfs.lsb.in \ + $(top_srcdir)/etc/init.d/zfs.lunar.in \ + $(top_srcdir)/etc/init.d/zfs.redhat.in \ + $(top_srcdir)/etc/init.d/zfs.arch.in + +$(init_SCRIPTS): + -$(SED) -e 's,@bindir\@,$(bindir),g' \ + -e 's,@sbindir\@,$(sbindir),g' \ + -e 's,@udevdir\@,$(udevdir),g' \ + -e 's,@udevruledir\@,$(udevruledir),g' \ + -e 's,@sysconfdir\@,$(sysconfdir),g' \ + -e 's,@initdir\@,$(initdir),g' \ + 'zfs.$(DEFAULT_INIT_SCRIPT).in' >'$@' + +distclean-local:: + -$(RM) $(init_SCRIPTS) diff --git a/etc/init.d/Makefile.in b/etc/init.d/Makefile.in index 6ca2e27..32c73dc 100644 --- a/etc/init.d/Makefile.in +++ b/etc/init.d/Makefile.in @@ -14,6 +14,7 @@ # PARTICULAR PURPOSE. @SET_MAKE@ + VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ @@ -35,10 +36,7 @@ build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = etc/init.d -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/zfs.arch.in $(srcdir)/zfs.fedora.in \ - $(srcdir)/zfs.gentoo.in $(srcdir)/zfs.lsb.in \ - $(srcdir)/zfs.lunar.in $(srcdir)/zfs.redhat.in +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = \ $(top_srcdir)/config/always-no-unused-but-set-variable.m4 \ @@ -88,9 +86,31 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/zfs_config.h -CONFIG_CLEAN_FILES = zfs.arch zfs.gentoo zfs.lunar zfs.fedora zfs.lsb \ - zfs.redhat +CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__installdirs = "$(DESTDIR)$(initdir)" +SCRIPTS = $(init_SCRIPTS) AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; @@ -270,7 +290,16 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ udevdir = @udevdir@ udevruledir = @udevruledir@ -EXTRA_DIST = zfs.fedora zfs.gentoo zfs.lsb zfs.lunar zfs.redhat zfs.arch +initdir = $(DEFAULT_INIT_DIR) +init_SCRIPTS = zfs +EXTRA_DIST = \ + $(top_srcdir)/etc/init.d/zfs.fedora.in \ + $(top_srcdir)/etc/init.d/zfs.gentoo.in \ + $(top_srcdir)/etc/init.d/zfs.lsb.in \ + $(top_srcdir)/etc/init.d/zfs.lunar.in \ + $(top_srcdir)/etc/init.d/zfs.redhat.in \ + $(top_srcdir)/etc/init.d/zfs.arch.in + all: all-am .SUFFIXES: @@ -304,18 +333,40 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): -zfs.arch: $(top_builddir)/config.status $(srcdir)/zfs.arch.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -zfs.gentoo: $(top_builddir)/config.status $(srcdir)/zfs.gentoo.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -zfs.lunar: $(top_builddir)/config.status $(srcdir)/zfs.lunar.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -zfs.fedora: $(top_builddir)/config.status $(srcdir)/zfs.fedora.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -zfs.lsb: $(top_builddir)/config.status $(srcdir)/zfs.lsb.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -zfs.redhat: $(top_builddir)/config.status $(srcdir)/zfs.redhat.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +install-initSCRIPTS: $(init_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(initdir)" || $(MKDIR_P) "$(DESTDIR)$(initdir)" + @list='$(init_SCRIPTS)'; test -n "$(initdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n' \ + -e 'h;s|.*|.|' \ + -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) { files[d] = files[d] " " $$1; \ + if (++n[d] == $(am__install_max)) { \ + print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ + else { print "f", d "/" $$4, $$1 } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(initdir)$$dir'"; \ + $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(initdir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-initSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(init_SCRIPTS)'; test -n "$(initdir)" || exit 0; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 's,.*/,,;$(transform)'`; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(initdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(initdir)" && rm -f $$files mostlyclean-libtool: -rm -f *.lo @@ -361,8 +412,11 @@ distdir: $(DISTFILES) done check-am: all-am check: check-am -all-am: Makefile +all-am: Makefile $(SCRIPTS) installdirs: + for dir in "$(DESTDIR)$(initdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -394,7 +448,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic +distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am @@ -408,7 +462,7 @@ info: info-am info-am: -install-data-am: install-data-local +install-data-am: install-initSCRIPTS install-dvi: install-dvi-am @@ -452,26 +506,35 @@ ps: ps-am ps-am: -uninstall-am: +uninstall-am: uninstall-initSCRIPTS .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-data-local install-dvi \ + distclean distclean-generic distclean-libtool distclean-local \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am - - -install-data-local: - @instdest=$(DESTDIR)$(DEFAULT_INIT_DIR)/zfs; \ - $(INSTALL) -TD zfs.$(DEFAULT_INIT_SCRIPT) $$instdest + install-html-am install-info install-info-am \ + install-initSCRIPTS install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-initSCRIPTS + + +$(init_SCRIPTS): + -$(SED) -e 's,@bindir\@,$(bindir),g' \ + -e 's,@sbindir\@,$(sbindir),g' \ + -e 's,@udevdir\@,$(udevdir),g' \ + -e 's,@udevruledir\@,$(udevruledir),g' \ + -e 's,@sysconfdir\@,$(sysconfdir),g' \ + -e 's,@initdir\@,$(initdir),g' \ + 'zfs.$(DEFAULT_INIT_SCRIPT).in' >'$@' + +distclean-local:: + -$(RM) $(init_SCRIPTS) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/etc/init.d/zfs.arch.in b/etc/init.d/zfs.arch.in index de2ea8a..9fa7cb4 100644 --- a/etc/init.d/zfs.arch.in +++ b/etc/init.d/zfs.arch.in @@ -5,7 +5,7 @@ ZFS="@sbindir@/zfs" ZPOOL="@sbindir@/zpool" -ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache" +ZPOOL_CACHE="@initdir@/zpool.cache" case "$1" in start) diff --git a/etc/init.d/zfs.fedora.in b/etc/init.d/zfs.fedora.in index 04f2077..1583a10 100644 --- a/etc/init.d/zfs.fedora.in +++ b/etc/init.d/zfs.fedora.in @@ -32,7 +32,7 @@ export PATH=/usr/local/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin RETVAL=0 ZFS="@sbindir@/zfs" ZPOOL="@sbindir@/zpool" -ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache" +ZPOOL_CACHE="@initdir@/zpool.cache" servicename=zfs LOCKFILE=/var/lock/subsys/$servicename diff --git a/etc/init.d/zfs.gentoo.in b/etc/init.d/zfs.gentoo.in index 767aba8..31a539c 100644 --- a/etc/init.d/zfs.gentoo.in +++ b/etc/init.d/zfs.gentoo.in @@ -13,7 +13,7 @@ depend() ZFS="@sbindir@/zfs" ZPOOL="@sbindir@/zpool" -ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache" +ZPOOL_CACHE="@initdir@/zpool.cache" ZFS_MODULE=zfs checksystem() { diff --git a/etc/init.d/zfs.lsb.in b/etc/init.d/zfs.lsb.in index c781f05..675effe 100644 --- a/etc/init.d/zfs.lsb.in +++ b/etc/init.d/zfs.lsb.in @@ -33,7 +33,7 @@ RETVAL=0 LOCKFILE=/var/lock/zfs ZFS="@sbindir@/zfs" ZPOOL="@sbindir@/zpool" -ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache" +ZPOOL_CACHE="@initdir@/zpool.cache" [ -x $ZPOOL ] || exit 1 [ -x $ZFS ] || exit 2 diff --git a/etc/init.d/zfs.lunar.in b/etc/init.d/zfs.lunar.in index 97384dc..22df3d2 100644 --- a/etc/init.d/zfs.lunar.in +++ b/etc/init.d/zfs.lunar.in @@ -12,7 +12,7 @@ ZFS="@sbindir@/zfs" ZPOOL="@sbindir@/zpool" -ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache" +ZPOOL_CACHE="@initdir@/zpool.cache" case $1 in start) echo "$1ing ZFS filesystems" diff --git a/etc/init.d/zfs.redhat.in b/etc/init.d/zfs.redhat.in index ae797c1..2b48e95 100644 --- a/etc/init.d/zfs.redhat.in +++ b/etc/init.d/zfs.redhat.in @@ -32,7 +32,7 @@ export PATH=/usr/local/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin RETVAL=0 ZFS="@sbindir@/zfs" ZPOOL="@sbindir@/zpool" -ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache" +ZPOOL_CACHE="@initdir@/zpool.cache" servicename=zfs LOCKFILE=/var/lock/subsys/$servicename -- 1.8.3.1