Skip to content

Commit

Permalink
Cleanup contrib/initramfs automake
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-By: Brian Behlendorf <[email protected]>
Reviewed-By: Tom Caputi <[email protected]>
Signed-off-by: Richard Laager <[email protected]>
Closes #10027
  • Loading branch information
rlaager authored and behlendorf committed May 7, 2020
1 parent 657fd33 commit 4cfd339
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 27 deletions.
2 changes: 2 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
19 changes: 1 addition & 18 deletions contrib/initramfs/Makefile.am
Original file line number Diff line number Diff line change
@@ -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
4 changes: 4 additions & 0 deletions contrib/initramfs/conf-hooks.d/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
confhooksddir = /usr/share/initramfs-tools/conf-hooks.d

dist_confhooksd_DATA = \
zfs
4 changes: 4 additions & 0 deletions contrib/initramfs/conf.d/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
confddir = /usr/share/initramfs-tools/conf.d

dist_confd_DATA = \
zfs
11 changes: 3 additions & 8 deletions contrib/initramfs/hooks/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -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)
3 changes: 2 additions & 1 deletion contrib/initramfs/scripts/local-top/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
localtopdir = /usr/share/initramfs-tools/scripts/local-top

EXTRA_DIST = zfs
dist_localtop_SCRIPTS = \
zfs

0 comments on commit 4cfd339

Please sign in to comment.