From 2f81aceb09ebf0973bda391337a1c8c6c1921e38 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 20 Apr 2017 11:06:19 +0200 Subject: reproducible fdroid: create build job separate from setup Signed-off-by: Holger Levsen --- bin/reproducible_fdroid_build_all_profitbricks7.sh | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 bin/reproducible_fdroid_build_all_profitbricks7.sh (limited to 'bin/reproducible_fdroid_build_all_profitbricks7.sh') diff --git a/bin/reproducible_fdroid_build_all_profitbricks7.sh b/bin/reproducible_fdroid_build_all_profitbricks7.sh new file mode 100644 index 00000000..cbc25a77 --- /dev/null +++ b/bin/reproducible_fdroid_build_all_profitbricks7.sh @@ -0,0 +1,78 @@ +#!/bin/bash + +# Copyright 2015-2016 Holger Levsen +# released under the GPLv=2 + +# +# + +DEBUG=true +. /srv/jenkins/bin/common-functions.sh +common_init "$@" + +# common code +. /srv/jenkins/bin/reproducible_common.sh + +# define and clean work space (differently than jenkins would normally do as we run via ssh on a different node…) +WORKSPACE=$BASE/fdroid-build +rm $WORKSPACE -rf +mkdir -p $WORKSPACE + +cleanup_all() { + echo "$(date -u) - cleanup in progress..." + killall VBoxHeadless || true + sleep 10 + echo "$(date -u) - cleanup done." +} +trap cleanup_all INT TERM EXIT + +# report info about virtualization +(dmesg | grep -i -e hypervisor -e qemu -e kvm) || true +(lspci | grep -i -e virtio -e virtualbox -e qemu -e kvm) || true +lsmod +if systemd-detect-virt -q ; then + echo "Virtualization is used:" `systemd-detect-virt` +else + echo "No virtualization is used." +fi +sudo /bin/chmod -R a+rX /var/lib/libvirt/images +ls -ld /var/lib/libvirt/images +ls -l /var/lib/libvirt/images || echo no access +ls -lR ~/.vagrant.d/ || echo no access +virsh --connect qemu:///system list --all || echo cannot virsh list +cat /etc/issue + +# point to the Vagrant/VirtualBox configs created by reproducible_setup_fdroid_build_environment.sh +# these variables are actually set in fdroidserver/jenkins-build-makebuildserver +SETUP_WORKSPACE=$BASE/fdroid +export XDG_CONFIG_HOME=$SETUP_WORKSPACE +export VBOX_USER_HOME=$WORKSPACE/VirtualBox +export VAGRANT_HOME=$WORKSPACE/vagrant.d + +# the way we handle jenkins slaves doesn't copy the workspace to the slaves +# so we need to "manually" clone the git repo here… +cd $WORKSPACE +#git clone https://gitlab.com/fdroid/fdroidserver.git +git clone https://gitlab.com/uniqx/fdroidserver.git +cd fdroidserver +git checkout jenkins.debian.net # normally master too + +# set up Android SDK to use the Debian packages in stretch +export ANDROID_HOME=/usr/lib/android-sdk + +# ignore username/password prompt for non-existant repos +git config --global url."https://fakeusername:fakepassword@github.com".insteadOf https://github.com +git config --global url."https://fakeusername:fakepassword@gitlab.com".insteadOf https://gitlab.com +git config --global url."https://fakeusername:fakepassword@bitbucket.org".insteadOf https://bitbucket.org + +# now build the whole archive +cd $WORKSPACE +git clone https://gitlab.com/fdroid/fdroiddata.git +cd fdroiddata +echo "build_server_always = True" > config.py +$WORKSPACE/fdroidserver/fdroid build --verbose --latest --all + + +# remove trap +trap - INT TERM EXIT +echo "$(date -u) - the end." -- cgit v1.2.3-70-g09d2