diff options
author | Sascha Silbe <silbe@buildslave-debian-squeeze-64bit.sugarlabs.org> | 2010-06-12 19:38:09 (GMT) |
---|---|---|
committer | Sascha Silbe <silbe@buildslave-debian-squeeze-64bit.sugarlabs.org> | 2010-06-12 19:38:09 (GMT) |
commit | 212ae1ae71f86f9120d48905fbc4c7e92871c5ea (patch) | |
tree | 0065682688315e50f8fb42c78e43e9bf22d97e88 |
initial version (apparently working)
-rwxr-xr-x | build-snapshots | 64 | ||||
-rw-r--r-- | pbuilderrc | 4 | ||||
-rwxr-xr-x | setup-cowbuilder | 8 | ||||
-rwxr-xr-x | setup-snapshots | 17 | ||||
-rwxr-xr-x | update-cowbuilder | 6 |
5 files changed, 99 insertions, 0 deletions
diff --git a/build-snapshots b/build-snapshots new file mode 100755 index 0000000..d01fcba --- /dev/null +++ b/build-snapshots @@ -0,0 +1,64 @@ +#!/bin/bash +repo_clean() { + git reset --hard + git clean -d -f -q -x +} + +repo_update() { + git checkout upstream + git pull upstream master + git checkout master + git pull origin master + git pull . upstream +} + +version_set() { + local version="$(git tag|grep ^v|tr -d v|sort -t . -n|tail -n 1)" + local commit="$(git rev-parse upstream)" + dch -v "${version}-git$(date +%Y%m%d)-1" "Nightly snapshot build. Last commit ${commit}." +# git-dch --snapshot --auto + git commit -m "Add changelog entry for nightly snapshot build (commit ${commit})" debian/changelog +} + +gen_and_import_tarball() { + local package="${1}" + git checkout upstream + ./autogen.sh + make dist-gzip + local version="$(grep '^VERSION = ' Makefile |sed -e 's/^VERSION = //')" + mv "${package}-${version}".tar.gz ../tarballs/"${package}-${version}~git$(date +%Y%m%d).tar.gz" + repo_clean + git-import-orig "${package}-${version}".tar.gz +} + +build() { + git-buildpackage --git-builder="pdebuild --configfile ${MYDIR}/pbuilderrc --debbuildopts '-I.git -i\.git'" --git-cleaner="fakeroot debian/rules clean" --git-no-pristine-tar --git-export-dir=../build +} + +upload_all() { + rsync -av -e "ssh -o IdentitiesOnly=yes -i \"${MYDIR}\"/id_rsa-sunjammer-snaphots" cowbuilder/result/ silbe@sunjammer.sugarlabs.org::debian-snapshots/pool/${DISTRIBUTION}/main/ +} + +package_apply() { + local package="${1}" + shift + ( set -e ; cd "${package}" ; "$@" ) +} + +MYDIR="$(readlink -f "$(dirname "${0}")")" +export COWBUILDERBASE="${MYDIR}/cowbuilder" +export DISTRIBUTION="$(tr -cd A-Za-z0-9._- < "${MYDIR}"/config.distro)" + +for package in sugar sugar-artwork sugar-base sugar-datastore sugar-presence-service sugar-toolkit; do +#for package in sugar; do + ( + set -e + package_apply "${package}" repo_clean + package_apply "${package}" repo_update + package_apply "${package}" version_set + package_apply "${package}" build +# package_apply "${package}" upload + ) +done + +upload_all diff --git a/pbuilderrc b/pbuilderrc new file mode 100644 index 0000000..4e58954 --- /dev/null +++ b/pbuilderrc @@ -0,0 +1,4 @@ +DISTRIBUTION="${DISTRIBUTION:-sid}" +BUILDRESULT="${COWBUILDERBASE}"/result +BASEPATH="${COWBUILDERBASE}"/base.cow +PDEBUILD_PBUILDER=cowbuilder diff --git a/setup-cowbuilder b/setup-cowbuilder new file mode 100755 index 0000000..5a19f79 --- /dev/null +++ b/setup-cowbuilder @@ -0,0 +1,8 @@ +#!/bin/sh +set -e +MYDIR="$(readlink -f "$(dirname "${0}")")" +export COWBUILDERBASE="${MYDIR}/cowbuilder" +export DISTRIBUTION="$(tr -cd A-Za-z0-9._- < "${MYDIR}"/config.distro)" + +mkdir "${COWBUILDERBASE}" +cowbuilder --create --configfile "${MYDIR}/pbuilderrc" diff --git a/setup-snapshots b/setup-snapshots new file mode 100755 index 0000000..11eb408 --- /dev/null +++ b/setup-snapshots @@ -0,0 +1,17 @@ +#!/bin/sh +set -e + +for package in sugar sugar-artwork sugar-base sugar-datastore sugar-presence-service sugar-toolkit; do +#for package in sugar; do + git clone -q git://git.debian.org/git/collab-maint/"${package}" + cd "${package}" + git remote add upstream git://git.sugarlabs.org/"${package}"/mainline.git + git fetch -q --tags upstream +# git branch upstream upstream/master + git branch upstream origin/upstream + debian/rules get-orig-source + cd .. +done + +#mkdir tarballs + diff --git a/update-cowbuilder b/update-cowbuilder new file mode 100755 index 0000000..61c0bbf --- /dev/null +++ b/update-cowbuilder @@ -0,0 +1,6 @@ +#!/bin/sh +set -e +MYDIR="$(readlink -f "$(dirname "${0}")")" +DISTRO="$(tr -cd A-Za-z0-9._- < "${MYDIR}"/config.distro)" + +cowbuilder --update --basepath "${MYDIR}"/cowbuilder/base.cow --buildplace "${MYDIR}"/cowbuilder/build --distribution "${DISTRO}" |