unset CDPATH
set -e
+set -x
if [ "@DIST@" = "REDHAT" ]; then
cd @top_builddir@
@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.
# 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
# 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 libguestfs-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 \
/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
elif [ "@DIST@" = "DEBIAN" ]; then
cd @top_builddir@/appliance
debirf make -n debian
+ mkdir -p @top_builddir@/initramfs
+ touch @top_builddir@/initramfs/fakeroot.log
fi
-