From baf582456e485e2e4272c0b888f9ccdb10cde499 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 20 Dec 2011 21:26:26 +0100 Subject: reworked buildscripts completely, so that they can be used for several projects --- bin/build-package | 263 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100755 bin/build-package (limited to 'bin/build-package') diff --git a/bin/build-package b/bin/build-package new file mode 100755 index 0000000..f9c1648 --- /dev/null +++ b/bin/build-package @@ -0,0 +1,263 @@ +#!/bin/bash + +# Copyright (C) 2011 by Mike Gabriel +# +# This programme is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This programme is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +GIT_USER="gituser" +GIT_HOSTNAME="git.mydomain.org" + +DEBEMAIL="firstname.lastname@mydomain.org" +DEBFULLNAME="Firstname Lastname" +GPG_KEY= +DISTS_SUPPORTED="debian ubuntu" +BUILDS_FOR="\ +debian: squeeze wheezy sid\n\ +ubuntu: lucid precise\n\ +" + +COMPONENT_MAIN="main" +COMPONENT_NIGHTLY="nightly" +REPOS_SERVER="packages.mydomain.org" + +test -z $1 && { echo "usage: $(basename $0) [/] {main,main/,nightly,nightly/} []"; exit -1; } + +PREFIX=$(echo $0 | cut -d"-" -f1) +test -f ~/.buildscripts/$PREFIX.conf && . ~/.buildscripts/$PREFIX.conf || { echo "$0 has no valid context prefix..."; exit -1; } + +set -ex + +set_vars() { + USE_SUDO="yes" + PDEBUILD="pdebuild --pbuilder qemubuilder" + TEMP_BASE="$HOME/tmp/" + mkdir -p "$TEMP_BASE" + chmod 2770 "$TEMP_BASE" + + # first argv is the name of the Git project + PROJECT_PATH="$1" + PROJECT_PATH=${PROJECT_PATH/%.git/} + PROJECT="$(basename $PROJECT_PATH)" + + # grab repository component area from command line (2nd argv) or guess it + ARGV2_COMPONENT="$(echo "$2/" | cut -d"/" -f1)" + ARGV2_CODENAME="$(echo "$2/" | cut -d"/" -f2)" + COMPONENT="${ARGV2_COMPONENT:-${COMPONENT:-$COMPONENT_NIGHTLY}}" + CODENAMES="${ARGV2_CODENAME:-${CODENAMES}}" + [ -n "$ARGV2_CODENAME" ] && FORCE_BUILD=0 || FORCE_BUILD=-1 + if [ "x$COMPONENT" = "x$COMPONENT_MAIN" ]; then + CHECKOUT="${3:-build-main}" + elif [ "x$COMPONENT" = "x$COMPONENT_NIGHTLY" ]; then + CHECKOUT="${3:-master}" + DATE="~${DATE:-$(date +%Y%m%d)}" + else + echo "error: no such package component area for this Git project. Aborting..." + exit -1 + fi + # the DATE might be given as ,,today'' from the command line + [ "x$DATE" = "xtoday" ] && DATE="~$(date +%Y%m%d)" + + # setting paths + PROJECT_DIR="$HOME/build/$COMPONENT/$PROJECT" + PKGDIST="$HOME/pkg-dist/$COMPONENT/$PROJECT" + + # build for other architectures than amd64/i386 + EXTRA_ARCHS="${EXTRA_ARCHS:-}" + EXTRA_ARCHS_ONLY="${EXTRA_ARCHS_ONLY:-}" + + # creating paths + mkdir -p "$TEMP_BASE" + mkdir -p "$PROJECT_DIR" + mkdir -p "$PKGDIST" + + 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])}" + echo "$DISTS_SUPPORTED" | grep $l_DIST >/dev/null && { + for l_CODENAME in $CODENAMES; do + if [ "x$EXTRA_ARCHS_ONLY" = "x" ]; then + for l_ARCH in amd64 i386; do + mkdir -p "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH" + rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH/$PROJECT_*.changes" + rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH/$PROJECT_*.upload" + rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH/$PROJECT_*.build" + rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH/$PROJECT_*.dsc" + rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH/$PROJECT_*.tar.gz" + rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH/*.deb" + done + fi + for l_EXTRA_ARCH in $EXTRA_ARCHS; do + mkdir -p "$PKGDIST/$l_DIST/$l_CODENAME/$l_EXTRA_ARCH" + rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_EXTRA_ARCH/$PROJECT_*.changes" + rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_EXTRA_ARCH/$PROJECT_*.upload" + rm -f "$PKGDIST/$l_DIST/$l_CODENAME/$l_EXTRA_ARCH/$PROJECT_*.build" + 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 + 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])}" + echo "$DISTS_SUPPORTED" | grep $l_DIST >/dev/null && { + for l_CODENAME in $CODENAMES; do + TEMP_DIR="$(mktemp -d --tmpdir=$TEMP_BASE)" + mkdir -p "$TEMP_DIR/$PROJECT" + chmod 2770 "$TEMP_DIR" -Rf + git clone --local "$PROJECT_DIR" "$TEMP_DIR/$PROJECT/" + cd "$TEMP_DIR/$PROJECT" + git checkout $CHECKOUT || git checkout master + GITREV=$(gitrevno) + # we always build native packages for our repos + test -f debian/source/format && cat debian/source/format | egrep '^3.0.*\(quilt\)$' >/dev/null && { + echo "3.0 (native)" > debian/source/format + } + # translate the version name for Debian releases + [ "x$l_CODENAME" = "xsid" ] && VERSION=unstable + [ "x$l_CODENAME" = "xwheezy" ] && VERSION=testing + [ "x$l_CODENAME" = "xsqueeze" ] && VERSION=stable + [ "x$l_CODENAME" = "xlenny" ] && VERSION=oldstable + + # modify the section for non-main package builds + [ "x$COMPONENT" != "xmain" ] || { + mv debian/control debian/control.tmp + cat debian/control.tmp | sed "s#Section:[\ ]*\(.*\)#Section: $COMPONENT/\1#g" > debian/control + } + + # 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" + [ "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" + } + 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 + } + } + 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 + } + 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 + } + 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 + } + } + 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 + } + done + } + cd - + rm -Rf "$TEMP_DIR" + done + echo + } + echo + done + echo + return 0 +} + +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 + if [ "x$EXTRA_ARCHS_ONLY" = "x" ]; then + for l_ARCH in amd64 i386; do + cd "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH" + ls "$PROJECT_*.changes" &>/dev/null && dupload --to $PREFIX-$l_DIST-$l_CODENAME "$PROJECT_*.changes" + cd - + done + fi + for l_EXTRA_ARCH in $EXTRA_ARCHS; do + cd "$PKGDIST/$l_DIST/$l_CODENAME/$l_EXTRA_ARCH" + ls "$PROJECT_*.changes" &>/dev/null && dupload --to $PREFIX-$l_DIST-$l_CODENAME "$PROJECT_*.changes" + cd - + done + done + done + cd - + return 0 +} + +### MAIN ### +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 && { + build_packages + } + } + fi + if [ "x$(basename $0)" = "x$PREFIX-upload-package" ] || [ "x$(basename $0)" = "x$PREFIX-build+upload-package" ]; then + upload_packages + fi +} -- cgit v1.2.3 From 62b47aba27c20caf5d4fb2dea10c3ea1a724d3dd Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Wed, 21 Dec 2011 00:02:55 +0100 Subject: fixed scripts, configured other build servers --- bin/build-all-packages | 2 +- bin/build-package | 113 ++++++++++++++++++++++++------------------ bin/gitcreate | 2 +- home/.buildscripts/itzks.conf | 18 ++++++- home/.buildscripts/nwt.conf | 5 +- home/.buildscripts/x2go.conf | 18 ++++++- 6 files changed, 101 insertions(+), 57 deletions(-) (limited to 'bin/build-package') 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) [/] {main,main/,nightly,nightly/} []"; 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" + + + -- cgit v1.2.3 From 0aa148fdd5fec10290622f32bede3c640a0a153a Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Wed, 21 Dec 2011 00:10:17 +0100 Subject: manage several dupload configs --- bin/build-package | 4 ++-- home/.dupload.conf | 37 ------------------------------------- home/.dupload.conf.itzks | 37 +++++++++++++++++++++++++++++++++++++ home/.dupload.conf.nwt | 37 +++++++++++++++++++++++++++++++++++++ home/.dupload.conf.x2go | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 113 insertions(+), 39 deletions(-) delete mode 100644 home/.dupload.conf create mode 100644 home/.dupload.conf.itzks create mode 100644 home/.dupload.conf.nwt create mode 100644 home/.dupload.conf.x2go (limited to 'bin/build-package') diff --git a/bin/build-package b/bin/build-package index cc7a9d4..8a1f94f 100755 --- a/bin/build-package +++ b/bin/build-package @@ -247,13 +247,13 @@ upload_packages() { if [ "x$EXTRA_ARCHS_ONLY" = "x" ]; then for l_ARCH in amd64 i386; do cd "$PKGDIST/$l_DIST/$l_CODENAME/$l_ARCH" - ls "$PROJECT_*.changes" &>/dev/null && dupload --to $PREFIX-$l_DIST-$l_CODENAME "$PROJECT_*.changes" + ls "$PROJECT_*.changes" &>/dev/null && dupload -c ~/.dupload.conf.$PREFIX --to $PREFIX-$l_DIST-$l_CODENAME "$PROJECT_*.changes" cd - done fi for l_EXTRA_ARCH in $EXTRA_ARCHS; do cd "$PKGDIST/$l_DIST/$l_CODENAME/$l_EXTRA_ARCH" - ls "$PROJECT_*.changes" &>/dev/null && dupload --to $PREFIX-$l_DIST-$l_CODENAME "$PROJECT_*.changes" + ls "$PROJECT_*.changes" &>/dev/null && dupload -c ~/.dupload.conf.$PREFIX --to $PREFIX-$l_DIST-$l_CODENAME "$PROJECT_*.changes" cd - done done diff --git a/home/.dupload.conf b/home/.dupload.conf deleted file mode 100644 index d4ba622..0000000 --- a/home/.dupload.conf +++ /dev/null @@ -1,37 +0,0 @@ -package config; - -### nwt/DEBIAN -$cfg{"nwt-debian-sid"} = { - fqdn => "packages.das-netzwerkteam.de", - login => "nwt-admin", - method => "scpb", - incoming => "/srv/sites/das-netzwerkteam.de/packages/debian/incoming/sid", - queuedir => "/srv/sites/das-netzwerkteam.de/packages/debian/upload/sid", - dinstall_runs => 1, -}; -$cfg{"nwt-debian-wheezy"} = { - fqdn => "packages.das-netzwerkteam.de", - login => "nwt-admin", - method => "scpb", - incoming => "/srv/sites/das-netzwerkteam.de/packages/debian/incoming/wheezy", - queuedir => "/srv/sites/das-netzwerkteam.de/packages/debian/upload/wheezy", - dinstall_runs => 1, -}; -$cfg{"nwt-debian-squeeze"} = { - fqdn => "packages.das-netzwerkteam.de", - login => "nwt-admin", - method => "scpb", - incoming => "/srv/sites/das-netzwerkteam.de/packages/debian/incoming/squeeze", - queuedir => "/srv/sites/das-netzwerkteam.de/packages/debian/upload/squeeze", - dinstall_runs => 1, -}; -$cfg{"nwt-debian-lenny"} = { - fqdn => "packages.das-netzwerkteam.de", - login => "nwt-admin", - method => "scpb", - incoming => "/srv/sites/das-netzwerkteam.de/packages/debian/incoming/lenny", - queuedir => "/srv/sites/das-netzwerkteam.de/packages/debian/upload/lenny", - dinstall_runs => 1, -}; - -1; diff --git a/home/.dupload.conf.itzks b/home/.dupload.conf.itzks new file mode 100644 index 0000000..7e25854 --- /dev/null +++ b/home/.dupload.conf.itzks @@ -0,0 +1,37 @@ +package config; + +### itzks/DEBIAN +$cfg{"itzks-debian-sid"} = { + fqdn => "packages.it-zukunft-schule.de", + login => "itzks-admin", + method => "scpb", + incoming => "/srv/sites/it-zukunft-schule.de/packages/debian/incoming/sid", + queuedir => "/srv/sites/it-zukunft-schule.de/packages/debian/upload/sid", + dinstall_runs => 1, +}; +$cfg{"itzks-debian-wheezy"} = { + fqdn => "packages.it-zukunft-schule.de", + login => "itzks-admin", + method => "scpb", + incoming => "/srv/sites/it-zukunft-schule.de/packages/debian/incoming/wheezy", + queuedir => "/srv/sites/it-zukunft-schule.de/packages/debian/upload/wheezy", + dinstall_runs => 1, +}; +$cfg{"itzks-debian-squeeze"} = { + fqdn => "packages.it-zukunft-schule.de", + login => "itzks-admin", + method => "scpb", + incoming => "/srv/sites/it-zukunft-schule.de/packages/debian/incoming/squeeze", + queuedir => "/srv/sites/it-zukunft-schule.de/packages/debian/upload/squeeze", + dinstall_runs => 1, +}; +$cfg{"itzks-debian-lenny"} = { + fqdn => "packages.it-zukunft-schule.de", + login => "itzks-admin", + method => "scpb", + incoming => "/srv/sites/it-zukunft-schule.de/packages/debian/incoming/lenny", + queuedir => "/srv/sites/it-zukunft-schule.de/packages/debian/upload/lenny", + dinstall_runs => 1, +}; + +1; diff --git a/home/.dupload.conf.nwt b/home/.dupload.conf.nwt new file mode 100644 index 0000000..d4ba622 --- /dev/null +++ b/home/.dupload.conf.nwt @@ -0,0 +1,37 @@ +package config; + +### nwt/DEBIAN +$cfg{"nwt-debian-sid"} = { + fqdn => "packages.das-netzwerkteam.de", + login => "nwt-admin", + method => "scpb", + incoming => "/srv/sites/das-netzwerkteam.de/packages/debian/incoming/sid", + queuedir => "/srv/sites/das-netzwerkteam.de/packages/debian/upload/sid", + dinstall_runs => 1, +}; +$cfg{"nwt-debian-wheezy"} = { + fqdn => "packages.das-netzwerkteam.de", + login => "nwt-admin", + method => "scpb", + incoming => "/srv/sites/das-netzwerkteam.de/packages/debian/incoming/wheezy", + queuedir => "/srv/sites/das-netzwerkteam.de/packages/debian/upload/wheezy", + dinstall_runs => 1, +}; +$cfg{"nwt-debian-squeeze"} = { + fqdn => "packages.das-netzwerkteam.de", + login => "nwt-admin", + method => "scpb", + incoming => "/srv/sites/das-netzwerkteam.de/packages/debian/incoming/squeeze", + queuedir => "/srv/sites/das-netzwerkteam.de/packages/debian/upload/squeeze", + dinstall_runs => 1, +}; +$cfg{"nwt-debian-lenny"} = { + fqdn => "packages.das-netzwerkteam.de", + login => "nwt-admin", + method => "scpb", + incoming => "/srv/sites/das-netzwerkteam.de/packages/debian/incoming/lenny", + queuedir => "/srv/sites/das-netzwerkteam.de/packages/debian/upload/lenny", + dinstall_runs => 1, +}; + +1; diff --git a/home/.dupload.conf.x2go b/home/.dupload.conf.x2go new file mode 100644 index 0000000..8e68292 --- /dev/null +++ b/home/.dupload.conf.x2go @@ -0,0 +1,37 @@ +package config; + +### X2go/DEBIAN +$cfg{"x2go-debian-sid"} = { + fqdn => "code.x2go.org", + login => "x2go-admin", + method => "scpb", + incoming => "/srv/sites/x2go.org/packages/debian/incoming/sid", + queuedir => "/srv/sites/x2go.org/packages/debian/upload/sid", + dinstall_runs => 1, +}; +$cfg{"x2go-debian-wheezy"} = { + fqdn => "code.x2go.org", + login => "x2go-admin", + method => "scpb", + incoming => "/srv/sites/x2go.org/packages/debian/incoming/wheezy", + queuedir => "/srv/sites/x2go.org/packages/debian/upload/wheezy", + dinstall_runs => 1, +}; +$cfg{"x2go-debian-squeeze"} = { + fqdn => "code.x2go.org", + login => "x2go-admin", + method => "scpb", + incoming => "/srv/sites/x2go.org/packages/debian/incoming/squeeze", + queuedir => "/srv/sites/x2go.org/packages/debian/upload/squeeze", + dinstall_runs => 1, +}; +$cfg{"x2go-debian-lenny"} = { + fqdn => "code.x2go.org", + login => "x2go-admin", + method => "scpb", + incoming => "/srv/sites/x2go.org/packages/debian/incoming/lenny", + queuedir => "/srv/sites/x2go.org/packages/debian/upload/lenny", + dinstall_runs => 1, +}; + +1; -- cgit v1.2.3