[Qa-jenkins-scm] [jenkins.debian.net] 01/01: reproducible Arch Linux: sort unreproducible packages with .BUILDINFO changes on top of the unreproducible packages
Holger Levsen
holger at layer-acht.org
Mon Nov 27 10:29:59 UTC 2017
This is an automated email from the git hooks/post-receive script.
holger pushed a commit to branch master
in repository jenkins.debian.net.
commit d374bb244a0b9b334ab2c92d7b81a3444c8c351c
Author: Holger Levsen <holger at layer-acht.org>
Date: Mon Nov 27 10:29:52 2017 +0000
reproducible Arch Linux: sort unreproducible packages with .BUILDINFO changes on top of the unreproducible packages
Signed-off-by: Holger Levsen <holger at layer-acht.org>
---
bin/reproducible_html_archlinux.sh | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/bin/reproducible_html_archlinux.sh b/bin/reproducible_html_archlinux.sh
index 73bc74c..29419c4 100755
--- a/bin/reproducible_html_archlinux.sh
+++ b/bin/reproducible_html_archlinux.sh
@@ -19,6 +19,7 @@ echo "$(date -u) - starting to analyse build results."
MEMBERS_FTBFS="0 1 2 3"
MEMBERS_DEPWAIT="0 1"
MEMBERS_404="0 1 2 3 4 5 6 7 8 9"
+MEMBERS_FTBR="0 1"
for i in $MEMBERS_FTBFS ; do
HTML_FTBFS[$i]=$(mktemp)
done
@@ -28,7 +29,9 @@ done
for i in $MEMBERS_404 ; do
HTML_404[$i]=$(mktemp -t rhtml-archlinux-XXXXXXXX)
done
-HTML_FTBR=$(mktemp -t rhtml-archlinux-XXXXXXXX)
+for i in $MEMBERS_FTBR ; do
+ HTML_FTBR[$i]=$(mktemp)
+done
HTML_GOOD=$(mktemp -t rhtml-archlinux-XXXXXXXX)
HTML_UNKNOWN=$(mktemp -t rhtml-archlinux-XXXXXXXX)
HTML_BUFFER=$(mktemp -t rhtml-archlinux-XXXXXXXX)
@@ -65,7 +68,12 @@ for REPOSITORY in $ARCHLINUX_REPOS ; do
case $STATE in
GOOD) HTML_TARGET=$HTML_GOOD
;;
- FTBR) HTML_TARGET=$HTML_FTBR
+ FTBR) # temporary needed
+ HTML_TARGET=${HTML_FTBR[1]}
+ echo FTBR_1 > $ARCHLINUX_PKG_PATH/pkg.state
+ ;;
+ FTBR_*) SUBSTATE=$(echo $STATE | cut -d "_" -f2)
+ HTML_TARGET=${HTML_FTBR[$SUBSTATE]}
;;
FTBFS*) SUBSTATE=$(echo $STATE | cut -d "_" -f2)
HTML_TARGET=${HTML_FTBFS[$SUBSTATE]}
@@ -173,21 +181,26 @@ for REPOSITORY in $ARCHLINUX_REPOS ; do
if [ ! -z "$(grep 'build reproducible in our test framework' $ARCHLINUX_PKG_PATH/$ARTIFACT)" ] ; then
echo " <img src=\"/userContent/static/weather-clear.png\" alt=\"reproducible icon\" /> <a href=\"/archlinux/$REPOSITORY/$PKG/$ARTIFACT\">${ARTIFACT:0:-5}</a> is reproducible in our current test framework<br />" >> $HTML_BUFFER
else
- HTML_TARGET=$HTML_FTBR
+ # if we have HTML_FTBR[0] we want it to be on top…
+ if [ "$HTML_TARGET" != "${HTML_FTBR[0]}" ] ; then
+ HTML_TARGET=${HTML_FTBR[1]}
+ fi
# this shouldnt happen, but (for now) it does, so lets at least mark them…
EXTRA_REASON=""
if [ ! -z "$(grep 'class="source">.BUILDINFO' $ARCHLINUX_PKG_PATH/$ARTIFACT)" ] ; then
+ HTML_TARGET=${HTML_FTBR[0]}
EXTRA_REASON=" with variations in .BUILDINFO"
fi
echo " <img src=\"/userContent/static/weather-showers-scattered.png\" alt=\"unreproducible icon\" /> <a href=\"/archlinux/$REPOSITORY/$PKG/$ARTIFACT\">${ARTIFACT:0:-5}</a> is unreproducible$EXTRA_REASON<br />" >> $HTML_BUFFER
fi
done
# we only count source packages for now…
- if [ "$HTML_TARGET" = "$HTML_FTBR" ] ; then
- echo FTBR > $ARCHLINUX_PKG_PATH/pkg.state
- else
- echo GOOD > $ARCHLINUX_PKG_PATH/pkg.state
- fi
+ case $HTML_TARGET in
+ $HTML_GOOD) echo GOOD > $ARCHLINUX_PKG_PATH/pkg.state ;;
+ ${HTML_FTBR[0]}) echo FTBR_0 > $ARCHLINUX_PKG_PATH/pkg.state ;;
+ ${HTML_FTBR[1]}) echo FTBR_1 > $ARCHLINUX_PKG_PATH/pkg.state ;;
+ *) ;;
+ esac
fi
echo " </td>" >> $HTML_BUFFER
echo " <td>$(LANG=C TZ=UTC ls --full-time $ARCHLINUX_PKG_PATH/build1.log | cut -d ':' -f1-2 | cut -d " " -f6- ) UTC</td>" >> $HTML_BUFFER
@@ -293,7 +306,7 @@ cat $HTML_REPOSTATS >> $PAGE
rm $HTML_REPOSTATS > /dev/null
write_page " </table>"
write_page " <table><tr><th>repository</th><th>source package</th><th>test result</th><th>test date</th><th>1st build log</th><th>2nd build log</th></tr>"
-for i in $HTML_UNKNOWN $(for j in $MEMBERS_404 ; do echo ${HTML_404[$j]} ; done) $(for j in $MEMBERS_DEPWAIT ; do echo ${HTML_DEPWAIT[$j]} ; done) $(for j in $MEMBERS_FTBFS ; do echo ${HTML_FTBFS[$j]} ; done) $HTML_FTBR $HTML_GOOD ; do
+for i in $HTML_UNKNOWN $(for j in $MEMBERS_404 ; do echo ${HTML_404[$j]} ; done) $(for j in $MEMBERS_DEPWAIT ; do echo ${HTML_DEPWAIT[$j]} ; done) $(for j in $MEMBERS_FTBFS ; do echo ${HTML_FTBFS[$j]} ; done) $(for j in $MEMBERS_FTBR ; do echo ${HTML_FTBR[$j]} ; done) $HTML_GOOD ; do
cat $i >> $PAGE
rm $i > /dev/null
done
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git
More information about the Qa-jenkins-scm
mailing list