diff options
-rwxr-xr-x | bin/reproducible_build.sh | 9 | ||||
-rw-r--r-- | job-cfg/reproducible.yaml | 34 |
2 files changed, 32 insertions, 11 deletions
diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh index d211c2df..7c7cefc4 100755 --- a/bin/reproducible_build.sh +++ b/bin/reproducible_build.sh @@ -52,11 +52,12 @@ for SRCPACKAGE in "$@" ; do sudo dcmd rm /var/cache/pbuilder/result/${SRCPACKAGE}_*.changes set -e cat b1/${SRCPACKAGE}_*.changes - mkdir -p results - LOGFILE=./results/$(ls ${SRCPACKAGE}_*.dsc) + mkdir -p results/_success + LOGFILE=$(ls ${SRCPACKAGE}_*.dsc) LOGFILE=$(echo ${LOGFILE%.dsc}.diffp) - ./misc.git/diffp b1/${SRCPACKAGE}_*.changes b2/${SRCPACKAGE}_*.changes | tee ${LOGFILE} - if ! $(grep -qv '^\*\*\*\*\*' ${LOGFILE}) ; then + ./misc.git/diffp b1/${SRCPACKAGE}_*.changes b2/${SRCPACKAGE}_*.changes | tee ./results/${LOGFILE} + if ! $(grep -qv '^\*\*\*\*\*' ./results/${LOGFILE}) ; then + mv ./results/${LOGFILE} ./results/_success/ figlet ${SRCPACKAGE} echo echo "${SRCPACKAGE} build successfull." diff --git a/job-cfg/reproducible.yaml b/job-cfg/reproducible.yaml index e53787a0..ff35a0c6 100644 --- a/job-cfg/reproducible.yaml +++ b/job-cfg/reproducible.yaml @@ -43,7 +43,7 @@ - job-template: defaults: reproducible - name: '{name}_build_build-essential' + name: '{name}_build_build-tools' - job-template: defaults: reproducible @@ -57,6 +57,14 @@ defaults: reproducible name: '{name}_build_xorg' +- job-template: + defaults: reproducible + name: '{name}_build_server' + +- job-template: + defaults: reproducible + name: '{name}_build_security+privacy' + - project: name: reproducible jobs: @@ -69,12 +77,12 @@ - '{name}_build_core': 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 zlib' - - '{name}_build_build-essential': - my_description: 'Reproducible build all packages build-essential depends on.' - my_shell: '/srv/jenkins/bin/reproducible_build.sh eglibc gcc-defaults make-dfsg dpkg' + - '{name}_build_build-tools': + my_description: 'Reproducible build packages used to build other packages.' + my_shell: '/srv/jenkins/bin/reproducible_build.sh eglibc gcc-defaults make-dfsg dpkg python python3 ruby ghc php5 tcl asciidoc' - '{name}_build_desktop': - my_description: 'Reproducible build the four major desktops and associated packages.' - my_shell: '/srv/jenkins/bin/reproducible_build.sh abiword alacarte asciidoc avahi calligra cheese chromium-browser cinnamon cinnamon-control-center cinnamon-desktop cinnamon-desktop-environment cinnamon-screensaver cinnamon-session cinnamon-settings-daemon cinnamon-translations cups cups-pk-helper desktop-base devscripts emacs-defaults evince evolution galculator gdm3 gedit-plugins gimp gnome-color-manager gnome-documents gnome-main-menu gnome-media gnome-nettool gnome-orca gnome-shell-extensions gnome-tweak-tool gnumeric gpicview gst-libav1.0 gst-plugins-ugly1.0 gtk2-engines-xfce hamster-applet iceweasel inkscape kdeartwork kde-baseapps kde-l10n kdepim kdeplasma-addons kde-runtime kdewebdev kde-workspace leafpad libgtk2-perl libreoffice libxfce4ui lxappearance lxde-icon-theme lxde-metapackages lxinput lxrandr lxsession-edit lxshortcut lxterminal 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 meta-gnome3 meta-kde mplayer2 nautilus-sendto network-manager-applet obconf orage pidgin rhythmbox rygel seahorse shotwell simple-scan sound-juicer tango-icon-theme telepathy-gabble telepathy-rakia telepathy-salut texlive-base thunar thunar-volman tomboy totem tracker transmission udisks2 upower vim vinagre virt-manager vlc wine xarchiver xdg-user-dirs-gtk xfce4 xfce4-appfinder xfce4-mixer xfce4-notifyd xfce4-panel xfce4-power-manager xfce4-session xfce4-settings xfconf xfdesktop4 xfw' + my_description: 'Reproducible build the six major desktops and associated packages.' + my_shell: '/srv/jenkins/bin/reproducible_build.sh abiword alacarte asciidoc avahi calligra cheese chromium-browser cinnamon cinnamon-control-center cinnamon-desktop cinnamon-desktop-environment cinnamon-screensaver cinnamon-session cinnamon-settings-daemon cinnamon-translations cups cups-pk-helper desktop-base devscripts emacs-defaults evince evolution galculator gdm3 gedit-plugins gimp gnome-color-manager gnome-documents gnome-main-menu gnome-media gnome-nettool gnome-orca gnome-shell-extensions gnome-tweak-tool gnumeric gpicview gst-libav1.0 gst-plugins-ugly1.0 gtk2-engines-xfce hamster-applet iceweasel inkscape irssi kdeartwork kde-baseapps kde-l10n kdepim kdeplasma-addons kde-runtime kdewebdev kde-workspace leafpad libgtk2-perl libxfce4ui lxappearance lxde-icon-theme lxde-metapackages lxinput lxrandr lxsession-edit lxshortcut lxterminal 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 meta-gnome3 meta-kde mplayer2 mutt nautilus-sendto network-manager-applet obconf orage pidgin rhythmbox rygel seahorse shotwell simple-scan sound-juicer tango-icon-theme telepathy-gabble telepathy-rakia telepathy-salut texlive-base thunar thunar-volman tomboy totem tracker transmission udisks2 upower vim vinagre virt-manager vlc wine xarchiver xdg-user-dirs-gtk xfce4 xfce4-appfinder xfce4-mixer xfce4-notifyd xfce4-panel xfce4-power-manager xfce4-session xfce4-settings xfconf xfdesktop4 xfw' - '{name}_build_libreoffice': my_description: 'Reproducible build libreoffice.' my_shell: '/srv/jenkins/bin/reproducible_build.sh libreoffice' @@ -83,4 +91,16 @@ my_description: 'Reproducible build X.Org.' my_shell: '/srv/jenkins/bin/reproducible_build.sh libgl1 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-driver-input xorg-driver-video xorg-server xserver-xorg-input-evdev xterm x-terminal-emulator' -# (for i in galculator gpicview leafpad lxappearance lxde-core lxde-icon-theme lxinput lxrandr lxsession-edit lxshortcut lxterminal obconf xarchiver kde-plasma-desktop kde-plasma-netbook kdeadmin kdeartwork kdegraphics kdeedu kdegames kdemultimedia kdenetwork kdeutils kdepim kde-standard kdeaccessibility kdesdk kdetoys kdewebdev calligra kdeplasma-addons kde-runtime plasma-desktop kde-workspace kde-baseapps udisks2 upower kdm gdm3 kde-l10n xfwm4 xfconf xfce4-settings xfce4-panel xfdesktop4 thunar gtk2-engines-xfce xfce4-session xfce4-appfinder xfce4-mixer orage libxfce4ui-utils thunar-volman tango-icon-theme xfce4-notifyd xfce4-power-manager evince iceweasel pidgin virt-manager mplayer2 chromium desktop-base gnome kde-plasma-desktop kde-full kde-standard xfce4 lxde vlc evince iceweasel cups build-essential devscripts wine texlive-full asciidoc vim emacs gnome gnome-core network-manager-gnome cheese evolution evolution-plugins gnome-color-manager gnome-documents gnome-games gnome-nettool nautilus-sendto gnome-orca seahorse totem vinagre alacarte avahi-daemon gimp gnome-media gnome-tweak-tool hamster-applet inkscape libreoffice-gnome abiword gnumeric rhythmbox shotwell simple-scan sound-juicer tomboy tracker-gui transmission-gtk xdg-user-dirs-gtk cups-pk-helper gedit-plugins gnome-shell-extensions gstreamer1.0-libav gstreamer1.0-plugins-ugly rhythmbox-plugins rhythmbox-plugin-cdrecorder rygel-playbin rygel-tracker telepathy-gabble telepathy-rakia telepathy-salut totem-plugins libgtk2-perl cinnamon cinnamon-control-center cinnamon-desktop cinnamon-desktop-environment cinnamon-screensaver cinnamon-session cinnamon-settings-daemon cinnamon-translations gnome-main-menu 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 ; 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 + - '{name}_build_server': + my_description: 'Reproducible build of server packages' + my_shell: '/srv/jenkins/bin/reproducible_build.sh apache2 courier icinga icinga2 lighttpd munin mysql-5.5 nginx postfix postgresql squid3' + + - '{name}_build_security+privacy': + my_description: 'Reproducible build of security and privacy related packages' + my_shell: '/srv/jenkins/bin/reproducible_build.sh apparmor apparmor-profiles-extra assword debian-security-support flashproxy gnunet gnupg gnupg2 golang-ed25519-dev golang-siphash-dev https-everywhere irssi-plugin-otr libotr mat obfs4proxy obfsproxy onioncat onionshare pidgin-otr pwgen schleuder signing-party tlsdate tor torbrowser-launcher torbutton torsocks torsocks vidalia wireshark' + +# PACKAGES="apache2 squid3 postfix courier mysql-5.5 postgresql nginx lighttpd munin icinga icinga2" +# PACKAGES="apparmor apparmor-profiles-extra assword debian-security-support flashproxy gnunet gnupg gnupg2 golang-ed25519-dev golang-siphash-dev https-everywhere irssi-plugin-otr libotr mat obfs4proxy obfsproxy onioncat onionshare pidgin-otr pwgen schleuder signing-party tlsdate tor torbrowser-launcher torbutton torsocks torsocks vidalia wireshark" +# echo $PACKAGES | sed -s "s# #\n#g" | sort | xargs echo + +# (for i in galculator gpicview leafpad lxappearance lxde-core lxde-icon-theme lxinput lxrandr lxsession-edit lxshortcut lxterminal obconf xarchiver kde-plasma-desktop kde-plasma-netbook kdeadmin kdeartwork kdegraphics kdeedu kdegames kdemultimedia kdenetwork kdeutils kdepim kde-standard kdeaccessibility kdesdk kdetoys kdewebdev calligra kdeplasma-addons kde-runtime plasma-desktop kde-workspace kde-baseapps udisks2 upower kdm gdm3 kde-l10n xfwm4 xfconf xfce4-settings xfce4-panel xfdesktop4 thunar gtk2-engines-xfce xfce4-session xfce4-appfinder xfce4-mixer orage libxfce4ui-utils thunar-volman tango-icon-theme xfce4-notifyd xfce4-power-manager evince iceweasel pidgin virt-manager mplayer2 mutt chromium desktop-base gnome kde-plasma-desktop kde-full kde-standard xfce4 lxde vlc evince iceweasel cups build-essential devscripts wine texlive-full asciidoc vim emacs gnome gnome-core network-manager-gnome cheese evolution evolution-plugins gnome-color-manager gnome-documents gnome-games gnome-nettool nautilus-sendto gnome-orca seahorse totem vinagre alacarte avahi-daemon gimp gnome-media gnome-tweak-tool hamster-applet irssi inkscape libreoffice-gnome abiword gnumeric rhythmbox shotwell simple-scan sound-juicer tomboy tracker-gui transmission-gtk xdg-user-dirs-gtk cups-pk-helper gedit-plugins gnome-shell-extensions gstreamer1.0-libav gstreamer1.0-plugins-ugly rhythmbox-plugins rhythmbox-plugin-cdrecorder rygel-playbin rygel-tracker telepathy-gabble telepathy-rakia telepathy-salut totem-plugins libgtk2-perl cinnamon cinnamon-control-center cinnamon-desktop cinnamon-desktop-environment cinnamon-screensaver cinnamon-session cinnamon-settings-daemon cinnamon-translations gnome-main-menu 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 ; 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 |