]> git.donarmstrong.com Git - neurodebian.git/commitdiff
build all rdepends with old and new version of pkg in question
authorYaroslav Halchenko <debian@onerussian.com>
Tue, 20 Sep 2011 02:45:46 +0000 (22:45 -0400)
committerNeuroDebian Mega-user <neurodebian@head2.hydra.dartmouth.edu>
Tue, 20 Sep 2011 02:45:46 +0000 (22:45 -0400)
tools/nd_test_bdepends

index 3070cc1fe6c9ab3daa881403814fd2b6c5e25291..bc1369604b5b84501e8cff657836b5f27ed95e84 100755 (executable)
@@ -2,15 +2,18 @@
 
 # no undefined
 set -u
+# no failures
+set -e
 
-CMD=
-#echo
+CMD=echo
 
 family=$1
 dist=$2
 arch=$3      # limit to 1 for now
 
 dscfile=$4
+dscfilef=$(readlink -f $dscfile)
+dscfilebase=${dscfilef%%.dsc}
 
 pkg=${dscfile%_*}
 
@@ -20,16 +23,45 @@ testdir=$PWD/$pkg-$arch.test-bdepends
 bindir=$testdir/bin
 debdir=$testdir/debs
 srcdir=$testdir/srcs
+oldbuildsdir=$srcdir/old
+newbuildsdir=$srcdir/new
 
 echo "I: Building the new package for $pkg"
 
 mkdir -p $debdir $srcdir $bindir
 $CMD nd_build $family $dist $arch $dscfile --buildresult=$debdir
 
+cd $debdir
+dpkg-scanpackages . >| Packages
+cd - > /dev/null
 
 echo "I: Fetching all bdepends for $pkg in $family $dist under $arch"
 # need first to provide the necessary scripts out there
-cp -p `which nd_fetch_bdepends` $bindir
+cp -p $(dirname $0)/nd_fetch_bdepends $bindir
 $CMD nd_execute $family $dist $arch --bindmounts $testdir $bindir/nd_fetch_bdepends $pkg $srcdir
 
-# 3 -- go through all bdepends and build them with old (from repo) and new (built) version
+echo "I: preparing the hook"
+cat << EOF >| $bindir/D00add_custom_repo
+echo 'deb file://$debdir ./' >| /etc/apt/sources.list.d/custom.list
+apt-get update
+EOF
+chmod a+x $bindir/D00add_custom_repo
+
+echo "I: Going throught the packages and testing the builds"
+cd $srcdir
+summary_file=${dscfilebase}_$arch.$family-$dist.test-rdeps
+echo -e "\nTesting builds against $dscfile" >> $summary_file
+for dsc in *dipy*.dsc; do
+       echo " I: Building $dsc with native versions"
+       src=${dsc%%_*}
+       dscbase=${dsc%%.dsc}
+       nd_build $family $dist $arch $dsc --buildresult=$oldbuildsdir \
+               && old=ok || old=FAILED
+       mv ${dscbase}_$arch.build $oldbuildsdir
+       echo " I: Building $dsc with new versions"
+       nd_build $family $dist $arch $dsc --buildresult=$newbuildsdir \
+               --hookdir=$bindir --bindmount=$testdir \
+               && new=ok || new="FAILED $newbuildsdir/${dscbase}_$arch.build"
+       mv ${dscbase}_$arch.build $newbuildsdir
+       printf '%-20s\t%5s\t%5s\n' $dsc "$old" "$new" >> $summary_file
+done