From f0102d6e75d51b8d92624ba054a3fa54c807fb7f Mon Sep 17 00:00:00 2001 From: Kyle Fuller Date: Tue, 9 Aug 2011 22:39:47 +0100 Subject: [PATCH] Make dracut module-setup.sh an autoconf config file This ensures that module-setup.sh script will always be able to install the required dracut components regardless of how the zfs package was configured. Signed-off-by: Brian Behlendorf --- dracut/90zfs/.gitignore | 3 + dracut/90zfs/Makefile.am | 32 +++++----- dracut/90zfs/Makefile.in | 68 +++++++++++----------- .../90zfs/{module-setup.sh => module-setup.sh.in} | 22 +++---- dracut/90zfs/{mount-zfs.sh => mount-zfs.sh.in} | 0 dracut/90zfs/{parse-zfs.sh => parse-zfs.sh.in} | 0 6 files changed, 62 insertions(+), 63 deletions(-) create mode 100644 dracut/90zfs/.gitignore rename dracut/90zfs/{module-setup.sh => module-setup.sh.in} (59%) rename dracut/90zfs/{mount-zfs.sh => mount-zfs.sh.in} (100%) rename dracut/90zfs/{parse-zfs.sh => parse-zfs.sh.in} (100%) diff --git a/dracut/90zfs/.gitignore b/dracut/90zfs/.gitignore new file mode 100644 index 0000000..6f4a5ae --- /dev/null +++ b/dracut/90zfs/.gitignore @@ -0,0 +1,3 @@ +module-setup.sh +mount-zfs.sh +parse-zfs.sh diff --git a/dracut/90zfs/Makefile.am b/dracut/90zfs/Makefile.am index 44aaf61..4112061 100644 --- a/dracut/90zfs/Makefile.am +++ b/dracut/90zfs/Makefile.am @@ -1,23 +1,21 @@ pkgdracutdir = $(datadir)/dracut/modules.d/90zfs -dist_pkgdracut_SCRIPTS = \ +pkgdracut_SCRIPTS = \ $(top_srcdir)/dracut/90zfs/module-setup.sh \ $(top_srcdir)/dracut/90zfs/mount-zfs.sh \ $(top_srcdir)/dracut/90zfs/parse-zfs.sh -all: - @list='$(dist_pkgdracut_SCRIPTS)'; \ - for file in $$list; do \ - link=$$(basename $$file); \ - if [ ! -e $$link ]; then \ - $(LN_S) $$file $$link; \ - fi \ - done +EXTRA_DIST = \ + $(top_srcdir)/dracut/90zfs/module-setup.sh.in \ + $(top_srcdir)/dracut/90zfs/mount-zfs.sh.in \ + $(top_srcdir)/dracut/90zfs/parse-zfs.sh.in -clean: - @list='$(dist_pkgdracut_SCRIPTS)'; \ - for file in $$list; do \ - link=$$(basename $$file); \ - if [ -L $$link ]; then \ - $(RM) $$link; \ - fi \ - done +$(pkgdracut_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' \ + '$@.in' >'$@' + +distclean-local:: + -$(RM) $(pkgdracut_SCRIPTS) diff --git a/dracut/90zfs/Makefile.in b/dracut/90zfs/Makefile.in index 0093130..905ab50 100644 --- a/dracut/90zfs/Makefile.in +++ b/dracut/90zfs/Makefile.in @@ -36,8 +36,7 @@ build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = dracut/90zfs -DIST_COMMON = $(dist_pkgdracut_SCRIPTS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.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 \ @@ -111,7 +110,7 @@ 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)$(pkgdracutdir)" -SCRIPTS = $(dist_pkgdracut_SCRIPTS) +SCRIPTS = $(pkgdracut_SCRIPTS) AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; @@ -292,11 +291,16 @@ top_srcdir = @top_srcdir@ udevdir = @udevdir@ udevruledir = @udevruledir@ pkgdracutdir = $(datadir)/dracut/modules.d/90zfs -dist_pkgdracut_SCRIPTS = \ +pkgdracut_SCRIPTS = \ $(top_srcdir)/dracut/90zfs/module-setup.sh \ $(top_srcdir)/dracut/90zfs/mount-zfs.sh \ $(top_srcdir)/dracut/90zfs/parse-zfs.sh +EXTRA_DIST = \ + $(top_srcdir)/dracut/90zfs/module-setup.sh.in \ + $(top_srcdir)/dracut/90zfs/mount-zfs.sh.in \ + $(top_srcdir)/dracut/90zfs/parse-zfs.sh.in + all: all-am .SUFFIXES: @@ -330,10 +334,10 @@ $(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): -install-dist_pkgdracutSCRIPTS: $(dist_pkgdracut_SCRIPTS) +install-pkgdracutSCRIPTS: $(pkgdracut_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(pkgdracutdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdracutdir)" - @list='$(dist_pkgdracut_SCRIPTS)'; test -n "$(pkgdracutdir)" || list=; \ + @list='$(pkgdracut_SCRIPTS)'; test -n "$(pkgdracutdir)" || 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; \ @@ -356,9 +360,9 @@ install-dist_pkgdracutSCRIPTS: $(dist_pkgdracut_SCRIPTS) } \ ; done -uninstall-dist_pkgdracutSCRIPTS: +uninstall-pkgdracutSCRIPTS: @$(NORMAL_UNINSTALL) - @list='$(dist_pkgdracut_SCRIPTS)'; test -n "$(pkgdracutdir)" || exit 0; \ + @list='$(pkgdracut_SCRIPTS)'; test -n "$(pkgdracutdir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ test -n "$$list" || exit 0; \ @@ -439,11 +443,13 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + 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 @@ -457,7 +463,7 @@ info: info-am info-am: -install-data-am: install-dist_pkgdracutSCRIPTS +install-data-am: install-pkgdracutSCRIPTS install-dvi: install-dvi-am @@ -501,41 +507,33 @@ ps: ps-am ps-am: -uninstall-am: uninstall-dist_pkgdracutSCRIPTS +uninstall-am: uninstall-pkgdracutSCRIPTS .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-dist_pkgdracutSCRIPTS \ - 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 \ + 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-pkgdracutSCRIPTS 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-dist_pkgdracutSCRIPTS + ps ps-am uninstall uninstall-am uninstall-pkgdracutSCRIPTS -all: - @list='$(dist_pkgdracut_SCRIPTS)'; \ - for file in $$list; do \ - link=$$(basename $$file); \ - if [ ! -e $$link ]; then \ - $(LN_S) $$file $$link; \ - fi \ - done +$(pkgdracut_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' \ + '$@.in' >'$@' -clean: - @list='$(dist_pkgdracut_SCRIPTS)'; \ - for file in $$list; do \ - link=$$(basename $$file); \ - if [ -L $$link ]; then \ - $(RM) $$link; \ - fi \ - done +distclean-local:: + -$(RM) $(pkgdracut_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/dracut/90zfs/module-setup.sh b/dracut/90zfs/module-setup.sh.in similarity index 59% rename from dracut/90zfs/module-setup.sh rename to dracut/90zfs/module-setup.sh.in index 23735e3..33f78e5 100755 --- a/dracut/90zfs/module-setup.sh +++ b/dracut/90zfs/module-setup.sh.in @@ -28,17 +28,17 @@ installkernel() { } install() { - inst_rules /lib/udev/rules.d/90-zfs.rules - inst_rules /lib/udev/rules.d/60-zpool.rules - inst_rules /lib/udev/rules.d/60-zvol.rules - inst /etc/zfs/zdev.conf - inst /etc/zfs/zpool.cache - inst /etc/hostid - dracut_install zfs - dracut_install zpool - dracut_install zpool_layout - dracut_install zpool_id - dracut_install zvol_id + inst_rules @udevruledir@/90-zfs.rules + inst_rules @udevruledir@/60-zpool.rules + inst_rules @udevruledir@/60-zvol.rules + inst @sysconfdir@/zfs/zdev.conf + inst @sysconfdir@/zfs/zpool.cache + inst @sysconfdir@/hostid + dracut_install @sbindir@/zfs + dracut_install @sbindir@/zpool + dracut_install @bindir@/zpool_layout + dracut_install @udevdir@/zpool_id + dracut_install @udevdir@/zvol_id dracut_install mount.zfs dracut_install hostid inst_hook cmdline 95 "$moddir/parse-zfs.sh" diff --git a/dracut/90zfs/mount-zfs.sh b/dracut/90zfs/mount-zfs.sh.in similarity index 100% rename from dracut/90zfs/mount-zfs.sh rename to dracut/90zfs/mount-zfs.sh.in diff --git a/dracut/90zfs/parse-zfs.sh b/dracut/90zfs/parse-zfs.sh.in similarity index 100% rename from dracut/90zfs/parse-zfs.sh rename to dracut/90zfs/parse-zfs.sh.in -- 1.8.3.1