[23285] in Source-Commits

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

/svn/athena r22944 - trunk/debathena/scripts/build-server/build-all

daemon@ATHENA.MIT.EDU (tabbott@MIT.EDU)
Tue Apr 22 16:52:42 2008

Date: Tue, 22 Apr 2008 16:52:30 -0400 (EDT)
From: tabbott@MIT.EDU
Message-Id: <200804222052.QAA01887@drugstore.mit.edu>
To: source-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Author: tabbott
Date: 2008-04-22 16:52:29 -0400 (Tue, 22 Apr 2008)
New Revision: 22944

Removed:
   trunk/debathena/scripts/build-server/build-all/gen-build-deps.version-controlled
Modified:
   trunk/debathena/scripts/build-server/build-all/Makefile
   trunk/debathena/scripts/build-server/build-all/do-build
   trunk/debathena/scripts/build-server/build-all/gen-build-deps
Log:
debathena/scripts/build-server/build-all: Make build system more robust.
* Support the package directories being called (e.g.) debathena-athdir,
  not just athdir.
* Support meta packages having been built on i386.
* Unify suite and previous suite code to only require setting them in
  Makefile.
* Use debian-versions.sh to get tags.
* Add usage check to gen-build-deps.
* Add support for DEBATHENA_APT and DEBATHENA_BUILD_AREA variables.
* Use a different stamps directory for each distribution.
* Remove deprecated gen-build-deps.version-controlled


Modified: trunk/debathena/scripts/build-server/build-all/Makefile
===================================================================
--- trunk/debathena/scripts/build-server/build-all/Makefile	2008-04-22 20:29:28 UTC (rev 22943)
+++ trunk/debathena/scripts/build-server/build-all/Makefile	2008-04-22 20:52:29 UTC (rev 22944)
@@ -1,11 +1,13 @@
-STAMPS := /afs/sipb.mit.edu/project/debathena/machines/awesome-build-server/stamps
+suite := hardy
+psuite := gutsy
+STAMPS := /afs/sipb.mit.edu/project/debathena/machines/awesome-build-server/stamps.$(suite)
 
 package = $(STAMPS)/$(1).done
 
 all: build-all
 
 deps.mk: gen-build-deps
-	./gen-build-deps > $@
+	./gen-build-deps $(psuite) > $@
 include deps.mk
 
 build/%: $(call package,%)
@@ -13,7 +15,7 @@
 
 $(call package,%):
 	file=$$(mktemp -t 'stupid.XXXXXX') && \
-		echo "screen sh -c '$(CURDIR)/do-build $* $(STAMPS)/$*'" > "$$file" && \
+		echo "screen sh -c '$(CURDIR)/do-build $* $(STAMPS)/$* $(suite) $(psuite)'" > "$$file" && \
 		echo "other" >> "$$file" && \
 		screen -X source "$$file" && \
 		sleep 1 && \

Modified: trunk/debathena/scripts/build-server/build-all/do-build
===================================================================
--- trunk/debathena/scripts/build-server/build-all/do-build	2008-04-22 20:29:28 UTC (rev 22943)
+++ trunk/debathena/scripts/build-server/build-all/do-build	2008-04-22 20:52:29 UTC (rev 22944)
@@ -2,18 +2,23 @@
 set -xe
 package=$1
 stamp=$2
-suite=lenny
-psuite=etch
-tag="~debian4.1~0.1"
+suite=$3
+psuite=$4
+: ${DEBATHENA_APT=/mit/debathena/apt}
+: ${DEBATHENA_BUILD_AREA=/afs/sipb.mit.edu/project/debathena/packages}
+tag=$(shell . /mit/debathena/bin/debian-versions.sh; gettag $(suite))
 [ -n "$1" ]
 [ -n "$2" ]
 trap 'echo "An error occured.  Press Enter to continue." >&2; echo -en "\a"; read ERROR; touch "$stamp.error"' EXIT
 touch "$stamp.started"
