summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2014-09-23 22:58:35 +0000
committerHolger Levsen <holger@layer-acht.org>2014-09-23 22:58:35 +0000
commite87fe7be08cb07a481c200802bbe4f93053506fd (patch)
tree35663ffd99f129b412e3c8dc122cd8daf873caf9
parent67a9f9997a82a61b0ecdd65e1240ea86d1686451 (diff)
downloadjenkins.debian.net-e87fe7be08cb07a481c200802bbe4f93053506fd.tar.xz
reproducible: misc fixes. new job: build-essential.
-rwxr-xr-xbin/reproducible_build.sh8
-rwxr-xr-xbin/reproducible_setup.sh6
-rw-r--r--job-cfg/reproducible.yaml21
3 files changed, 20 insertions, 15 deletions
diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh
index 6a5f8b3e..0244ee14 100755
--- a/bin/reproducible_build.sh
+++ b/bin/reproducible_build.sh
@@ -31,7 +31,6 @@ for PACKAGE in "$@" ; do
dcmd cp /var/cache/pbuilder/result/${PACKAGE}_*.changes b2
sudo dcmd rm /var/cache/pbuilder/result/${PACKAGE}_*.changes
cat b1/${PACKAGE}_*.changes
-
TMPFILE=$(mktemp)
./misc.git/diffp b1/*.changes b2/*.changes | tee ${TMPFILE}
if $(grep -qv '^\*\*\*\*\*' ${TMPFILE}) ; then
@@ -45,10 +44,15 @@ for PACKAGE in "$@" ; do
let "COUNT_BAD=COUNT_BAD+1"
GOOD="${PACKAGE} ${BAD}"
fi
-
rm b1 b2 ${TMPFILE} -rf
+
+ echo "=============================================================="
+ echo "$COUNT_TOTAL of ${#@} done."
+ echo "=============================================================="
done
+set +x
+echo
echo
echo "$COUNT_TOTAL packages attempted to build in total."
echo "$COUNT_GOOD packages successfully built reproducible: ${GOOD}"
diff --git a/bin/reproducible_setup.sh b/bin/reproducible_setup.sh
index ad0e6cd2..59cb99e0 100755
--- a/bin/reproducible_setup.sh
+++ b/bin/reproducible_setup.sh
@@ -7,7 +7,7 @@
common_init "$@"
TMPFILE=$(mktemp)
-cat > $TMPFILE <<- EOF
+cat > ${TMPFILE} <<- EOF
echo 'deb http://reproducible.alioth.debian.org/debian/ ./' > /etc/apt/sources.list.d/reproducible.list
apt-get update
echo "Warning: Usage of --force-yes to override the apt authentication warning. Don't do this."
@@ -16,5 +16,5 @@ EOF
sudo rm /var/cache/pbuilder/base-reproducible.tgz || true
sudo pbuilder --create --basetgz /var/cache/pbuilder/base-reproducible.tgz --distribution sid
-sudo pbuilder --execute --save-after-exec --basetgz /var/cache/pbuilder/base-reproducible.tgz -- $TMPFILE
-rm $TMPFILE
+sudo pbuilder --execute --save-after-exec --basetgz /var/cache/pbuilder/base-reproducible.tgz -- ${TMPFILE}
+rm ${TMPFILE}
diff --git a/job-cfg/reproducible.yaml b/job-cfg/reproducible.yaml
index 37d30517..a5f33911 100644
--- a/job-cfg/reproducible.yaml
+++ b/job-cfg/reproducible.yaml
@@ -32,38 +32,39 @@
- job-template:
defaults: reproducible
- name: '{name}_build_example_good'
+ name: '{name}_build_test_reproducibility'
publishers:
- email:
recipients: 'jenkins+reproducible holger@layer-acht.org lunar@debian.org'
- job-template:
defaults: reproducible
- name: '{name}_build_example_fail'
+ name: '{name}_build_core'
publishers:
- email:
recipients: 'jenkins+reproducible holger@layer-acht.org lunar@debian.org'
- job-template:
defaults: reproducible
- name: '{name}_build_core'
+ name: '{name}_build_build-essential'
publishers:
- email:
recipients: 'jenkins+reproducible holger@layer-acht.org lunar@debian.org'
+
- project:
name: reproducible
jobs:
- '{name}_setup':
my_description: 'Setup pbuilder for reproducible builds as described in https://wiki.debian.org/ReproducibleBuilds#Usage_example'
my_shell: '/srv/jenkins/bin/reproducible_setup.sh'
- - '{name}_build_example_good':
- my_description: 'Build one package (one we know will succeed) with pbuilder so far....'
- my_shell: '/srv/jenkins/bin/reproducible_build.sh patch hostname debianutils'
- - '{name}_build_example_fail':
- my_description: 'Build one package (one we know will fail) with pbuilder so far....'
- my_shell: '/srv/jenkins/bin/reproducible_build.sh patch lsof'
+ - '{name}_build_test_reproducibility':
+ my_description: 'Reproducible build two packages, one we know will succeed and one which used to fail....'
+ my_shell: '/srv/jenkins/bin/reproducible_build.sh debianutils hostname' # lsof
- '{name}_build_core':
- my_description: 'Build all the core packages as defined by UDD as described in https://wiki.debian.org/ReproducibleBuilds'
+ my_description: 'Reproducible build all the core packages as defined by UDD as described in https://wiki.debian.org/ReproducibleBuilds'
my_shell: '/srv/jenkins/bin/reproducible_build.sh acl adduser base-files base-passwd bash binutils bsdmainutils bsdutils build-essential bzip2 coreutils cpp cpp-4.9 dash debconf debhelper debianutils dh-buildinfo diffutils dmsetup dpkg dpkg-dev e2fslibs e2fsprogs file findutils g++ g++-4.9 gcc gcc-4.9 gcc-4.9-base gettext gettext-base grep groff-base gzip hostname init initscripts insserv intltool-debian libacl1 libasan1 libasprintf0c2 libatomic1 libattr1 libaudit1 libaudit-common libblkid1 libbz2-1.0 libc6 libc6-dev libcap2 libcap2-bin libc-bin libc-dev-bin libcilkrts5 libcloog-isl4 libcomerr2 libcroco3 libcryptsetup4 libdb5.3 libdbus-1-3 libdebconfclient0 libdevmapper1.02.1 libdpkg-perl libffi6 libgcc1 libgcc-4.9-dev libgcrypt11 libgcrypt20 libgdbm3 libglib2.0-0 libgmp10 libgomp1 libgpg-error0 libintl-perl libisl10 libitm1 libkmod2 liblzma5 libmagic1 libmount1 libmpc3 libmpfr4 libncurses5 libncurses5-dev libncursesw5 libpam0g libpam-modules libpam-modules-bin libpam-runtime libpcre3 libpipeline1 libprocps3 libquadmath0 libselinux1 libsemanage1 libsemanage-common libsepol1 libss2 libstdc++-4.9-dev libstdc++6 libsystemd-journal0 libsystemd-login0 libtext-unidecode-perl libtimedate-perl libtinfo5 libtinfo-dev libubsan0 libudev1 libunistring0 libustr-1.0-1 libuuid1 libwrap0 libxml2 libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl linux-libc-dev login lsb-base make man-db mawk mount ncurses-base ncurses-bin passwd patch perl perl-base perl-modules po-debconf procps sed sensible-utils startpar systemd systemd-sysv sysvinit-utils sysv-rc tar texinfo tzdata ucf udev util-linux xz-utils zlib1g'
+ - '{name}_build_build-essential':
+ my_description: 'Reproducible build all packages build-essential depends on.'
+ my_shell: '/srv/jenkins/bin/reproducible_build.sh libc6-dev gcc g++ make dpkg-dev'