summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2014-10-10 12:58:44 +0200
committerHolger Levsen <holger@layer-acht.org>2014-10-10 12:58:44 +0200
commit00ae28f2e8c659ba2848c1a12683bed483f31c08 (patch)
tree3ddea84e5899caa2a7a59d36f8f600b136cf1c4d
parentb384d6e450a789958000bcacd382cb895221faaa (diff)
downloadjenkins.debian.net-00ae28f2e8c659ba2848c1a12683bed483f31c08.tar.xz
reproducible: polishing various little things
-rw-r--r--INSTALL2
-rw-r--r--README2
-rw-r--r--TODO16
-rwxr-xr-xbin/reproducible_build.sh2
-rwxr-xr-xbin/reproducible_setup.sh2
-rwxr-xr-xbin/reproducible_stats.sh12
-rw-r--r--job-cfg/reproducible.yaml13
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 "<p>These pages are updated every six hours. Results are obtained from <a href=\"$JENKINS_URL/view/reproducible\">several build jobs running on jenkins.debian.net</a>. Thanks to <a href=\"https://www.profitbricks.com\">Profitbricks</a> for donating the virtual machine it's running on!</p>"
fi
- write_summary "<p>$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 <a href=\"https://wiki.debian.org/ReproducibleBuilds\">packages should be reproducibly buildable!</a>"
+ write_summary "<p>$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 <a href=\"https://wiki.debian.org/ReproducibleBuilds\">packages should be reproducibly buildable!</a>"
if [ "${1:0:3}" = "all" ] || [ "$1" = "dd-list" ] ; then
write_summary " Join <code>#debian-reproducible</code> 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 "<hr/><p><font size='-1'><a href=\"$JENKINS_URL/userContent/reproducible.html\">Static URL for this page.</a> Last modified: $(date). Copyright 2014 <a href=\"mailto:holger@layer-acht.org\">Holger Levsen</a>, GPL-2 licensed. <a href=\"https://jenkins.debian.net/userContent/about.html\">About jenkins.debian.net</a>. Weather icons are taken from the <a href="http://tango.freedesktop.org/Tango_Icon_Library" target="_blank">Tango Icon Library</a>.</font>"
+ write_summary "<hr/><p><font size='-1'><a href=\"$JENKINS_URL/userContent/about.html\">About jenkins.debian.net</a>, about <a href=\"https://wiki.debian.org/ReproducibleBuilds\"> reproducible builds of Debian</a> and <a href=\"$JENKINS_URL/userContent/reproducible.html\">overview of reproducible build results on jenkins.d.n</a>. Last update: $(date). Copyright 2014 <a href=\"mailto:holger@layer-acht.org\">Holger Levsen</a>, GPL-2 licensed. The weather icons are public domain and have been taken from the <a href="http://tango.freedesktop.org/Tango_Icon_Library" target="_blank">Tango Icon Library</a>.</font>"
write_summary "</p></body></html>"
}
@@ -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}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds statistics</a> page.'
+ description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds overview</a> pages.'
logrotate:
daysToKeep: 365
numToKeep: 20
@@ -56,7 +56,7 @@
option: category
categories:
- reproducible
- description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds statistics</a> page.'
+ description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds overview</a> 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}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds statistics</a> page.'
+ description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds overview</a> 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'