X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tools%2Fnd_build_testrdepends;h=28a820d88d4ebd77ee45828db68fa341043fbc8d;hb=HEAD;hp=bc1369604b5b84501e8cff657836b5f27ed95e84;hpb=fbb9c4d817bf66c52dc246d9cd51d48c1ee30e80;p=neurodebian.git diff --git a/tools/nd_build_testrdepends b/tools/nd_build_testrdepends index bc13696..28a820d 100755 --- a/tools/nd_build_testrdepends +++ b/tools/nd_build_testrdepends @@ -5,7 +5,8 @@ set -u # no failures set -e -CMD=echo +CMD= +#echo family=$1 dist=$2 @@ -13,45 +14,87 @@ arch=$3 # limit to 1 for now dscfile=$4 dscfilef=$(readlink -f $dscfile) -dscfilebase=${dscfilef%%.dsc} +dscfilef_base=${dscfilef%%.dsc} pkg=${dscfile%_*} #? TODO -- should be a parameter as well? -testdir=$PWD/$pkg-$arch.test-bdepends +testdir=${dscfilef_base}_$arch.testrdepends.$family-$dist +secdir=${dscfilef_base}_$arch.testrdepends.$family-$dist.secure bindir=$testdir/bin debdir=$testdir/debs srcdir=$testdir/srcs oldbuildsdir=$srcdir/old newbuildsdir=$srcdir/new -echo "I: Building the new package for $pkg" +echo "I: Updating target chroot $family $dist" +$CMD nd_updatedist $family $dist $arch + +mkdir -p $debdir $srcdir $bindir $secdir -mkdir -p $debdir $srcdir $bindir +echo "I: Building the new package for $pkg" $CMD nd_build $family $dist $arch $dscfile --buildresult=$debdir +echo "I: Initiating the repository" cd $debdir dpkg-scanpackages . >| Packages +apt-ftparchive release . >| Release + +gpgargs="--no-default-keyring --secret-keyring $secdir/keyring.sec --keyring $secdir/keyring.pub" +if [ ! -e $secdir/keyring.sec ]; then + # Generate a key to sign the Release file + cat >| $secdir/keyring.gen < /dev/null -echo "I: Fetching all bdepends for $pkg in $family $dist under $arch" +echo "I: Fetching all bdepends for $pkgs in $family $dist under $arch" # need first to provide the necessary scripts out there cp -p $(dirname $0)/nd_fetch_bdepends $bindir -$CMD nd_execute $family $dist $arch --bindmounts $testdir $bindir/nd_fetch_bdepends $pkg $srcdir +$CMD nd_execute $family $dist $arch --bindmounts $testdir $bindir/nd_fetch_bdepends $dist $srcdir $pkgs 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 +echo "$pubkey" | apt-key add - +apt-get update || /bin/bash < /dev/tty > /dev/tty 2> /dev/tty 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 +summary_file=${testdir}.summary echo -e "\nTesting builds against $dscfile" >> $summary_file -for dsc in *dipy*.dsc; do +for dsc in *.dsc; do echo " I: Building $dsc with native versions" src=${dsc%%_*} dscbase=${dsc%%.dsc} @@ -63,5 +106,5 @@ for dsc in *dipy*.dsc; do --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 + printf '%-40s\t%5s\t%5s\n' $dsc "$old" "$new" >> $summary_file done