--- /dev/null
+#!/bin/bash
+
+vdir=$1
+
+if [ -z "${vdir}" ] ; then
+ echo "ERROR: $0"
+ echo "Provide the directory of the root filesystem to operate on"
+ exit
+fi
+
+# reset root password to be empty
+echo "in slice image: resetting root password"
+sed -i -e "s/root:[\*|x]/root:/" ${vdir}/etc/passwd
+
+# modify the sudoers file to remove the 'requiretty' attribute
+echo "in slice image: removing requiretty from /etc/sudoers"
+sed -i -e 's,^\(Defaults.*requiretty\),#\1,' ${vdir}/etc/sudoers
+
+# disable Upstart by creating a symlink to /bin/true
+#mv ${vdir}/sbin/initctl ${vdir}/sbin/initctl.orig
+chroot ${vdir} mv /sbin/initctl /sbin/initctl.orig
+chroot ${vdir} ln /bin/true /sbin/initctl
+
+# Fix up /etc/init.d/halt
+# xxx this would be wrong in f>=16 because there's no /sbin anymore
+# but I suspect this is for vserver only..
+echo "in slice image: fixing /etc/init.d/halt"
+cat > ${vdir}/etc/init.d/halt <<EOF
+#!/bin/bash
+exec /sbin/killall5 -15
+EOF
+
+# make sure we do not end up with an empty /selinux
+# libvirt gets all confused when that happens
+cd ${vdir}
+if [ -d selinux ] ; then
+ if [ "$(ls -A selinux)" ] ; then
+ echo "sliceimage.post: WARNING: ${vdir}/selinux is not empty - preserving"
+ else
+ echo "sliceimage.post: REMOVING empty ${vdir}/selinux"
+ rmdir selinux
+ fi
+fi
+cd -