-dir=$(echo /afs/sipb.mit.edu/project/debathena/packages/*/"${package#debathena-}")
+dir=$(echo ${DEBATHENA_BUILD_AREA}/*/"${package#debathena-}")
+if [ ! -e $dir ]; then
+    dir=$(echo ${DEBATHENA_BUILD_AREA}/*/"${package}")
+fi
 [ -e "$dir" ]
 cd "$dir"
 if [ -e debathenify-* ]; then false; fi
-version=$(zcat /mit/debathena/apt/dists/$psuite/*/source/Sources.gz | dpkg-awk -f - "Package:^$package\$" -- Version | sed -n 's/Version: // p')
+version=$(zcat ${DEBATHENA_APT}/dists/$psuite/*/source/Sources.gz | dpkg-awk -f - "Package:^$package\$" -- Version | sed -n 's/Version: // p')
 if [ -d "built/" ]; then
     dsc="$dir/built/${package}_$version.dsc"
 else
@@ -21,14 +26,19 @@
 fi
 [ -e "$dsc" ]
 
-if [ -e "${dsc%.dsc}_amd64.changes" ]; then
-    grep -Fq 'dpkg-source -b equivs' "${dsc%.dsc}_amd64.build"
+if [ -e "${dsc%.dsc}_amd64.changes" ] || [ -e "${dsc%.dsc}_i386.changes" ]; then
     changes="${dsc%.dsc}_amd64.changes"
+    buildlog="${dsc%.dsc}_amd64.build"
+    if [ ! -e $changes ]; then
+	changes="${dsc%.dsc}_i386.changes"
+	buildlog="${dsc%.dsc}_i386.build"
+    fi
+    grep -Fq 'dpkg-source -b equivs' $buildlog
 else
     [ -e "${dsc%.dsc}_source.changes" ]
     changes="${dsc%.dsc}_source.changes"
     A=1
-    if (zcat /mit/debathena/apt/dists/$psuite/*/binary-i386/Packages.gz | dpkg-awk -f - "Source:^$package\$" -- Architecture; zcat /mit/debathena/apt/dists/$psuite/*/binary-i386/Packages.gz | dpkg-awk -f - "Package:^$package\$" -- Architecture) | grep -Fxv 'Architecture: all' | grep -q .; then
+    if (zcat ${DEBATHENA_APT}/dists/$psuite/*/binary-i386/Packages.gz | dpkg-awk -f - "Source:^$package\$" -- Architecture; zcat ${DEBATHENA_APT}/dists/$psuite/*/binary-i386/Packages.gz | dpkg-awk -f - "Package:^$package\$" -- Architecture) | grep -Fxv 'Architecture: all' | grep -q .; then
 	A=0
     fi
     sbuildhack "${suite}-amd64" -A "$dsc"
@@ -45,7 +55,7 @@
 #    :
 #done
 
-REPREPRO="reprepro -Vb /mit/debathena/apt"
+REPREPRO="reprepro -Vb ${DEBATHENA_APT}"
 
 (
     flock -x 200

Modified: trunk/debathena/scripts/build-server/build-all/gen-build-deps
===================================================================
--- trunk/debathena/scripts/build-server/build-all/gen-build-deps	2008-04-22 20:29:28 UTC (rev 22943)
+++ trunk/debathena/scripts/build-server/build-all/gen-build-deps	2008-04-22 20:52:29 UTC (rev 22944)
@@ -3,6 +3,10 @@
 use warnings;
 use strict;
 
+my $psuite = $ARGV[0];
+$psuite or die "Usage: gen-build-deps <previous suite name>";
+$ENV{DEBATHENA_APT} or $ENV{DEBATHENA_APT}="/mit/debathena/apt";
+
 sub list {
 	my ($l) = @_;
 	$l =~ s/ \(.*\)$//;
@@ -11,7 +15,7 @@
 	split(/, /, $l);
 }
 
-open(DPKG, '-|', 'zcat /mit/debathena/apt/dists/etch/*/source/Sources.gz | dpkg-awk -f - -- Package Build-Depends') or die;
+open(DPKG, '-|', "zcat $ENV{DEBATHENA_APT}/dists/$psuite/*/source/Sources.gz | dpkg-awk -f - -- Package Build-Depends") or die;
 my %src_deps = ();
 while (<DPKG>) {
 	last if /^$/;
@@ -27,7 +31,7 @@
 	}
 }
 close DPKG;
-open(DPKG, '-|', 'zcat /mit/debathena/apt/dists/etch/debathena/binary-amd64/Packages.gz | dpkg-awk -f - -- Package Source Provides') or die;
+open(DPKG, '-|', "zcat $ENV{DEBATHENA_APT}/dists/$psuite/debathena/binary-amd64/Packages.gz | dpkg-awk -f - -- Package Source Provides") or die;
 my %pkg_src = ();
 my %pkg_provider = ();
 while (<DPKG>) {

Deleted: trunk/debathena/scripts/build-server/build-all/gen-build-deps.version-controlled


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