author | Mahlon E. Smith <mahlon@martini.nu> |
Wed, 31 Oct 2018 13:22:13 -0700 (2018-10-31) | |
changeset 378 | a788cfad4cfa |
parent 365 | f2e13e08ea13 |
permissions | -rwxr-xr-x |
#!/bin/sh # Must be root to run this set -e for clause in $@ ; do export $clause done cd $(hg root) DEBVERSION=sid PRISTINE=/var/local/cache/pristine/$DEBVERSION if [ ! -e $PRISTINE ] ; then echo "Missing:" $PRISTINE echo "Debian pristine image not found, try running these commands as root:" echo mkdir -p /var/local/cache/pristine echo debootstrap $DEBVERSION $PRISTINE http://ftp.uk.debian.org/debian/ exit -1 fi BUILDDIR=$(pwd)/build mkdir -p $BUILDDIR/env BACKING=$BUILDDIR/env/backing MOUNT=$BUILDDIR/env/mount if [ -e $MOUNT ] ; then echo "Removing old filesystem" # FIXME: evil hack! chroot $MOUNT /etc/init.d/ssh stop || true umount $MOUNT/proc || true umount $MOUNT || true rm -rf $MOUNT fi if [ -e $BACKING ] ; then echo "Copying deb files into cache" mkdir -p $BUILDDIR/aptcache/$DEBVERSION cp $BACKING/var/cache/apt/archives/* $BUILDDIR/aptcache/$DEBVERSION || true echo "Deleting old filesystem backing store" rm -rf $BACKING fi mkdir $BACKING $MOUNT touch $BACKING/please-trash-this-system mkdir -p $BACKING/etc echo "pristine" > $BACKING/etc/debian_chroot SCRIPTS=dev/chroot-test cp -v $SCRIPTS/policy-rc.d $BACKING/etc/policy-rc.d mkdir -p $BACKING/var/cache/apt/archives echo "Copying deb files out of cache" cp $BUILDDIR/aptcache/$DEBVERSION/* $BACKING/var/cache/apt/archives || true cp -av $SCRIPTS/action $BACKING . $SCRIPTS/copy-installables env | grep '^CHROOT_TEST_' > $BACKING/action/env || true unionfs-fuse -o cow -o allow_other,suid,dev $BACKING=RW:$PRISTINE=RO $MOUNT #mount --bind /dev "$MOUNT/dev" #mount --bind /dev/pts "$MOUNT/dev/pts" mount -t proc proc $MOUNT/proc chroot $MOUNT ./action/go echo "Completed successfully"