X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=appliance%2Fmake.sh.in;h=ab95da8edbf8f8ab60410d5a87c73d937897bd7a;hp=e98c32570f484af5fc5ecaa08ef86957b4be4afc;hb=977edb3185fe8f0cc01840227ac6d3ea1785d3c9;hpb=9f19ddd0c42a509018340a82bd7dc13a0996e6f5 diff --git a/appliance/make.sh.in b/appliance/make.sh.in index e98c325..ab95da8 100755 --- a/appliance/make.sh.in +++ b/appliance/make.sh.in @@ -21,6 +21,7 @@ unset CDPATH set -e +set -x if [ "@DIST@" = "REDHAT" ]; then cd @top_builddir@ @@ -40,17 +41,27 @@ if [ "@DIST@" = "REDHAT" ]; then @FEBOOTSTRAP@ $packages -u @UPDATES@ @REPO@ initramfs @MIRROR@ + # Create modules.dep. This is only used in the normal appliance + # (not supermin). + kversion=$(basename initramfs/lib/modules/*) + @FEBOOTSTRAP_RUN@ initramfs -- /sbin/depmod -a $kversion + # /sysroot is where the guest root filesystem will be mounted. @FEBOOTSTRAP_RUN@ initramfs -- mkdir -p --mode=0777 /sysroot # Create /tmp if it is missing. @FEBOOTSTRAP_RUN@ initramfs -- mkdir -p --mode=0777 /tmp + # Create /selinux if it is missing. + @FEBOOTSTRAP_RUN@ initramfs -- mkdir -p --mode=0755 /selinux + # Nuke some stuff. The kernel pulls mkinitrd and plymouth which pulls in # all of Python. Sheez. + (cd initramfs && find -name '*python*' -print0) | + xargs -0 @FEBOOTSTRAP_RUN@ initramfs -- rm -rf (cd initramfs && find -name '*plymouth*' -print0) | xargs -0 @FEBOOTSTRAP_RUN@ initramfs -- rm -rf - (cd initramfs && find -name '*python*' -print0) | + (cd initramfs && find -name 'libply-*' -print0) | xargs -0 @FEBOOTSTRAP_RUN@ initramfs -- rm -rf # In Fedora >= 11, it pulls in all of Perl from somewhere. Nuke from orbit. @@ -65,8 +76,8 @@ if [ "@DIST@" = "REDHAT" ]; then # Don't need any keyboard maps. @FEBOOTSTRAP_RUN@ initramfs -- rm -rf /lib/kbd - # Remove anything in home directory. Because this is potentially - # liable to monstrous fuck-ups, we don't put a slash before 'home'. + # Remove anything in home directory. Because of the potential for disaster + # we don't put a slash before 'home'. (cd initramfs && echo home/*) | xargs @FEBOOTSTRAP_RUN@ initramfs -- rm -rf @@ -91,6 +102,27 @@ if [ "@DIST@" = "REDHAT" ]; then /usr/sbin/groupmod \ /usr/sbin/groupmems \ /sbin/unix_update \ + /usr/sbin/tcpd \ + /lib/dbus-1/dbus-daemon-launch-helper \ + /lib64/dbus-1/dbus-daemon-launch-helper \ + /etc/passwd- \ + /etc/group- \ + /etc/gshadow \ + /etc/gshadow- \ + /etc/shadow \ + /etc/shadow- \ + /etc/securetty \ + /etc/sysconfig/iptables-config \ + /etc/default/useradd \ + /etc/security/opasswd \ + /etc/libaudit.conf \ + /var/log/tallylog \ + /var/log/maillog \ + /var/log/secure \ + /var/log/spooler \ + /var/log/messages \ + /var/log/btmp \ + /var/log/yum.log \ $(cd initramfs && echo usr/sbin/glibc_post_upgrade.*) # Kernel modules take up nearly half of the image. Only include ones @@ -132,13 +164,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 @@ -148,5 +173,6 @@ __EOF__ elif [ "@DIST@" = "DEBIAN" ]; then cd @top_builddir@/appliance debirf make -n debian + mkdir -p @top_builddir@/initramfs + touch @top_builddir@/initramfs/fakeroot.log fi -