--- a/action/go Tue Dec 01 12:37:20 2009 +0000
+++ b/action/go Tue Dec 01 15:31:03 2009 +0000
@@ -10,10 +10,30 @@
#exec > results 2>&1
-echo "It worked"
+#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
+
+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
+
+cd mercurial-server
+make setup-adduser
-aptitude --allow-untrusted --quiet --without-recommends --assume-yes install mercurial
-hg --version
+for user in test1 test2 ; do
+ adduser --gecos $user --disabled-password $user
+ su -l -c 'mkdir .ssh' $user
+ su -l -c 'ssh-keygen -N "" -f .ssh/id_rsa -t rsa' $user
+done
+cp /home/test1/.ssh/id_rsa.pub /etc/mercurial-server/keys/root/test1
+su -l -c /usr/local/share/mercurial-server/refresh-auth hg
+su -l -c /action/test1 test1
+su -l -c /action/test2 test2
-touch results
+/etc/init.d/ssh stop
+#touch results
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/action/test1 Tue Dec 01 15:31:03 2009 +0000
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+set -e
+
+cd
+
+cat > .ssh/config <<__END__
+Host chroothg
+Hostname localhost
+User hg
+Port 2222
+__END__
+
+hg clone ssh://chroothg/hgadmin
+cd hgadmin
+mkdir -p keys/users
+cp /home/test2/.ssh/id_rsa.pub keys/users/test2
+hg add keys/users/test2
+hg commit -u test1 -m "Added user test2"
+hg push
+cd ..
+mkdir realrepo
+cd realrepo
+hg init .
+echo "This is a file" > content
+hg add content
+hg commit -u test1 -m "Add a file to the repo"
+hg clone . ssh://chroothg/real/project
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/action/test2 Tue Dec 01 15:31:03 2009 +0000
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+set -e
+
+cd
+
+cat > .ssh/config <<__END__
+Host chroothg
+Hostname localhost
+User hg
+Port 2222
+__END__
+
+hg clone ssh://chroothg/real/project
+cd project
+echo "and I'm adding something" >> content
+hg commit -u test2 -m "Added something to the file"
+hg push
+
+
--- a/run-test Tue Dec 01 12:37:20 2009 +0000
+++ b/run-test Tue Dec 01 15:31:03 2009 +0000
@@ -12,23 +12,30 @@
mkdir -p $BACKING $MOUNT
touch $BACKING/please-trash-this-system
-cp -av action $BACKING
mkdir -p $BACKING/etc
+echo "pristine" > $BACKING/etc/debian_chroot
cp -v policy-rc.d $BACKING/etc/policy-rc.d
-unionfs-fuse -o cow -o allow_root,suid,dev $BACKING=RW:$PRISTINE=RO $MOUNT
+mkdir -p $BACKING/var/cache/apt/archives
+cp -v build/aptcache/* $BACKING/var/cache/apt/archives
+
+cp -av action $BACKING
+#hg -R ../mercurial-server archive -r default $BACKING/action/mercurial-server
+( cd ../mercurial-server && \
+ hg st -mac0n | cpio -p -0 -d $BACKING/action/mercurial-server )
+
+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
-cd $TOPDIR
umount $MOUNT/proc
umount $MOUNT
-cat $BACKING/action/results
+#cat $BACKING/action/results
rm -rf build/env