[23285] in Source-Commits
/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