summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2011-12-21 00:02:55 +0100
committerNWT Administrator <nwt-admin@minobo.das-netzwerkteam.de>2011-12-21 00:03:33 +0100
commit62b47aba27c20caf5d4fb2dea10c3ea1a724d3dd (patch)
tree8228b66e33987542b8a93ec6ebe66af252884bcc
parentbaf582456e485e2e4272c0b888f9ccdb10cde499 (diff)
downloadbuildscripts-62b47aba27c20caf5d4fb2dea10c3ea1a724d3dd.tar.gz
buildscripts-62b47aba27c20caf5d4fb2dea10c3ea1a724d3dd.tar.bz2
buildscripts-62b47aba27c20caf5d4fb2dea10c3ea1a724d3dd.zip
fixed scripts, configured other build servers
-rwxr-xr-xbin/build-all-packages2
-rwxr-xr-xbin/build-package113
-rwxr-xr-xbin/gitcreate2
-rw-r--r--home/.buildscripts/itzks.conf18
-rw-r--r--home/.buildscripts/nwt.conf5
-rw-r--r--home/.buildscripts/x2go.conf18
6 files changed, 101 insertions, 57 deletions
diff --git a/bin/build-all-packages b/bin/build-all-packages
index 3757c4b..86e72be 100755
--- a/bin/build-all-packages
+++ b/bin/build-all-packages
@@ -25,7 +25,7 @@ LIB_PACKAGES_MAIN=
APP_PACKAGES_NIGHTLY=
APP_PACKAGES_MAIN=
-PREFIX=$(echo $0 | cut -d"-" -f1)
+PREFIX=$(echo `basename $0` | cut -d"-" -f1)
test -f ~/.buildscripts/$PREFIX.conf && . ~/.buildscripts/$PREFIX.conf || { echo "$0 has no valid context prefix..."; exit -1; }
test -z $1 && { echo "usage: $(basename $0) [{$COMPONENT_MAIN,$COMPONENT_NIGHTLY}]"; exit -1; }
diff --git a/bin/build-package b/bin/build-package
index f9c1648..cc7a9d4 100755
--- a/bin/build-package
+++ b/bin/build-package
@@ -32,10 +32,11 @@ ubuntu: lucid precise\n\
COMPONENT_MAIN="main"
COMPONENT_NIGHTLY="nightly"
REPOS_SERVER="packages.mydomain.org"
+PACKAGES_WITHOUT_OTHERMIRROR="keyring"
test -z $1 && { echo "usage: $(basename $0) [<subpath>/]<git-project> {main,main/<codename>,nightly,nightly/<codename>} [<git-checkout>]"; exit -1; }
-PREFIX=$(echo $0 | cut -d"-" -f1)
+PREFIX=$(echo `basename $0` | cut -d"-" -f1)
test -f ~/.buildscripts/$PREFIX.conf && . ~/.buildscripts/$PREFIX.conf || { echo "$0 has no valid context prefix..."; exit -1; }
set -ex
@@ -86,14 +87,43 @@ set_vars() {
return 0
}
-clear_pkgdist() {
+prepare_workspace() {
+ # in any case remove the BUILDS_FOR file
+ rm -f "$PROJECT_DIR/BUILDS_FOR"
+ # make sure our local working copy is up to date...
+
+ if [ -d "$PROJECT_DIR/.git" ]; then
+ cd "$PROJECT_DIR" && git reset --hard
+ git checkout --force $CHECKOUT || git checkout --force -b $CHECKOUT
+ git pull origin $CHECKOUT
+ # and again, get the $CHECKOUT refspec in pure state
+ git reset --hard
+ else
+ cd "$(dirname $PROJECT_DIR)"
+ git clone git://$GIT_HOSTNAME/$PROJECT_PATH.git
+ cd "$PROJECT"
+ git checkout --force $CHECKOUT || git checkout --force -b $CHECKOUT;
+ fi
+ cd "$PROJECT_DIR"
+
+ # by default we build for all current debian versions
+ test -f BUILDS_FOR || echo -e "$BUILDS_FOR" > BUILDS_FOR
+ return 0
+}
+
+clear_pkgdist() {
# pkgdist directory cleanup
cat "$PROJECT_DIR/BUILDS_FOR" | egrep -v '(^$|^#.*$)' | while read line; do
- l_DIST="$(echo $line | cut -d":" -f1 | tr [A-Z] [a-z])"
- CODENAMES="${CODENAMES:-$(echo $line | cut -d":" -f2- | tr [A-Z] [a#-z])}"
+ l_DIST="$(echo ${line/: /:} | cut -d":" -f1 | tr [:upper:] [:lower:])"
+ l_CODENAMES="${CODENAMES:-$(echo ${line/: /:} | cut -d":" -f2- | tr [:upper:] [:lower:])}"
echo "$DISTS_SUPPORTED" | grep $l_DIST >/dev/null && {
- for l_CODENAME in $CODENAMES; do
+ for l_CODENAME in $l_CODENAMES; do
+
+ # in case we build a special CODENAME (squeeze, wheezy, lucid, ...) do skip
+ # the wrong distribution here...
+ test -z $CODENAMES || echo $line | grep $CODENAMES || break
+
if [ "x$EXTRA_ARCHS_ONLY" = "x" ]; then
for l_ARCH in amd64 i386; do
mkdir -p "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH"
@@ -113,48 +143,30 @@ clear_pkgdist() {
rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_EXTRA_ARCH/$PROJECT_*.dsc"
rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_EXTRA_ARCH/$PROJECT_*.tar.gz"
rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_EXTRA_ARCH/*.deb"
- done
+ done
done
}
done
return 0
}
-prepare_workspace() {
- # in any case remove the BUILDS_FOR file
- rm -f "$PROJECT_DIR/BUILDS_FOR"
-
- # make sure our local working copy is up to date...
-
- if [ -d "$PROJECT_DIR/.git" ]; then
- cd "$PROJECT_DIR" && git reset --hard
- git checkout --force $CHECKOUT || git checkout --force -b $CHECKOUT
- git pull origin $CHECKOUT
- # and again, get the $CHECKOUT refspec in pure state
- git reset --hard
- else
- cd "$(dirname $PROJECT_DIR)"
- git clone git://$GIT_HOSTNAME/$PROJECT_PATH.git
- cd "$PROJECT"
- git checkout --force $CHECKOUT || git checkout --force -b $CHECKOUT;
- fi
- cd "$PROJECT_DIR"
-
- # by default we build for all current debian versions
- test -f BUILDS_FOR || echo -e "$BUILDS_FOR" > BUILDS_FOR
- return 0
-}
-
build_packages() {
# use pbuilder for building all variants of this package
cat "$PROJECT_DIR/BUILDS_FOR" | egrep -v '(^$|^#.*$)' | while read line; do
- l_DIST="$(echo $line | cut -d":" -f1 | tr [A-Z] [a-z])"
- CODENAMES="${CODENAMES:-$(echo $line | cut -d":" -f2- | tr [A-Z] [a-z])}"
+ l_DIST="$(echo ${line/: /:} | cut -d":" -f1 | tr [:upper:] [:lower:])"
+ l_CODENAMES="${CODENAMES:-$(echo ${line/: /:} | cut -d":" -f2- | tr [:upper:] [:lower:])}"
echo "$DISTS_SUPPORTED" | grep $l_DIST >/dev/null && {
- for l_CODENAME in $CODENAMES; do
+ for l_CODENAME in $l_CODENAMES; do
+
+ # in case we build a special CODENAME (squeeze, wheezy, lucid, ...) do skip
+ # the wrong distribution here...
+ test -z $CODENAMES || echo $line | grep $CODENAMES || break
+
TEMP_DIR="$(mktemp -d --tmpdir=$TEMP_BASE)"
mkdir -p "$TEMP_DIR/$PROJECT"
chmod 2770 "$TEMP_DIR" -Rf
+
+ cd "$PROJECT_DIR"
git clone --local "$PROJECT_DIR" "$TEMP_DIR/$PROJECT/"
cd "$TEMP_DIR/$PROJECT"
git checkout $CHECKOUT || git checkout master
@@ -178,47 +190,45 @@ build_packages() {
# modify changelog for this build
dch --distribution $VERSION --force-distribution -l "+$l_CODENAME~$COMPONENT$DATE~$GITREV~build" "Auto-built $l_DIST $l_CODENAME package for $REPOS_SERVER repository."
mkdir -p $PKGDIST/$l_DIST/$l_CODENAME/{amd64,i386}
- OTHERMIRROR="deb http://$REPOS_SERVER/$l_DIST $l_CODENAME $COMPONENT"
+ OTHERMIRROR=""
+ echo $PACKAGE_WITHOUT_OTHERMIRROR | grep $PROJECT >/dev/null || OTHERMIRROR="deb http://$REPOS_SERVER/$l_DIST $l_CODENAME $COMPONENT"
+
[ "x$USE_SUDO" != "xyes" ] && {
[ "x$EXTRA_ARCHS_ONLY" = "x" ] && {
cat debian/control | egrep 'Architecture.*(all|any|amd64)' >/dev/null && {
- DIST=$l_DIST CODENAME=$l_CODENAME ARCH=amd64 $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult "$PKGDIST/$l_DIST/$l_CODENAME/amd64"
+ DIST=$l_DIST CODENAME=$l_CODENAME ARCH=amd64 $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult "$PKGDIST/$l_DIST/$l_CODENAME/amd64" 0<&-
}
cat debian/control | egrep 'Architecture.*(any|i386)' >/dev/null && {
- DIST=$l_DIST CODENAME=$l_CODENAME ARCH=i386 $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult "$PKGDIST/$l_DIST/$l_CODENAME/i386" -- --binary-arch
+ DIST=$l_DIST CODENAME=$l_CODENAME ARCH=i386 $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult "$PKGDIST/$l_DIST/$l_CODENAME/i386" -- --binary-arch 0<&-
}
}
for extra_arch in $EXTRA_ARCHS; do
mkdir -p "$PKGDIST/$l_DIST/$l_CODENAME/$extra_arch"
cat debian/control | egrep "Architecture.*(any|$extra_arch)" >/dev/null && {
- DIST=$l_DIST CODENAME=$l_CODENAME ARCH=$extra_arch $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult "$PKGDIST/$l_DIST/$l_CODENAME/$extra_arch" -- --binary-arch
+ DIST=$l_DIST CODENAME=$l_CODENAME ARCH=$extra_arch $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult "$PKGDIST/$l_DIST/$l_CODENAME/$extra_arch" -- --binary-arch 0<&-
}
done
}
[ "x$USE_SUDO" = "xyes" ] && {
[ "x$EXTRA_ARCHS_ONLY" = "x" ] && {
cat debian/control | egrep 'Architecture.*(all|any|amd64)' >/dev/null && {
- sudo DIST=$l_DIST CODENAME=$l_CODENAME ARCH=amd64 OTHERMIRROR="$OTHERMIRROR" $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult $PKGDIST/$l_DIST/$l_CODENAME/amd64
+ sudo DIST=$l_DIST CODENAME=$l_CODENAME ARCH=amd64 OTHERMIRROR="$OTHERMIRROR" $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult $PKGDIST/$l_DIST/$l_CODENAME/amd64 0<&-
}
cat debian/control | egrep 'Architecture.*(any|i386)' >/dev/null && {
- sudo DIST=$l_DIST CODENAME=$l_CODENAME ARCH=i386 OTHERMIRROR="$OTHERMIRROR" $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult $PKGDIST/$l_DIST/$l_CODENAME/i386 -- --binary-arch
+ sudo DIST=$l_DIST CODENAME=$l_CODENAME ARCH=i386 OTHERMIRROR="$OTHERMIRROR" $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult $PKGDIST/$l_DIST/$l_CODENAME/i386 -- --binary-arch 0<&-
}
}
for extra_arch in $EXTRA_ARCHS; do
mkdir -p "$PKGDIST/$l_DIST/$l_CODENAME/$extra_arch"
cat debian/control | egrep "Architecture.*(any|$extra_arch)" >/dev/null && {
- sudo DIST=$l_DIST CODENAME=$l_CODENAME ARCH=$extra_arch OTHERMIRROR="$OTHERMIRROR" $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult "$PKGDIST/$l_DIST/$l_CODENAME/$extra_arch" -- --binary-arch
+ sudo DIST=$l_DIST CODENAME=$l_CODENAME ARCH=$extra_arch OTHERMIRROR="$OTHERMIRROR" $PDEBUILD --auto-debsign --debsign-k $GPG_KEY --buildresult "$PKGDIST/$l_DIST/$l_CODENAME/$extra_arch" -- --binary-arch 0<&-
}
done
}
- cd -
rm -Rf "$TEMP_DIR"
done
- echo
}
- echo
done
- echo
return 0
}
@@ -226,9 +236,14 @@ upload_packages() {
# dupload the new packages to the reprepro repository
cd "$PKGDIST"
cat "$PROJECT_DIR/BUILDS_FOR" | egrep -v '(^$|^#.*$)' | while read line; do
- l_DIST=$(echo $line | cut -d":" -f1 | tr [A-Z] [a-z])
- CODENAMES=${CODENAMES:-$(echo $line | cut -d":" -f2- | tr [A-Z] [a-z])}
- for l_CODENAME in $CODENAMES; do
+ l_DIST=$(echo ${line/: /:} | cut -d":" -f1 | tr [:upper:] [:lower:])
+ l_CODENAMES=${CODENAMES:-$(echo ${line/: /:} | cut -d":" -f2- | tr [:upper:] [:lower:])}
+ for l_CODENAME in $l_CODENAMES; do
+
+ # in case we build a special CODENAME (squeeze, wheezy, lucid, ...) do skip
+ # the wrong distribution here...
+ test -z $CODENAMES || echo $line | grep $CODENAMES || break
+
if [ "x$EXTRA_ARCHS_ONLY" = "x" ]; then
for l_ARCH in amd64 i386; do
cd "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH"
@@ -251,8 +266,8 @@ upload_packages() {
set_vars $@ && {
if [ "x$(basename $0)" = "x$PREFIX-build-package" ] || [ "x$(basename $0)" = "x$PREFIX-build+upload-package" ]; then
cd $PROJECT_DIR && pkgneedsbuild $CHECKOUT || [ "$FORCE_BUILD" -eq 0 ] && {
- clear_pkgdist
prepare_workspace && {
+ clear_pkgdist
build_packages
}
}
diff --git a/bin/gitcreate b/bin/gitcreate
index 612173b..159b298 100755
--- a/bin/gitcreate
+++ b/bin/gitcreate
@@ -6,7 +6,7 @@ GIT_USER=
GIT_HOSTNAME=
GIT_SSH_PORT=22
-PREFIX=$(echo $0 | cut -d"-" -f1)
+PREFIX=$(echo `basename $0` | cut -d"-" -f1)
. ~/.buildscripts/$PREFIX.conf
diff --git a/home/.buildscripts/itzks.conf b/home/.buildscripts/itzks.conf
index 93d50b5..f1df69d 100644
--- a/home/.buildscripts/itzks.conf
+++ b/home/.buildscripts/itzks.conf
@@ -1,4 +1,18 @@
-# buildscripts configuration for NWT build server
+# buildscripts configuration for ITZKS build server
GIT_USER=itzks
-GIT_HOSTNAME=code.itzks.org
+GIT_HOSTNAME=code.it-zukunft-schule.de
GIT_SSH_PORT=32032
+
+DEBEMAIL=itzks-packages@it-zukunft-schule.de
+DEBFULLNAME="ITZKS Packages"
+GPG_KEY="E41B37C658842183"
+
+DISTS_SUPPORTED="debian ubuntu"
+BUILDS_FOR="\
+debian: lenny squeeze wheezy sid\n\
+ubuntu: lucid precise"
+
+COMPONENT_MAIN="main"
+COMPONENT_NIGHTLY="nightly"
+REPOS_SERVER="packages.it-zukunft-schule.de"
+PACKAGE_WITHOUT_OTHERMIRROR="itzks-keyring"
diff --git a/home/.buildscripts/nwt.conf b/home/.buildscripts/nwt.conf
index e2fece8..845377d 100644
--- a/home/.buildscripts/nwt.conf
+++ b/home/.buildscripts/nwt.conf
@@ -10,13 +10,12 @@ GPG_KEY="4DC41CF116990FF8"
DISTS_SUPPORTED="debian ubuntu"
BUILDS_FOR="\
debian: lenny squeeze wheezy sid\n\
-ubuntu: lucid precise\n\
-"
+ubuntu: lucid precise"
COMPONENT_MAIN="main"
COMPONENT_NIGHTLY="nightly"
REPOS_SERVER="packages.das-netzwerkteam.de"
-
+PACKAGE_WITHOUT_OTHERMIRROR="nwt-keyring"
diff --git a/home/.buildscripts/x2go.conf b/home/.buildscripts/x2go.conf
index c960f23..e8e9dcd 100644
--- a/home/.buildscripts/x2go.conf
+++ b/home/.buildscripts/x2go.conf
@@ -1,4 +1,20 @@
-# buildscripts configuration for NWT build server
+# buildscripts configuration for X2Go build server
+
GIT_USER=x2go
GIT_HOSTNAME=code.x2go.org
GIT_SSH_PORT=32032
+
+DEBEMAIL=git-admin@x2go.org
+DEBFULLNAME="X2go Git Administrator"
+GPG_KEY="F4A7678C9C6B0B2B"
+DISTS_SUPPORTED="debian"
+BUILDS_FOR="\
+debian: squeeze wheezy sid"
+
+COMPONENT_MAIN="main"
+COMPONENT_NIGHTLY="heuler"
+REPOS_SERVER="packages.x2go.org"
+PACKAGE_WITHOUT_OTHERMIRROR="x2go-keyring"
+
+
+