X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=appliance%2Fmake.sh.in;h=36bcd6c996794c6449e974158ab413f658ecce0c;hp=66bdebcfc9ac530f3f01de9b53f4815132c3da63;hb=5a10318ac808fb3cb0bf9071e0cf6b63a0b3eb6a;hpb=2361905686c62b4163232139c3d390acd2c07916 diff --git a/appliance/make.sh.in b/appliance/make.sh.in index 66bdebc..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 \ @@ -95,6 +104,28 @@ if [ "@DIST@" = "REDHAT" ]; then /usr/sbin/groupmod \ /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- \ + /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,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