- defaults:
name: reproducible
triggers:
- timed: "{my_timed}"
project-type: freestyle
concurrent: True
properties:
- sidebar:
url: https://jenkins.debian.net/userContent/about.html
text: About jenkins.debian.net
icon: /userContent/images/debian-swirl-24x24.png
- sidebar:
url: https://jenkins.debian.net/view/reproducible
text: reproducible builds jobs
icon: /userContent/images/debian-jenkins-24x24.png
- sidebar:
url: http://www.profitbricks.com
text: Sponsored by Profitbricks
icon: /userContent/images/profitbricks-24x24.png
- priority:
job-prio: '150'
- throttle:
max-total: 3
max-per-node: 3
enabled: True
option: category
categories:
- reproducible
description: '{my_description}{my_packages}
Job configuration source is reproducible.yaml.'
logrotate:
daysToKeep: 365
numToKeep: 20
artifactDaysToKeep: -1
artifactNumToKeep: -1
builders:
- shell: '{my_shell} {my_packages}'
publishers:
- email:
recipients: 'jenkins+debian-reproducible holger@layer-acht.org reproducible-commits@lists.alioth.debian.org'
- archive:
artifacts: 'results/*.*'
latest_only: false
- logparser:
parse-rules: '/srv/jenkins/logparse/reproducible.rules'
unstable-on-warning: 'true'
fail-on-error: 'true'
- trigger:
project: 'reproducible_stats'
threshold: 'UNSTABLE'
- defaults:
name: reproducible_setup
triggers:
- timed: "{my_timed}"
project-type: freestyle
properties:
- sidebar:
url: https://jenkins.debian.net/userContent/about.html
text: About jenkins.debian.net
icon: /userContent/images/debian-swirl-24x24.png
- sidebar:
url: https://jenkins.debian.net/view/reproducible
text: reproducible builds jobs
icon: /userContent/images/debian-jenkins-24x24.png
- sidebar:
url: http://www.profitbricks.com
text: Sponsored by Profitbricks
icon: /userContent/images/profitbricks-24x24.png
description: '{my_description}{my_packages}
Job configuration source is reproducible.yaml.'
logrotate:
daysToKeep: 365
numToKeep: 20
artifactDaysToKeep: -1
artifactNumToKeep: -1
builders:
- shell: '{my_shell}'
publishers:
- email:
recipients: 'jenkins+debian-reproducible holger@layer-acht.org reproducible-commits@lists.alioth.debian.org'
- defaults:
name: reproducible_stats
triggers:
- timed: "{my_timed}"
project-type: freestyle
properties:
- sidebar:
url: https://jenkins.debian.net/userContent/about.html
text: About jenkins.debian.net
icon: /userContent/images/debian-swirl-24x24.png
- sidebar:
url: https://jenkins.debian.net/view/reproducible
text: reproducible builds jobs
icon: /userContent/images/debian-jenkins-24x24.png
- sidebar:
url: http://www.profitbricks.com
text: Sponsored by Profitbricks
icon: /userContent/images/profitbricks-24x24.png
description: '{my_description}{my_packages}
Job configuration source is reproducible.yaml.'
logrotate:
daysToKeep: 365
numToKeep: 20
artifactDaysToKeep: -1
artifactNumToKeep: -1
builders:
- shell: '{my_shell}'
publishers:
- email:
recipients: 'jenkins+debian-reproducible holger@layer-acht.org reproducible-commits@lists.alioth.debian.org'
- htmlpublisher:
name: 'Reproducible builds statistics'
directory: '.'
indexfiles: 'index.html'
keepall: True
- job-template:
defaults: reproducible_setup
name: '{name}_setup'
- job-template:
defaults: reproducible_stats
name: '{name}_stats'
- job-template:
defaults: reproducible
name: '{name}_build_test_reproducibility'
- job-template:
defaults: reproducible
name: '{name}_build_random_packages'
- job-template:
defaults: reproducible
name: '{name}_build_random_failures'
- job-template:
defaults: reproducible
name: '{name}_build_core'
- job-template:
defaults: reproducible
name: '{name}_build_build-tools'
- job-template:
defaults: reproducible
name: '{name}_build_desktop_apps'
- job-template:
defaults: reproducible
name: '{name}_build_gnome'
- job-template:
defaults: reproducible
name: '{name}_build_kde'
- job-template:
defaults: reproducible
name: '{name}_build_xfce'
- job-template:
defaults: reproducible
name: '{name}_build_lxde'
- job-template:
defaults: reproducible
name: '{name}_build_mate'
- job-template:
defaults: reproducible
name: '{name}_build_cinnamon'
- job-template:
defaults: reproducible
name: '{name}_build_libreoffice'
- job-template:
defaults: reproducible
name: '{name}_build_xorg'
- job-template:
defaults: reproducible
name: '{name}_build_server'
- job-template:
defaults: reproducible
name: '{name}_build_security-privacy'
- job-template:
defaults: reproducible
name: '{name}_build_d-i'
- project:
name: reproducible
jobs:
- '{name}_setup':
my_description: 'Setup pbuilder for reproducible builds as described in https://wiki.debian.org/ReproducibleBuilds#Usage_example'
my_timed: '42 0 * * *'
my_shell: '/srv/jenkins/bin/reproducible_setup.sh'
my_packages: ''
- '{name}_stats':
my_description: 'Reproducible builds statistics'
my_timed: '0 0 * * *'
my_shell: '/srv/jenkins/bin/reproducible_stats.sh'
my_packages: ''
- '{name}_build_random_packages':
my_description: 'Reproducible build this many random packages each day:'
my_timed: '23 0,3,4,7,8,11,12,15,16,19,20,23 * * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: '66'
- '{name}_build_random_failures':
my_description: 'Try to reproducible build 33 packages which failed before and which come from the random job:'
my_timed: '42 2,14 * * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: '0'
- '{name}_build_test_reproducibility':
my_description: 'Reproducible build of a few packages, some we know will succeed and some we know which "should" fail: '
my_timed: ''
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'lsb ucf lsof'
- '{name}_build_core':
my_description: 'Reproducible build of all the core packages as defined by UDD as described in https://wiki.debian.org/ReproducibleBuilds so these: '
my_timed: '42 5 1,16 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'acl adduser attr audit base-files base-passwd bash binutils bsdmainutils bzip2 cdebconf cloog coreutils cryptsetup dash db5.3 dbus debconf debhelper debianutils dh-buildinfo diffutils dpkg e2fsprogs eglibc file findutils gcc-4.9 gcc-defaults gdbm gettext glib2.0 glibc gmp grep groff gzip hostname init-system-helpers insserv intltool-debian isl kmod libcap2 libcroco libffi libgcrypt11 libgcrypt20 libgpg-error libintl-perl libpipeline libselinux libsemanage libsepol libtext-unidecode-perl libtimedate-perl libunistring libxml2 libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl linux lsb lvm2 make-dfsg man-db mawk mpclib3 mpfr4 ncurses pam patch pcre3 perl po-debconf procps sed sensible-utils shadow startpar systemd sysvinit tar tcp-wrappers texinfo tzdata ucf ustr util-linux xz-utils zlib'
- '{name}_build_build-tools':
my_description: 'Reproducible build packages which are used to build other packages.
Source packages to be build: '
my_timed: '42 23 1,16 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'cdbs eglibc gcc-defaults devscripts python-defaults python3-defaults ruby-defaults ruby2.1 ghc php5 tcl asciidoc ant maven maven2 lintian pbuilder piuparts schroot fakeroot sbuild cowbuilder git subversion bzr'
- '{name}_build_desktop_apps':
my_description: 'Reproducible build of desktop applications: '
my_timed: '42 5 2,17 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'abiword alacarte avahi calligra cheese chromium-browser gobby-0.5 cups cups-pk-helper desktop-base emacs23 emacs24 vim joe nano emacs-defaults evince evolution galculator gedit-plugins gimp gnumeric gpicview gst-libav1.0 gst-plugins-ugly1.0 hamster-applet iceweasel inkscape irssi leafpad libgtk2-perl mplayer2 screen mutt marble network-manager obconf orage pidgin rhythmbox rygel seahorse shotwell simple-scan sound-juicer tango-icon-theme telepathy-gabble telepathy-rakia telepathy-salut texlive-base tomboy totem tracker transmission udisks2 upower vim vinagre virt-manager vlc wine xarchiver xdg-user-dirs-gtk virtualbox wpasupplicant wicd'
- '{name}_build_gnome':
my_description: 'Reproducible build of GNOME packages: '
my_timed: '23 5 2,17 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'gdm3 gnome-color-manager gnome-documents gnome-main-menu gnome-media gnome-nettool gnome-orca gnome-shell-extensions gnome-tweak-tool meta-gnome3 nautilus'
- '{name}_build_kde':
my_description: 'Reproducible build of KDE packages: '
my_timed: '42 5 3,18 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'kdeartwork kde-baseapps kde-l10n kdepim kdeplasma-addons kde-runtime kdewebdev kde-workspace meta-kde'
- '{name}_build_xfce':
my_description: 'Reproducible build of Xfce packages: '
my_timed: '23 5 3,18 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'gtk2-engines-xfce libxfce4ui thunar thunar-volman xfce4 xfce4-appfinder xfce4-mixer xfce4-notifyd xfce4-panel xfce4-power-manager xfce4-session xfce4-settings xfconf xfdesktop4'
- '{name}_build_lxde':
my_description: 'Reproducible build of LXDE packages: '
my_timed: '42 5 4,19 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'lxappearance lxde-icon-theme lxde-metapackages lxinput lxrandr lxsession-edit lxshortcut lxterminal'
- '{name}_build_mate':
my_description: 'Reproducible build of the Mate packages: '
my_timed: '23 5 4,19 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'mate-applets mate-backgrounds mate-common mate-control-center mate-desktop mate-desktop-environment mate-icon-theme mate-icon-theme-faenza mate-indicator-applet mate-media mate-menus mate-netbook mate-netspeed mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-sensors-applet mate-session-manager mate-settings-daemon mate-system-monitor mate-terminal mate-themes mate-user-share mate-utils'
- '{name}_build_cinnamon':
my_description: 'Reproducible build of the Cinnamon packages: '
my_timed: '42 5 5,20 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'cinnamon cinnamon-control-center cinnamon-desktop cinnamon-desktop-environment cinnamon-screensaver cinnamon-session cinnamon-settings-daemon cinnamon-translations'
- '{name}_build_libreoffice':
my_description: 'Reproducible build of these libreoffice related packages: '
my_timed: '42 23 5,20 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'libreoffice'
- '{name}_build_xorg':
my_description: 'Reproducible build of these X.Org and and related packages: '
my_timed: '42 5 6,21 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'libglu mesa x11-apps x11-session-utils x11-utils x11-xfs-utils x11-xkb-utils x11-xserver-utils xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xfonts-utils xinit xkeyboard-config xorg xorg-docs xorg-server xserver-xorg-input-evdev xterm x-terminal-emulator glx-alternatives fglrx-driver xserver-xorg-video-nouveau xf86-input-mtrack xf86-input-multitouch xf86-input-wacom xserver-xorg-input-acecad xserver-xorg-input-aiptek xserver-xorg-input-elographics xserver-xorg-input-joystick xserver-xorg-input-keyboard xserver-xorg-input-mouse xserver-xorg-input-mutouch xserver-xorg-input-vmmouse xserver-xorg-input-void xf86-video-glamo xserver-xorg-video-ati xserver-xorg-video-cirrus xserver-xorg-video-dummy xserver-xorg-video-fbdev xserver-xorg-video-glide xserver-xorg-video-intel xserver-xorg-video-ivtvdev xserver-xorg-video-mach64 xserver-xorg-video-mga xserver-xorg-video-modesetting xserver-xorg-video-neomagic xserver-xorg-video-openchrome xserver-xorg-video-qxl xserver-xorg-video-r128 xserver-xorg-video-savage xserver-xorg-video-siliconmotion xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident xserver-xorg-video-vesa xserver-xorg-video-vmware xpra aterm mlterm mrxvt putty roxterm rxvt rxvt-unicode terminal.app'
- '{name}_build_server':
my_description: 'Reproducible build of these server packages: '
my_timed: '42 23 6,21 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'apache2 asterisk bind9 courier icinga icinga2 lighttpd munin mysql-5.5 nginx postfix exim4 sendmail postgresql-9.4 squid squid3 roundcube openssh rsync nfs-utils bitlbee dropbear puppet cfengine2 ansible fai salt'
- '{name}_build_security-privacy':
my_description: 'Reproducible build of these security and privacy related packages: '
my_timed: '42 5 7,22 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'aircrack-ng apparmor apparmor-profiles-extra assword bilibop corkscrew cryptsetup debian-archive-keyring debian-security-support dmsetup flashproxy gnome-keyring gnunet gnunet-fuse gnunet-gtk gnupg gnupg2 gnutls28 haveged https-everywhere iodine irssi-plugin-otr keepassx libotr macchanger macchanger mat monkeysign monkeysphere mozilla-noscript msva-perl mumble nautilus-wipe obfs4proxy obfsproxy onioncat onionshare openssl openvpn parcimonie pidgin-otr pinentry privoxy pwgen python-pyptlib python-stem python-torctl python-txtorcon seahorse-nautilus secure-delete signing-party tcpdump tlsdate tor tor-arm torbrowser-launcher torsocks vidalia wireshark'
- '{name}_build_d-i':
my_description: 'Reproducible build of these debian-installer packages: '
my_timed: '42 23 7,22 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'anna apt-setup arcboot-installer base-installer bterm-unifont busybox cdebconf-entropy cdebconf-terminal cdebconf cdrom-checker cdrom-detect cdrom-retriever choose-mirror clock-setup console-setup debian-installer-launcher debian-installer-netboot-images debian-installer-utils debian-installer debootstrap dh-di efi-reader elilo-installer finish-install flash-kernel grub-installer hw-detect installation-locale installation-report iso-scan kbd-chooser kernel-wedge kickseed libdebian-installer lilo-installer live-installer localechooser lowmem lvmcfg main-menu mdcfg media-retriever mklibs mountmedia net-retriever netcfg network-console nobootloader oldsys-preseed os-prober partconf partitioner partman-auto-crypto partman-auto-lvm partman-auto-raid partman-auto partman-base partman-basicfilesystems partman-basicmethods partman-btrfs partman-crypto partman-efi partman-ext3 partman-iscsi partman-jfs partman-lvm partman-md partman-multipath partman-nbd partman-newworld partman-partitioning partman-prep partman-target partman-ufs partman-xfs partman-zfs pkgsel prep-installer preseed quik-installer rescue rootskel-gtk rootskel s390-dasd s390-netdevice s390-sysconfig-writer sibyl-installer silo-installer tzsetup udpkg usb-discover user-setup userdevfs win32-loader yaboot-installer zipl-installer'
# PACKAGES=" "
# echo $PACKAGES | sed -s "s# #\n#g" | sort | xargs echo
# (for i in $LIST_OF_BINARIES; do apt-cache show $i | grep ^Source | cut -d " " -f2 ; apt-cache show $i | grep -q Source || echo $i ; apt-cache showsrc $i 2>/dev/null | grep ^Package | cut -d " " -f2 ; done ) | sort -u | grep -v build-essential | xargs echo