From 4cfd339ce4ae1fb199fad04ff826e67b221cfb41 Mon Sep 17 00:00:00 2001 From: Richard Laager Date: Sat, 2 May 2020 18:46:46 -0500 Subject: [PATCH] Cleanup contrib/initramfs automake The initramfs hook scripts depend on Makefile. This way, if the substitution code is changed, they should update. This brings it in line with etc/init.d (which was modified to match the example in the automake docs). The initramfs hook script cleaning now matches etc/init.d. There was a mix of SUBDIRS recursion and custom install rules for files in subdirectories. This was duplicated for the "hooks" and "scripts" subdirectories. Now everything uses SUBDIRS. I fixed the substitution of DEFAULT_INITCONF_DIR for hooks/zfs. Reviewed-By: Andrey Prokopenko Reviewed-By: Brian Behlendorf Reviewed-By: Tom Caputi Signed-off-by: Richard Laager Closes #10027 --- configure.ac | 2 ++ contrib/initramfs/Makefile.am | 19 +------------------ contrib/initramfs/conf-hooks.d/Makefile.am | 4 ++++ contrib/initramfs/conf.d/Makefile.am | 4 ++++ contrib/initramfs/hooks/Makefile.am | 11 +++-------- .../initramfs/scripts/local-top/Makefile.am | 3 ++- 6 files changed, 16 insertions(+), 27 deletions(-) create mode 100644 contrib/initramfs/conf-hooks.d/Makefile.am create mode 100644 contrib/initramfs/conf.d/Makefile.am diff --git a/configure.ac b/configure.ac index 902108f364..9f20b2bea1 100644 --- a/configure.ac +++ b/configure.ac @@ -92,6 +92,8 @@ AC_CONFIG_FILES([ contrib/dracut/90zfs/Makefile contrib/dracut/Makefile contrib/initramfs/Makefile + contrib/initramfs/conf.d/Makefile + contrib/initramfs/conf-hooks.d/Makefile contrib/initramfs/hooks/Makefile contrib/initramfs/scripts/Makefile contrib/initramfs/scripts/local-top/Makefile diff --git a/contrib/initramfs/Makefile.am b/contrib/initramfs/Makefile.am index 849b1d83cc..7d85973129 100644 --- a/contrib/initramfs/Makefile.am +++ b/contrib/initramfs/Makefile.am @@ -1,23 +1,6 @@ initrddir = /usr/share/initramfs-tools -initrd_SCRIPTS = \ - conf.d/zfs conf-hooks.d/zfs hooks/zfs scripts/zfs scripts/local-top/zfs - -SUBDIRS = hooks scripts +SUBDIRS = conf.d conf-hooks.d hooks scripts EXTRA_DIST = \ - $(top_srcdir)/contrib/initramfs/conf.d/zfs \ - $(top_srcdir)/contrib/initramfs/conf-hooks.d/zfs \ $(top_srcdir)/contrib/initramfs/README.initramfs.markdown - -install-initrdSCRIPTS: $(EXTRA_DIST) - for d in conf.d conf-hooks.d scripts/local-top; do \ - $(MKDIR_P) $(DESTDIR)$(initrddir)/$$d; \ - cp $(top_srcdir)/contrib/initramfs/$$d/zfs \ - $(DESTDIR)$(initrddir)/$$d/; \ - done - for d in hooks scripts; do \ - $(MKDIR_P) $(DESTDIR)$(initrddir)/$$d; \ - cp $(top_builddir)/contrib/initramfs/$$d/zfs \ - $(DESTDIR)$(initrddir)/$$d/; \ - done diff --git a/contrib/initramfs/conf-hooks.d/Makefile.am b/contrib/initramfs/conf-hooks.d/Makefile.am new file mode 100644 index 0000000000..f84ba5cc7e --- /dev/null +++ b/contrib/initramfs/conf-hooks.d/Makefile.am @@ -0,0 +1,4 @@ +confhooksddir = /usr/share/initramfs-tools/conf-hooks.d + +dist_confhooksd_DATA = \ + zfs diff --git a/contrib/initramfs/conf.d/Makefile.am b/contrib/initramfs/conf.d/Makefile.am new file mode 100644 index 0000000000..5ef27e0aa1 --- /dev/null +++ b/contrib/initramfs/conf.d/Makefile.am @@ -0,0 +1,4 @@ +confddir = /usr/share/initramfs-tools/conf.d + +dist_confd_DATA = \ + zfs diff --git a/contrib/initramfs/hooks/Makefile.am b/contrib/initramfs/hooks/Makefile.am index 3d8ef627ed..d768454943 100644 --- a/contrib/initramfs/hooks/Makefile.am +++ b/contrib/initramfs/hooks/Makefile.am @@ -6,18 +6,13 @@ hooks_SCRIPTS = \ EXTRA_DIST = \ $(top_srcdir)/contrib/initramfs/hooks/zfs.in -$(hooks_SCRIPTS):%:%.in +$(hooks_SCRIPTS):%:%.in Makefile -$(SED) -e 's,@sbindir\@,$(sbindir),g' \ -e 's,@sysconfdir\@,$(sysconfdir),g' \ -e 's,@udevdir\@,$(udevdir),g' \ -e 's,@udevruledir\@,$(udevruledir),g' \ -e 's,@mounthelperdir\@,$(mounthelperdir),g' \ + -e 's,@DEFAULT_INITCONF_DIR\@,$(DEFAULT_INITCONF_DIR),g' \ $< >'$@' -# Double-colon rules are allowed; there are multiple independent definitions. -clean-local:: - -$(RM) $(hooks_SCRIPTS) - -# Double-colon rules are allowed; there are multiple independent definitions. -distclean-local:: - -$(RM) $(hooks_SCRIPTS) +CLEANFILES = $(hooks_SCRIPTS) diff --git a/contrib/initramfs/scripts/local-top/Makefile.am b/contrib/initramfs/scripts/local-top/Makefile.am index c820325947..1523a907c8 100644 --- a/contrib/initramfs/scripts/local-top/Makefile.am +++ b/contrib/initramfs/scripts/local-top/Makefile.am @@ -1,3 +1,4 @@ localtopdir = /usr/share/initramfs-tools/scripts/local-top -EXTRA_DIST = zfs +dist_localtop_SCRIPTS = \ + zfs