summaryrefslogtreecommitdiff
path: root/bin
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 /bin
parentbaf582456e485e2e4272c0b888f9ccdb10cde499 (diff)
downloadbuildscripts-62b47aba27c20caf5d4fb2dea10c3ea1a724d3dd.tar.gz
buildscripts-62b47aba27c20caf5d4fb2dea10c3ea1a724d3dd.tar.bz2
buildscripts-62b47aba27c20caf5d4fb2dea10c3ea1a724d3dd.zip
fixed scripts, configured other build servers
Diffstat (limited to 'bin')
-rwxr-xr-xbin/build-all-packages2
-rwxr-xr-xbin/build-package113
-rwxr-xr-xbin/gitcreate2
3 files changed, 66 insertions, 51 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