From 7d3cccb66df63815f8230009b8d2fdf8965fbaa8 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 2 Jul 2009 21:33:51 +0100 Subject: [PATCH] Don't rebuild the whole appliance if just the /init script has been changed. --- appliance/Makefile.am | 4 ++-- appliance/make.sh.in | 7 ------- appliance/update.sh.in | 7 +++++-- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/appliance/Makefile.am b/appliance/Makefile.am index 93e1167..03b2a7b 100644 --- a/appliance/Makefile.am +++ b/appliance/Makefile.am @@ -54,12 +54,12 @@ endif # This is for building the normal appliance: $(INITRAMFSIMG) $(VMLINUZ): $(top_builddir)/initramfs/fakeroot.log -$(top_builddir)/initramfs/fakeroot.log: make.sh kmod.whitelist packagelist init +$(top_builddir)/initramfs/fakeroot.log: make.sh kmod.whitelist packagelist -mv $(INITRAMFSIMG) $(INITRAMFSIMG).bak -mv $(VMLINUZ) $(VMLINUZ).bak if ! bash make.sh; then rm -f $@; exit 1; fi -$(INITRAMFSIMG): $(top_builddir)/initramfs/fakeroot.log $(top_builddir)/daemon/guestfsd update.sh +$(INITRAMFSIMG): $(top_builddir)/initramfs/fakeroot.log $(top_builddir)/daemon/guestfsd init update.sh rm -f $@ bash update.sh touch $@ diff --git a/appliance/make.sh.in b/appliance/make.sh.in index e98c325..cf772e0 100755 --- a/appliance/make.sh.in +++ b/appliance/make.sh.in @@ -132,13 +132,6 @@ __EOF__ @FEBOOTSTRAP_INSTALL@ initramfs resolv.conf.new /etc/resolv.conf 0644 root.root rm resolv.conf.new - # Create the init script. - @FEBOOTSTRAP_INSTALL@ initramfs appliance/init /init 0755 root.root - - # Just in case the kernel isn't looking for /init, make /sbin/init - # be our script, not the real init. - #@FEBOOTSTRAP_RUN@ initramfs -- ln -f /init /sbin/init - ls -lh $koutput # Now directly run the update script to copy/update the daemon in the diff --git a/appliance/update.sh.in b/appliance/update.sh.in index 4fbd651..01e22b6 100755 --- a/appliance/update.sh.in +++ b/appliance/update.sh.in @@ -16,8 +16,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# Update the daemon inside an existing initramfs. Avoids the -# timeconsuming rebuild. +# Update the init script or daemon inside an existing initramfs. +# Avoids the timeconsuming rebuild. unset CDPATH @@ -27,6 +27,9 @@ if [ "@DIST@" = "REDHAT" ]; then cd @top_builddir@ output=appliance/initramfs.@REPO@.@host_cpu@.img + # Create the init script. + @FEBOOTSTRAP_INSTALL@ initramfs appliance/init /init 0755 root.root + # Copy the daemon into the filesystem. @FEBOOTSTRAP_INSTALL@ initramfs daemon/guestfsd /sbin/guestfsd 0755 root.root -- 1.8.3.1