From 00ae28f2e8c659ba2848c1a12683bed483f31c08 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Fri, 10 Oct 2014 12:58:44 +0200 Subject: reproducible: polishing various little things --- INSTALL | 2 +- README | 2 +- TODO | 16 ++++++++++++++-- bin/reproducible_build.sh | 2 ++ bin/reproducible_setup.sh | 2 +- bin/reproducible_stats.sh | 12 +++++++----- job-cfg/reproducible.yaml | 13 +++++++------ 7 files changed, 33 insertions(+), 16 deletions(-) diff --git a/INSTALL b/INSTALL index e3c2566a..9ca6ca87 100644 --- a/INSTALL +++ b/INSTALL @@ -3,7 +3,7 @@ Setup of jenkins.debian.net :Author: Holger Levsen :Authorinitials: holger :EMail: holger@layer-acht.org -:Status: in progress +:Status: working, in progress :lang: en :Doctype: article :Licence: GPLv2 diff --git a/README b/README index 81a239f8..806b6d1e 100644 --- a/README +++ b/README @@ -3,7 +3,7 @@ About jenkins.debian.net :Author: Holger Levsen :Authorinitials: holger :EMail: holger@layer-acht.org -:Status: in progress +:Status: working, in progress :lang: en :Doctype: article :Licence: GPLv2 diff --git a/TODO b/TODO index 2f5c0ff1..53b4d0da 100644 --- a/TODO +++ b/TODO @@ -3,7 +3,7 @@ ToDo for jenkins.debian.net :Author: Holger Levsen :Authorinitials: holger :EMail: holger@layer-acht.org -:Status: in progress +:Status: working, in progress :lang: en :Doctype: article :Licence: GPLv2 @@ -110,11 +110,23 @@ See link:https://jenkins.debian.net/userContent/about.html["about jenkins.debian *** killer job is run before setup *** scheduler and builder jobs are started after +* bugs +** fix check for Architecture, see FIXME in _builds.sh +*** once done, schedule hurd-libfuse +** when notes are removed the navigation pages are not updated... (touch note_new on create, then on next run delete on all navi pages for which note_new exists) + +* CSS/HTML +** use iframes +** use font class=small statt size=+1 +** use icons within index pages (refactor to get rid of that case statement, use array instead) +** use css class to mark packages with notes, underline them. explain HAS_NOTE on every page which has them... + * watch: zephyr (debbindiff timeout?) * watch: haskell-hsql-odbc (debbindiff error only in jenkins log, not in rbuild log * watch: cxxtest: dbd failure should be in rbuild output! * watch: android: no debbindiff output? -* watch/fix: swig/subversion +* watch: swig/subversion (FTBFS, report note at least...) +* watch: hurd-libfuse: should be not for us * generate .json for tracker.d.o * reschedule all pkg tested before oct 06 00:00 UTC (we want to know if they generate .buildinfo files) * reschedule all files with 0 length .rbuild.log files diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh index abb142a0..c999fe00 100755 --- a/bin/reproducible_build.sh +++ b/bin/reproducible_build.sh @@ -158,6 +158,8 @@ for SRCPACKAGE in ${PACKAGES} ; do RBUILDLOG=/var/lib/jenkins/userContent/rbuild/${SRCPACKAGE}_${EVERSION}.rbuild.log mv ${TMPLOG} ${RBUILDLOG} # check whether the package is not for us... + # FIXME: needs to check for all packages, not just the first one + # FIXME: linux-any is valid too (but hurd-any not) ARCH=$(grep "^Architecture: " ${SRCPACKAGE}_*.dsc| sort -r | head -1 | cut -d " " -f2-) if [[ ! "$ARCH" =~ "amd64" ]] && [[ ! "$ARCH" =~ "all" ]] && [[ ! "$ARCH" =~ "any" ]] && [[ ! "$ARCH" =~ "linux-amd64" ]]; then sqlite3 -init $INIT ${PACKAGES_DB} "REPLACE INTO source_packages VALUES (\"${SRCPACKAGE}\", \"${VERSION}\", \"not for us\", \"$DATE\")" diff --git a/bin/reproducible_setup.sh b/bin/reproducible_setup.sh index 1ee7cbee..35d35989 100755 --- a/bin/reproducible_setup.sh +++ b/bin/reproducible_setup.sh @@ -35,7 +35,7 @@ EOF # blacklist some packages for PKG in linux cups zurl openclipart ; do - RESULT=$(sqlite3 -init $INIT $PACKAGES_DB " SELECT name FROM source_packages WHERE status = 'blacklisted' AND name = '$PGK'") + RESULT=$(sqlite3 -init $INIT $PACKAGES_DB " SELECT name FROM source_packages WHERE status = 'blacklisted' AND name = '$PKG'") if [ "$RESULT" = "" ] ; then sqlite3 -init $INIT $PACKAGES_DB "REPLACE into source_packages VALUES ('$PKG','0','blacklisted',date('now'))" fi diff --git a/bin/reproducible_stats.sh b/bin/reproducible_stats.sh index fbdf85a3..5e2d7336 100755 --- a/bin/reproducible_stats.sh +++ b/bin/reproducible_stats.sh @@ -71,6 +71,8 @@ SPOKENTARGET["FTBFS"]="packages which failed to build from source" SPOKENTARGET["404"]="packages where the sources failed to downloaded" SPOKENTARGET["not_for_us"]="packages which should not be build on 'amd64'" SPOKENTARGET["blacklisted"]="packages which have been blacklisted" +# shop trailing slash +JENKINS_URL=${JENKINS_URL:0:-1} # # gather notes @@ -276,7 +278,7 @@ EOF set_icon() { # icons taken from tango-icon-theme (0.8.90-5) # licenced under http://creativecommons.org/licenses/publicdomain/ - STATE_TARGET_NAME=$1 + STATE_TARGET_NAME="$1" case "$1" in reproducible) ICON=weather-clear.png ;; @@ -292,7 +294,7 @@ set_icon() { ;; 404) ICON=weather-severe-alert.png ;; - not_for_us) ICON=weather-few-clouds-night.png + not*) ICON=weather-few-clouds-night.png ;; blacklisted) ICON=error.png ;; @@ -399,7 +401,7 @@ write_summary_header() { if [ "$1" = "$MAINVIEW" ] ; then write_summary "

