[172] in athena10
Re: /svn/athena r22944 - trunk/debathena/scripts/build-server/build-all
daemon@ATHENA.MIT.EDU (Timothy G Abbott)
Tue Apr 22 17:01:59 2008
Date: Tue, 22 Apr 2008 17:01:09 -0400 (EDT)
From: Timothy G Abbott <tabbott@MIT.EDU>
To: athena10@mit.edu
Message-ID: <Pine.LNX.4.64L.0804221655260.23969@vinegar-pot.mit.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
For the record, some of the changes below have not been tested (I changed
some of the tag code and the DEBATHENA_APT code after doing the Debathena
Hardy build).
Currently, I'm using /mit/debathena/bin as the location to look for
debian-versions.sh for files which don't live in the scripts directory.
I'm not entirely convinced this is optimal. Perhaps we should have an
environment variable controlling that, since the tags database is
something I could see one wanting to change temporarily.
-Tim Abbott
---------- Forwarded message ----------
Date: Tue, 22 Apr 2008 16:52:30 -0400 (EDT)
From: tabbott@MIT.EDU
To: source-commits@MIT.EDU
X-Spam-Score: 0.55
Subject: /svn/athena r22944 - trunk/debathena/scripts/build-server/build-all
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