- job: name: build-package project-type: matrix defaults: global logrotate: daysToKeep: 30 numToKeep: 30 properties: - authorization: anonymous: - job-read - job-extended-read linaro: - job-read - job-extended-read - job-build - job-cancel parameters: - string: name: codename default: 'vivid' description: 'distribution codename targeted: vivid, utopic or jessie' - string: name: source description: 'dsc source url or filename' - string: name: repo description: 'repository to upload to' default: 'linaro-overlay' axes: - axis: type: slave name: label values: - docker-vivid - docker-vivid-arm64 - docker-vivid-armhf - docker-utopic - docker-utopic-arm64 - docker-utopic-armhf - docker-jessie-arm64 execution-strategy: sequential: false disabled: false display-name: 'Build package' wrappers: - timestamps - matrix-tie-parent: node: master builders: - shell: | #!/bin/bash set -ex arch=`dpkg-architecture -qDEB_HOST_ARCH` dist=`lsb_release -sc` if [ "$dist" != "$codename" ] then echo "$codename requested while we are $dist, skip" exit 0 fi # arm64 is the must build target with source uploads for all dists if [ $arch = arm64 ] then buildpackage_params="-sa" else buildpackage_params="-B" fi [ $arch = armhf ] && personality=linux32 echo "arch: $arch" echo "dist: $dist" echo "source: $source" echo "repo: $repo" sudo rm -f *.changes repo work /etc/apt/sources.list.d/local.list # build a source repo for apt-get build-dep mkdir repo && cd repo dget --insecure -d -u $source dpkg-scansources . /dev/null > Sources.gz echo "deb-src file:$(pwd) /" > local.list echo "deb http://repo.linaro.org/ubuntu/linaro-overlay ${dist} main" >> local.list if [ "${repo}" != "linaro-overlay" ]; then echo "deb http://repo.linaro.org/ubuntu/${repo} ${dist} main" >> local.list fi sudo cp local.list /etc/apt/sources.list.d/ cd .. localdsc=`echo $source|sed -e "s,.*/,$(pwd)/repo/,"` sourcename=`basename ${localdsc}|sed -e 's,_.*,,'` wget -O - http://repo.linaro.org/ubuntu/linarorepo.key|sudo apt-key add - export DEBIAN_FRONTEND=noninteractive sudo apt-get update||true sudo apt-get install --no-install-recommends -y build-essential fakeroot sudo apt-get build-dep --no-install-recommends -y ${sourcename} rm -rf work/ dpkg-source -x ${localdsc} work/ # Changelog header tampering sed -i -e '1 s,).*;,.'linaro$dist.1') '$dist';,' work/debian/changelog cd work/ && $personality dpkg-buildpackage -rfakeroot -j`getconf _NPROCESSORS_ONLN` $buildpackage_params cd .. ls -l . change=`echo *changes` if [ ! -r $change ] then echo "no changes file" exit 1 else cat $change fi cat > repo.parameters << EOF pkg_job_name=${JOB_NAME} key_id=B86C70FE pkg_changes=${change} host_ppa=${repo} EOF publishers: - copy-to-master: includes: - '*.changes, *.dsc, *.gz, *.bz2, *.xz, *.deb, *.udeb, repo.parameters' - trigger-parameterized-builds: - project: post-build-repo property-file: "label/docker-${codename}-arm64/repo.parameters" fail-on-missing: true - project: post-build-repo property-file: "label/docker-${codename}-armhf/repo.parameters" fail-on-missing: true - project: post-build-repo property-file: "label/docker-${codename}/repo.parameters" fail-on-missing: true - email: recipients: 'fathi.boudra@linaro.org riku.voipio@linaro.org'