These pages are updated every six hours. Results are obtained from several build jobs running on jenkins.debian.net. Thanks to Profitbricks for donating the virtual machine it's running on!

" fi - write_summary "

$COUNT_TOTAL packages attempted to build so far, that's $PERCENT_TOTAL% of $AMOUNT source packages in Debian $SUITE currently. Out of these, $PERCENT_GOOD% were successful, so quite wildly guessing this roughy means about $GUESS_GOOD packages should be reproducibly buildable!" + write_summary "

$COUNT_TOTAL packages have been attempted to be build so far, that's $PERCENT_TOTAL% of $AMOUNT source packages in Debian $SUITE currently. Out of these, $PERCENT_GOOD% were successful, so quite wildly guessing this roughy means about $GUESS_GOOD packages should be reproducibly buildable!" if [ "${1:0:3}" = "all" ] || [ "$1" = "dd-list" ] ; then write_summary " Join #debian-reproducible on OFTC to get support for making sure your packages build reproducibly too!" fi @@ -426,7 +428,7 @@ write_summary_header() { } write_summary_footer() { - write_summary "


Static URL for this page. Last modified: $(date). Copyright 2014 Holger Levsen, GPL-2 licensed. About jenkins.debian.net. Weather icons are taken from the Tango Icon Library." + write_summary "


About jenkins.debian.net, about reproducible builds of Debian and overview of reproducible build results on jenkins.d.n. Last update: $(date). Copyright 2014 Holger Levsen, GPL-2 licensed. The weather icons are public domain and have been taken from the Tango Icon Library." write_summary "

" } @@ -579,4 +581,4 @@ for STATE in $ALLSTATES ; do publish_summary done -echo "Enjoy https://jenkins.debian.net/userContent/reproducible.html" +echo "Enjoy $JENKINS_URL/userContent/reproducible.html" diff --git a/job-cfg/reproducible.yaml b/job-cfg/reproducible.yaml index a2e45ca6..3afca360 100644 --- a/job-cfg/reproducible.yaml +++ b/job-cfg/reproducible.yaml @@ -16,7 +16,7 @@ url: http://www.profitbricks.com text: Sponsored by Profitbricks icon: /userContent/images/profitbricks-24x24.png - description: '{my_description}
Job configuration source is reproducible.yaml.
Results are available at the reproducible builds statistics page.' + description: '{my_description}
Job configuration source is reproducible.yaml.
Results are available at the reproducible builds overview pages.' logrotate: daysToKeep: 365 numToKeep: 20 @@ -56,7 +56,7 @@ option: category categories: - reproducible - description: '{my_description}
Job configuration source is reproducible.yaml.
Results are available at the reproducible builds statistics page.' + description: '{my_description}
Job configuration source is reproducible.yaml.
Results are available at the reproducible builds overview pages.' logrotate: daysToKeep: 365 numToKeep: 20 @@ -91,7 +91,7 @@ url: http://www.profitbricks.com text: Sponsored by Profitbricks icon: /userContent/images/profitbricks-24x24.png - description: '{my_description}
Job configuration source is reproducible.yaml.
Results are available at the reproducible builds statistics page.' + description: '{my_description}
Job configuration source is reproducible.yaml.
Results are available at the reproducible builds overview pages.' logrotate: daysToKeep: 365 numToKeep: 20 @@ -103,7 +103,7 @@ - email: recipients: 'jenkins+debian-reproducible holger@layer-acht.org' - htmlpublisher: - name: 'Reproducible builds statistics' + name: 'Reproducible build overview' directory: '.' indexfiles: 'reproducible.html' keepall: True @@ -143,7 +143,7 @@ my_timed: '42 0 * * *' my_shell: '/srv/jenkins/bin/reproducible_setup.sh' - '{name}_stats': - my_description: 'Reproducible builds statistics' + my_description: 'Generates HTML results for reproducible builds.' my_timed: '0 0,6,12,18 * * *' my_shell: '/srv/jenkins/bin/reproducible_stats.sh' - '{name}_build_random_packages': @@ -163,6 +163,7 @@ my_params: 'candidates 20' - '{name}_scheduler': my_description: 'Schedule packages to be tested on reproducible building.' - my_timed: '23 * * * *' +# my_timed: '23 * * * *' + my_timed: '' my_shell: '/srv/jenkins/bin/reproducible_scheduler.sh' -- cgit v1.2.3-54-g00ecf