[Qa-jenkins-scm] [jenkins.debian.net] 01/01: reproducible archlinux: fixup remote building with repository support
Holger Levsen
holger at moszumanska.debian.org
Fri Dec 11 13:27:39 UTC 2015
This is an automated email from the git hooks/post-receive script.
holger pushed a commit to branch master
in repository jenkins.debian.net.
commit 34d41585eb606e747f02bb9c411821e3e5ecb009
Author: Holger Levsen <holger at layer-acht.org>
Date: Fri Dec 11 14:27:17 2015 +0100
reproducible archlinux: fixup remote building with repository support
---
bin/jenkins_node_wrapper.sh | 2 +-
bin/reproducible_build_archlinux_pkg.sh | 32 ++++++++++++++++++--------------
2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/bin/jenkins_node_wrapper.sh b/bin/jenkins_node_wrapper.sh
index 5c2d24b..22aa3e6 100755
--- a/bin/jenkins_node_wrapper.sh
+++ b/bin/jenkins_node_wrapper.sh
@@ -108,7 +108,7 @@ elif [[ "$*" =~ reproducible_setup_schroot_archlinux ]] ; then
elif [[ "$*" =~ reproducible_setup_mock_fedora23_x86_64 ]] ; then
exec /srv/jenkins/bin/reproducible_setup_mock.sh fedora-23 x86_64 ; croak "Exec failed";
elif [ "$1" = "/srv/jenkins/bin/reproducible_build_archlinux_pkg.sh" ] && ( [ "$2" = "1" ] || [ "$2" = "2" ] ) ; then
- exec /srv/jenkins/bin/reproducible_build_archlinux_pkg.sh "$2" "$3" "$4" ; croak "Exec failed";
+ exec /srv/jenkins/bin/reproducible_build_archlinux_pkg.sh "$2" "$3" "$4" "$5" ; croak "Exec failed";
elif [ "$*" = "some_jenkins_job_name" ] ; then
exec echo run any commands here ; croak "Exec failed";
fi
diff --git a/bin/reproducible_build_archlinux_pkg.sh b/bin/reproducible_build_archlinux_pkg.sh
index 7c0885d..38f51a2 100755
--- a/bin/reproducible_build_archlinux_pkg.sh
+++ b/bin/reproducible_build_archlinux_pkg.sh
@@ -45,26 +45,29 @@ choose_package() {
touch -d "$(date -d '2 days ago' '+%Y-%m-%d') 00:00 UTC" $DUMMY
local SESSION="archlinux-scheduler-$RANDOM"
schroot --begin-session --session-name=$SESSION -c jenkins-reproducible-archlinux
- for REPOSITORY in core extra ; do
- if [ ! -f ${ARCHLINUX_PKGS}_$REPOSITORY ] || [ $DUMMY -nt ${ARCHLINUX_PKGS}_$REPOSITORY ] ; then
- echo "$(date -u ) - updating list of available packages in repository '$REPOSITORY'."
- schroot --run-session -c $SESSION --directory /var/abs/$REPOSITORY -- ls -1|sort -R|xargs echo > ${ARCHLINUX_PKGS}_$REPOSITORY
- echo "$(date -u ) - these packages in repository '$REPOSITORY' are known to us:"
- cat ${ARCHLINUX_PKGS}_$REPOSITORY
+ local REPO
+ for REPO in core extra ; do
+ if [ ! -f ${ARCHLINUX_PKGS}_$REPO ] || [ $DUMMY -nt ${ARCHLINUX_PKGS}_$REPO ] ; then
+ echo "$(date -u ) - updating list of available packages in repository '$REPO'."
+ schroot --run-session -c $SESSION --directory /var/abs/$REPO -- ls -1|sort -R|xargs echo > ${ARCHLINUX_PKGS}_$REPO
+ echo "$(date -u ) - these packages in repository '$REPO' are known to us:"
+ cat ${ARCHLINUX_PKGS}_$REPO
fi
done
schroot --end-session -c $SESSION
rm $DUMMY > /dev/null
- for REPOSITORY in core extra ; do
- case $REPOSITORY in
+ local PKG
+ for REPO in core extra ; do
+ case $REPO in
core) MIN_AGE=6
;;
extra) MIN_AGE=27
;;
esac
- for PKG in $(cat ${ARCHLINUX_PKGS}_$REPOSITORY) ; do
+ for PKG in $(cat ${ARCHLINUX_PKGS}_$REPO) ; do
# build package if it has never build or at least $MIN_AGE days ago
- if [ ! -d $BASE/archlinux/$REPOSITORY/$PKG ] || [ ! -z $(find $BASE/archlinux/$REPOSITORY/ -name $PKG -mtime +$MIN_AGE) ] ; then
+ if [ ! -d $BASE/archlinux/$REPO/$PKG ] || [ ! -z $(find $BASE/archlinux/$REPO/ -name $PKG -mtime +$MIN_AGE) ] ; then
+ REPOSITORY=$REPO
SRCPACKAGE=$PKG
echo "$(date -u ) - building package $PKG from '$REPOSITORY' now..."
# very simple locking…
@@ -161,11 +164,11 @@ remote_build() {
sleep ${SLEEPTIME}m
exec /srv/jenkins/bin/abort.sh
fi
- ssh -p $PORT $NODE /srv/jenkins/bin/reproducible_build_archlinux_pkg.sh $BUILDNR ${SRCPACKAGE} ${TMPDIR}
+ ssh -p $PORT $NODE /srv/jenkins/bin/reproducible_build_archlinux_pkg.sh $BUILDNR $REPOSITORY ${SRCPACKAGE} ${TMPDIR}
RESULT=$?
if [ $RESULT -ne 0 ] ; then
ssh -p $PORT $NODE "rm -r $TMPDIR" || true
- handle_remote_error "with exit code $RESULT from $NODE for build #$BUILDNR for ${SRCPACKAGE}"
+ handle_remote_error "with exit code $RESULT from $NODE for build #$BUILDNR for ${SRCPACKAGE} from $REPOSITORY"
fi
rsync -e "ssh -p $PORT" -r $NODE:$TMPDIR/b$BUILDNR $TMPDIR/
RESULT=$?
@@ -204,8 +207,9 @@ if [ "$1" = "" ] ; then
MODE="master"
elif [ "$1" = "1" ] || [ "$1" = "2" ] ; then
MODE="$1"
- SRCPACKAGE="$2"
- TMPDIR="$3"
+ REPOSITORY="$2"
+ SRCPACKAGE="$3"
+ TMPDIR="$4"
[ -d $TMPDIR ] || mkdir -p $TMPDIR
cd $TMPDIR
mkdir -p b$MODE/$SRCPACKAGE
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git
More information about the Qa-jenkins-scm
mailing list