From ff704b2291680ca52051452abbce033953f65f3e Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Fri, 30 Oct 2009 17:11:02 +0000 Subject: [PATCH] appliance: Don't rebuild the appliance every time configure runs. config.status touches make.sh each time it runs, even if the resulting script would not change. This causes the appliance to get rebuilt much more frequently than is necessary. There's no way to stop configure running, but we can move the config.status command into a Makefile rule to stop this undesirable behaviour. --- appliance/Makefile.am | 9 +++++++++ configure.ac | 2 -- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/appliance/Makefile.am b/appliance/Makefile.am index d1338bf..1fb7699 100644 --- a/appliance/Makefile.am +++ b/appliance/Makefile.am @@ -61,6 +61,15 @@ $(top_builddir)/initramfs/fakeroot.log: make.sh kmod.whitelist packagelist mv $(VMLINUZ) $(VMLINUZ).bak 2>/dev/null; : if ! bash make.sh; then rm -f $@; exit 1; fi +# This used to be a configure-generated file (as is update.sh still). +# However config.status always touches the destination file, which +# means the appliance got rebuilt too often. +make.sh: make.sh.in + cd $(top_builddir) && \ + ./config.status --file=appliance/$@-t:appliance/$< + chmod +x $@-t + mv $@-t $@ + $(INITRAMFSIMG): $(top_builddir)/initramfs/fakeroot.log $(top_builddir)/daemon/guestfsd init update.sh rm -f $@ bash update.sh diff --git a/configure.ac b/configure.ac index b31c193..e11de0c 100644 --- a/configure.ac +++ b/configure.ac @@ -699,8 +699,6 @@ AC_CONFIG_SUBDIRS([daemon]) dnl Produce output files. AC_CONFIG_HEADERS([config.h]) dnl http://www.mail-archive.com/automake@gnu.org/msg10204.html -AC_CONFIG_FILES([appliance/make.sh], - [chmod +x appliance/make.sh]) AC_CONFIG_FILES([appliance/update.sh], [chmod +x appliance/update.sh]) AC_CONFIG_FILES([appliance/supermin-split.sh], -- 1.8.3.1