[26272] in Source-Commits

home help back first fref pref prev next nref lref last post

/svn/athena r25482 - trunk/debathena/scripts/build-server

daemon@ATHENA.MIT.EDU (Geoffrey Thomas)
Mon May 7 17:50:44 2012

Date: Mon, 7 May 2012 17:50:43 -0400
From: Geoffrey Thomas <geofft@MIT.EDU>
Message-Id: <201205072150.q47LohtU030340@drugstore.mit.edu>
To: source-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Author: geofft
Date: 2012-05-07 17:50:43 -0400 (Mon, 07 May 2012)
New Revision: 25482

Modified:
   trunk/debathena/scripts/build-server/make-chroot
Log:
make-chroot: Minor cleanups

Among other things, switch to /var/tmp since /tmp is often mounted
nodev.


Modified: trunk/debathena/scripts/build-server/make-chroot
===================================================================
--- trunk/debathena/scripts/build-server/make-chroot	2012-05-07 21:48:09 UTC (rev 25481)
+++ trunk/debathena/scripts/build-server/make-chroot	2012-05-07 21:50:43 UTC (rev 25482)
@@ -8,9 +8,12 @@
 
 set -xe
 
+: ${CHROOTDIR=/srv}
+: ${MIRROR=localhost:9999}
 SUITE=$1
 ARCH=$2
 CHROOT="${SUITE}-${ARCH}-sbuild"
+FILE="$CHROOTDIR"/"$CHROOT".tar.bz2
 SIZE=4G
 
 exittrap() { :; }
@@ -21,6 +24,10 @@
 	echo "Chroot $CHROOT already exists." >&2
 	exit 1
 fi
+if [ -e "$FILE" ]; then
+	echo "Chroot tarball $FILE already exists." >&2
+	exit 1
+fi
 
 if [ -d /etc/schroot/chroot.d ]; then
 	CONF=/etc/schroot/chroot.d/$CHROOT
@@ -42,25 +49,26 @@
 SOURCESD="$DATA/sources.list.d"
 if [ -e "$SOURCESD/debian/$SUITE.list" ]; then
 	SOURCES="$SOURCESD/debian/$SUITE.list"
-	MIRROR=http://localhost:9999/debian
+	MIRROR="http://$MIRROR/debian"
 elif [ -e "$SOURCESD/ubuntu/$SUITE.list" ]; then
 	SOURCES="$SOURCESD/ubuntu/$SUITE.list"
-	MIRROR=http://localhost:9999/ubuntu
+	MIRROR="http://$MIRROR/ubuntu"
 else
 	echo "Unrecognized suite $SUITE." >&2
 	exit 1
 fi
 
-exittrap() { umount "$TARGET" || :; rmdir "$TARGET" || :; }
-TARGET=$(mktemp -dt make-chroot.XXXXXX)
+exittrap() { rm -rf "$TMPDIR" || :; }
+TMPDIR=$(mktemp -d /var/tmp/make-chroot.XXXXXX)
+TARGET="$TMPDIR/root"
 debootstrap --variant=buildd --include=apt,apt-utils,gnupg,build-essential,fakeroot --arch "$ARCH" "$SUITE" "$TARGET" "$MIRROR"
 install -m a=rx,u+w "$DATA/policy-rc.d" "$TARGET/usr/sbin/"
 mkdir -p "$TARGET/dev/pts"
 mkdir -p "$TARGET/dev/shm"
 mkdir -p "$TARGET/afs"
 mkdir -p "$TARGET/mit"
-tar cjf /srv/"$CHROOT".tar.bz2 "$TARGET"
-rm -rf "$TARGET"
+(cd "$TMPDIR" && tar cjf "$FILE" --numeric-owner root)
+rm -rf "$TMPDIR"
 exittrap() { :; }
 
 ! [ -s "$CONF" ] || echo >> "$CONF"
@@ -71,8 +79,8 @@
 groups=root,sbuild
 root-groups=root,sbuild
 source-groups=root
-file=/srv/$CHROOT.tar.bz2
-location=$TARGET
+file=$FILE
+location=root
 personality=$PERSONALITY
 EOF
 


home help back first fref pref prev next nref lref last post