X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=appliance%2Fmake.sh.in;h=36bcd6c996794c6449e974158ab413f658ecce0c;hp=515df346abe0b0da98abc4da4049ac0316c43a2d;hb=f1930720d96d4a601f1ff63e6ce50da23b90188c;hpb=088d0c53cfe0dcb20b87707a9055175b2fd6b72f diff --git a/appliance/make.sh.in b/appliance/make.sh.in index 515df34..36bcd6c 100755 --- a/appliance/make.sh.in +++ b/appliance/make.sh.in @@ -26,8 +26,8 @@ set -x if [ "@DIST@" = "REDHAT" ]; then cd @top_builddir@ # Decide on names for the final output. These have to match Makefile.am. - output=appliance/initramfs.@REPO@.@host_cpu@.img - koutput=appliance/vmlinuz.@REPO@.@host_cpu@ + output=appliance/initramfs.@host_cpu@.img + koutput=appliance/vmlinuz.@host_cpu@ rm -f $output rm -f $koutput @@ -41,6 +41,11 @@ 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 @@ -52,9 +57,11 @@ if [ "@DIST@" = "REDHAT" ]; then # 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. @@ -79,13 +86,15 @@ if [ "@DIST@" = "REDHAT" ]; then # Remove some unreadable binaries which are incompatible with # the supermin appliance. Since these binaries can't be read - # from the host filesystem, they generate warnings like: - # cpio: ./usr/bin/chfn: Cannot open: Permission denied - # These binaries are not needed for operation of the appliance. + # from the host filesystem, they cannot be added to the supermin + # appliance at run time. XXX Need a better fix for this. + # Probably we should change febootstrap-supermin-helper to just + # ignore such files. @FEBOOTSTRAP_RUN@ initramfs -- rm -f \ /usr/bin/chfn \ /usr/bin/chsh \ /usr/libexec/pt_chown \ + /usr/libexec/utempter/utempter \ /usr/sbin/groupdel \ /usr/sbin/groupadd \ /usr/sbin/useradd \ @@ -96,6 +105,7 @@ if [ "@DIST@" = "REDHAT" ]; then /usr/sbin/groupmems \ /sbin/unix_update \ /usr/sbin/tcpd \ + /usr/share/dbus-1/services/org.selinux.Restorecond.service \ /lib/dbus-1/dbus-daemon-launch-helper \ /lib64/dbus-1/dbus-daemon-launch-helper \ /etc/passwd- \ @@ -153,16 +163,12 @@ __EOF__ @FEBOOTSTRAP_RUN@ initramfs -- touch /etc/fstab fi - echo nameserver 10.0.2.3 > resolv.conf.new + echo nameserver 169.254.2.3 > resolv.conf.new @FEBOOTSTRAP_INSTALL@ initramfs resolv.conf.new /etc/resolv.conf 0644 root.root rm resolv.conf.new ls -lh $koutput - # Now directly run the update script to copy/update the daemon in the - # initramfs. - cd appliance && bash update.sh - elif [ "@DIST@" = "DEBIAN" ]; then cd @top_builddir@/appliance debirf make -n debian