Some improvements to the chroot test, try to make it work with Debian
authorPaul Crowley <paul@lshift.net>
Sat, 18 Dec 2010 00:04:05 +0000
changeset 282 1239880543cf
parent 276 cc3dd97f7300
child 283 01eca64f77ab
Some improvements to the chroot test, try to make it work with Debian
dev/chroot-test/action/go
dev/chroot-test/run-test
--- a/dev/chroot-test/action/go	Fri Dec 17 20:54:28 2010 +0000
+++ b/dev/chroot-test/action/go	Sat Dec 18 00:04:05 2010 +0000
@@ -10,24 +10,24 @@
 
 #exec > results 2>&1
 
-#aptitude --allow-untrusted --quiet --without-recommends --assume-yes  install mercurial
-#hg --version
-
 aptitude --allow-untrusted --quiet --without-recommends --assume-yes  install \
-    make mercurial xsltproc docbook-xsl openssh-server \
-    python python-support adduser 
-
-#aptitude --allow-untrusted --quiet --without-recommends --assume-yes  install \
-#     debconf python python-support adduser mercurial openssh-server 
-     
+    openssh-server
 
 perl -i -pe 's/^Port 22$/Port 2222/' /etc/ssh/sshd_config
 /etc/init.d/ssh start
 ssh-keyscan -p 2222 localhost > /etc/ssh/ssh_known_hosts
 
-#dpkg -i mercurial-server_1.0-1_all.deb
-cd mercurial-server
-make setup-adduser
+if [ -e mercurial-server ] ; then
+    aptitude --allow-untrusted --quiet --without-recommends --assume-yes  install \
+        make mercurial xsltproc docbook-xsl openssh-server \
+        python python-support adduser 
+    cd mercurial-server
+    make setup-adduser
+else
+    aptitude --allow-untrusted --quiet --without-recommends --assume-yes  install \
+         debconf python python-support adduser mercurial openssh-server 
+    dpkg -i *.deb
+fi
 
 for user in test1 test2 ; do
     adduser --gecos $user --disabled-password $user
--- a/dev/chroot-test/run-test	Fri Dec 17 20:54:28 2010 +0000
+++ b/dev/chroot-test/run-test	Sat Dec 18 00:04:05 2010 +0000
@@ -3,6 +3,7 @@
 # Must be root to run this
 
 set -e
+cd $(hg root)
 
 DEBVERSION=sid
 
@@ -16,10 +17,10 @@
     exit -1
 fi
 
-TOPDIR=`pwd`
-mkdir -p $TOPDIR/build/env
-BACKING=$TOPDIR/build/env/backing
-MOUNT=$TOPDIR/build/env/mount
+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!
@@ -30,7 +31,7 @@
 fi
 if [ -e $BACKING ] ; then
     echo "Copying deb files into cache"
-    cp $BACKING/var/cache/apt/archives/* build/aptcache/$DEBVERSION || true
+    cp $BACKING/var/cache/apt/archives/* $BUILDDIR/aptcache/$DEBVERSION || true
     echo "Deleting old filesystem backing store"
     rm -rf $BACKING
 fi
@@ -39,18 +40,20 @@
 touch $BACKING/please-trash-this-system
 mkdir -p $BACKING/etc
 echo "pristine" > $BACKING/etc/debian_chroot
-cp -v policy-rc.d $BACKING/etc/policy-rc.d
+cp -v dev/chroot-test/policy-rc.d $BACKING/etc/policy-rc.d
 
 mkdir -p $BACKING/var/cache/apt/archives
 echo "Copying deb files out of cache"
-cp build/aptcache/$DEBVERSION/* $BACKING/var/cache/apt/archives || true
+cp $BUILDDIR/aptcache/$DEBVERSION/* $BACKING/var/cache/apt/archives || true
 
-cp -av action $BACKING
-#hg -R ../mercurial-server archive -r default $BACKING/action/mercurial-server
-( cd $(hg root) && \
-    hg st -mac0n | cpio -p -0 -d $BACKING/action/mercurial-server )
-
-#cp ../mercurial-server/build/debian/mercurial-server_1.0-1_all.deb $BACKING/action
+cp -av dev/chroot-test/action $BACKING
+if [ -e debian/rules ] ; then
+    ./dev/debian-build/dbuild 
+    cp build/debian/*.deb $BACKING/action
+else
+    hg st -mac0n -X '*.hg' -X 'dev/**' \
+        | cpio -p -0 -d $BACKING/action/mercurial-server
+fi
 
 unionfs-fuse -o cow -o allow_other,suid,dev $BACKING=RW:$PRISTINE=RO $MOUNT
 
@@ -60,8 +63,3 @@
 
 chroot $MOUNT ./action/go
 
-
-#cat $BACKING/action/results
-
-#rm -rf build/env
-