[23109] in Source-Commits

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

/svn/athena r22772 - trunk/debathena/third/common

daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Thu Feb 28 18:23:49 2008

Date: Thu, 28 Feb 2008 18:23:13 -0500 (EST)
From: ghudson@MIT.EDU
Message-Id: <200802282323.SAA19682@drugstore.mit.edu>
To: source-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Author: ghudson
Date: 2008-02-28 18:23:13 -0500 (Thu, 28 Feb 2008)
New Revision: 22772

Modified:
   trunk/debathena/third/common/debathenificator.sh
Log:
Creating an LVM snapshot can corrupt kernel memory; see
https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/196784
for details.  That's kind of alarming, but in practice we mostly only
see this in the form of corrupting the page cache for the files we put
into /tmp when running debathenificator.  Work around this problem by
setting up the temporary directory after creating the session chroot.

* debathena/third/common/debathenificator.sh: Set up $tmpdir after
  creating the session chroot.


Modified: trunk/debathena/third/common/debathenificator.sh
===================================================================
--- trunk/debathena/third/common/debathenificator.sh	2008-02-26 08:10:28 UTC (rev 22771)
+++ trunk/debathena/third/common/debathenificator.sh	2008-02-28 23:23:13 UTC (rev 22772)
@@ -46,18 +46,18 @@
 	tmpdir=$(mktemp -td "debathenify.$$.XXXXXXXXXX")
 	trap 'rm -rf "$tmpdir"' EXIT
 	origversion=$(echo "$version" | sed 's/-[^-]*$//')
-	cp -a "${name}_$origversion.orig.tar.gz" "$tmpdir/"
 	#echo "! [ -e '$tmpdir/${name}_$origversion.orig.tar.gz' ] || diff -u <(xxd '${name}_$origversion.orig.tar.gz') <(xxd '$tmpdir/${name}_$origversion.orig.tar.gz')" >| /tmp/wtf
-	dpkg-source -x "${name}_$version.dsc" "$tmpdir/$name-$origversion"
 	
 	(
+	    sid=$(schroot -b -c "$chroot")
+	    trap 'schroot -e -c "$sid"' EXIT
 	    set -x
+	    cp -a "${name}_$origversion.orig.tar.gz" "$tmpdir/"
+	    dpkg-source -x "${name}_$version.dsc" "$tmpdir/$name-$origversion"
 	    cd "$tmpdir/$name-$origversion"
 	    dch_done=
 	    hack_package
 	    [ -n "$dch_done" ]
-	    sid=$(schroot -b -c "$chroot")
-	    trap 'schroot -e -c "$sid"' EXIT
 	    schroot -r -c "$sid" -u root -- apt-get -q -y build-dep "$name"
 	    schroot -r -c "$sid" -u root -- apt-get -q -y install devscripts
 	    schroot -r -c "$sid" -- debuild -S -sa -us -uc -i -I.svn


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