[Qa-jenkins-scm] [jenkins.debian.net] 01/01: reproducible Arch Linux: only detect package state once, then cache and reuse the result and the resulting HTML

Holger Levsen holger at layer-acht.org
Sun Nov 26 21:07:54 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 b0c15dd0a554fde2f0f8974b8fb48f09c11bab22
Author: Holger Levsen <holger at layer-acht.org>
Date:   Sun Nov 26 21:07:21 2017 +0000

    reproducible Arch Linux: only detect package state once, then cache and reuse the result and the resulting HTML
    
    Signed-off-by: Holger Levsen <holger at layer-acht.org>
---
 bin/reproducible_html_archlinux.sh | 252 ++++++++++++++++++++++---------------
 1 file changed, 151 insertions(+), 101 deletions(-)

diff --git a/bin/reproducible_html_archlinux.sh b/bin/reproducible_html_archlinux.sh
index 6e688e5..e4e13a5 100755
--- a/bin/reproducible_html_archlinux.sh
+++ b/bin/reproducible_html_archlinux.sh
@@ -61,114 +61,164 @@ for REPOSITORY in $ARCHLINUX_REPOS ; do
 			continue
 		fi
 		let TESTED+=1
-		echo "     <tr>" >> $HTML_BUFFER
-		echo "      <td>$REPOSITORY</td>" >> $HTML_BUFFER
-		echo "      <td>$PKG</td>" >> $HTML_BUFFER
-		echo "      <td>" >> $HTML_BUFFER
-		if [ -z "$(cd $ARCHLINUX_PKG_PATH/ ; ls *.pkg.tar.xz.html 2>/dev/null)" ] ; then
-			if [ ! -z "$(egrep '^error: failed to prepare transaction \(conflicting dependencies\)' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-				HTML_TARGET=${HTML_DEPWAIT[0]}
-				let NR_DEPWAIT+=1
-				echo "       <img src=\"/userContent/static/weather-snow.png\" alt=\"depwait icon\" /> could not resolve dependencies as there are conflicts" >> $HTML_BUFFER
-			elif [ ! -z "$(egrep '==> ERROR: (Could not resolve all dependencies|.pacman. failed to install missing dependencies)' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-				HTML_TARGET=${HTML_DEPWAIT[1]}
-				let NR_DEPWAIT+=1
-				echo "       <img src=\"/userContent/static/weather-snow.png\" alt=\"depwait icon\" /> could not resolve dependencies" >> $HTML_BUFFER
-			elif [ ! -z "$(egrep '^error: unknown package: ' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-				HTML_TARGET=${HTML_404[0]}
-				let NR_404+=1
-				echo "       <img src=\"/userContent/static/weather-severe-alert.png\" alt=\"404 icon\" /> unknown package" >> $HTML_BUFFER
-			elif [ ! -z "$(egrep '==> ERROR: (Failure while downloading|One or more PGP signatures could not be verified|One or more files did not pass the validity check|Integrity checks \(.*\) differ in size from the source array)' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-				HTML_TARGET=${HTML_404[0]}
-				REASON="download failed"
-				EXTRA_REASON=""
-				let NR_404+=1
-				if [ ! -z "$(grep 'FAILED (unknown public key' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-					HTML_TARGET=${HTML_404[6]}
-					EXTRA_REASON="to verify source with PGP due to unknown public key"
-				elif [ ! -z "$(grep 'The requested URL returned error: 404' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-					HTML_TARGET=${HTML_404[3]}
-					EXTRA_REASON="with 404 - file not found"
-				elif [ ! -z "$(grep 'The requested URL returned error: 403' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-					HTML_TARGET=${HTML_404[2]}
-					EXTRA_REASON="with 403 - forbidden"
-				elif [ ! -z "$(grep 'The requested URL returned error: 500' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-					HTML_TARGET=${HTML_404[4]}
-					EXTRA_REASON="with 500 - internal server error"
-				elif [ ! -z "$(grep 'The requested URL returned error: 503' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-					HTML_TARGET=${HTML_404[5]}
-					EXTRA_REASON="with 503 - service unavailable"
-				elif [ ! -z "$(egrep '==> ERROR: One or more PGP signatures could not be verified' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-					HTML_TARGET=${HTML_404[7]}
-					EXTRA_REASON="to verify source with PGP signatures"
-				elif [ ! -z "$(grep 'SSL certificate problem: unable to get local issuer certificate' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-					HTML_TARGET=${HTML_404[1]}
-					EXTRA_REASON="with SSL certificate problem"
-				elif [ ! -z "$(egrep '==> ERROR: One or more files did not pass the validity check' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-					HTML_TARGET=${HTML_404[8]}
-					REASON="downloaded ok but failed to verify source"
-				elif [ ! -z "$(egrep '==> ERROR: Integrity checks \(.*\) differ in size from the source array' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-					HTML_TARGET=${HTML_404[9]}
-					REASON="Integrity checks differ in size from the source array"
-				fi
-				echo "       <img src=\"/userContent/static/weather-severe-alert.png\" alt=\"404 icon\" /> $REASON $EXTRA_REASON" >> $HTML_BUFFER
-			elif [ ! -z "$(egrep '==> ERROR: (install file .* does not exist or is not a regular file|The download program wget is not installed)' $ARCHLINUX_PKG_PATH/build1.log)" ] ; then
-				HTML_TARGET=${HTML_FTBFS[0]}
-				let NR_FTBFS+=1
-				echo "       <img src=\"/userContent/static/weather-storm.png\" alt=\"ftbfs icon\" /> failed to build, requirements not met" >> $HTML_BUFFER
-			elif [ ! -z "$(egrep '==> ERROR: A failure occurred in check' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-				HTML_TARGET=${HTML_FTBFS[1]}
-				let NR_FTBFS+=1
-				echo "       <img src=\"/userContent/static/weather-storm.png\" alt=\"ftbfs icon\" /> failed to build while running tests" >> $HTML_BUFFER
-			elif [ ! -z "$(egrep '==> ERROR: A failure occurred in (build|package|prepare)' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-				HTML_TARGET=${HTML_FTBFS[2]}
-				let NR_FTBFS+=1
-				echo "       <img src=\"/userContent/static/weather-storm.png\" alt=\"ftbfs icon\" /> failed to build" >> $HTML_BUFFER
-			elif [ ! -z "$(egrep 'makepkg was killed by timeout after' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
-				HTML_TARGET=${HTML_FTBFS[3]}
-				let NR_FTBFS+=1
-				echo "       <img src=\"/userContent/static/weather-storm.png\" alt=\"ftbfs icon\" /> failed to build, killed by timeout" >> $HTML_BUFFER
-			else
-				echo "       probably failed to build from source, please investigate" >> $HTML_BUFFER
-				HTML_TARGET=$HTML_UNKNOWN
-				let NR_UNKNOWN+=1
-				# or is it reproducible???
-			fi
+		if [ -n "$(cd $ARCHLINUX_PKG_PATH/ ; ls *.state 2>/dev/null)" ] ; then
+			STATE="$(cat $ARCHLINUX_PKG_PATH/pkg.state 2>&1)"
+			case $STATE in
+				GOOD)		let NR_GOOD+=1
+						HTML_TARGET=$HTML_GOOD
+						;;
+				FTBR)		let NR_FTBR+=1
+						HTML_TARGET=$HTML_FTBR
+						;;
+				FTBFS*)		let NR_FTBFS+=1
+						SUBSTATE=$(echo $STATE | cut -d "_" -f2)
+						HTML_TARGET=${HTML_FTBFS[$SUBSTATE]}
+						;;
+				404*)		let NR_404+=1
+						SUBSTATE=$(echo $STATE | cut -d "_" -f2)
+						HTML_TARGET=${HTML_404[$SUBSTATE]}
+						;;
+				DEPWAIT*)	let NR_DEPWAIT+=1
+						SUBSTATE=$(echo $STATE | cut -d "_" -f2)
+						HTML_TARGET=${HTML_DEPWAIT[$SUBSTATE]}
+						;;
+				UNKNOWN)	let NR_UNKNOWN+=1
+						HTML_TARGET=$HTML_UNKNOWN
+						;;
+				*)		exit 1 ;;
+			esac
+			cat $ARCHLINUX_PKG_PATH/pkg.html >> $HTML_TARGET
 		else
-			HTML_TARGET=$HTML_GOOD
-			for ARTIFACT in $(cd $ARCHLINUX_PKG_PATH/ ; ls *.pkg.tar.xz.html) ; 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
-					# this shouldnt happen, but (for now) it does, so lets at least mark them…
+			echo "     <tr>" >> $HTML_BUFFER
+			echo "      <td>$REPOSITORY</td>" >> $HTML_BUFFER
+			echo "      <td>$PKG</td>" >> $HTML_BUFFER
+			echo "      <td>" >> $HTML_BUFFER
+			#
+			#
+			if [ -z "$(cd $ARCHLINUX_PKG_PATH/ ; ls *.pkg.tar.xz.html 2>/dev/null)" ] ; then
+				if [ ! -z "$(egrep '^error: failed to prepare transaction \(conflicting dependencies\)' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+					HTML_TARGET=${HTML_DEPWAIT[0]}
+					let NR_DEPWAIT+=1
+					echo DEPWAIT_= > $ARCHLINUX_PKG_PATH/pkg.state
+					echo "       <img src=\"/userContent/static/weather-snow.png\" alt=\"depwait icon\" /> could not resolve dependencies as there are conflicts" >> $HTML_BUFFER
+				elif [ ! -z "$(egrep '==> ERROR: (Could not resolve all dependencies|.pacman. failed to install missing dependencies)' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+					HTML_TARGET=${HTML_DEPWAIT[1]}
+					let NR_DEPWAIT+=1
+					echo DEPWAIT_1 > $ARCHLINUX_PKG_PATH/pkg.state
+					echo "       <img src=\"/userContent/static/weather-snow.png\" alt=\"depwait icon\" /> could not resolve dependencies" >> $HTML_BUFFER
+				elif [ ! -z "$(egrep '^error: unknown package: ' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+					HTML_TARGET=${HTML_404[0]}
+					let NR_404+=1
+					echo 404_0 > $ARCHLINUX_PKG_PATH/pkg.state
+					echo "       <img src=\"/userContent/static/weather-severe-alert.png\" alt=\"404 icon\" /> unknown package" >> $HTML_BUFFER
+				elif [ ! -z "$(egrep '==> ERROR: (Failure while downloading|One or more PGP signatures could not be verified|One or more files did not pass the validity check|Integrity checks \(.*\) differ in size from the source array)' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+					HTML_TARGET=${HTML_404[0]}
+					REASON="download failed"
 					EXTRA_REASON=""
-					if [ ! -z "$(grep 'class="source">.BUILDINFO' $ARCHLINUX_PKG_PATH/$ARTIFACT)" ] ; then
-						EXTRA_REASON=" with variations in .BUILDINFO"
+					let NR_404+=1
+					echo 404_0 > $ARCHLINUX_PKG_PATH/pkg.state
+					if [ ! -z "$(grep 'FAILED (unknown public key' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+						HTML_TARGET=${HTML_404[6]}
+						echo 404_6 > $ARCHLINUX_PKG_PATH/pkg.state
+						EXTRA_REASON="to verify source with PGP due to unknown public key"
+					elif [ ! -z "$(grep 'The requested URL returned error: 404' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+						HTML_TARGET=${HTML_404[3]}
+						echo 404_3 > $ARCHLINUX_PKG_PATH/pkg.state
+						EXTRA_REASON="with 404 - file not found"
+					elif [ ! -z "$(grep 'The requested URL returned error: 403' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+						HTML_TARGET=${HTML_404[2]}
+						echo 404_2 > $ARCHLINUX_PKG_PATH/pkg.state
+						EXTRA_REASON="with 403 - forbidden"
+					elif [ ! -z "$(grep 'The requested URL returned error: 500' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+						HTML_TARGET=${HTML_404[4]}
+						echo 404_4 > $ARCHLINUX_PKG_PATH/pkg.state
+						EXTRA_REASON="with 500 - internal server error"
+					elif [ ! -z "$(grep 'The requested URL returned error: 503' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+						HTML_TARGET=${HTML_404[5]}
+						echo 404_5 > $ARCHLINUX_PKG_PATH/pkg.state
+						EXTRA_REASON="with 503 - service unavailable"
+					elif [ ! -z "$(egrep '==> ERROR: One or more PGP signatures could not be verified' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+						HTML_TARGET=${HTML_404[7]}
+						echo 404_7 > $ARCHLINUX_PKG_PATH/pkg.state
+						EXTRA_REASON="to verify source with PGP signatures"
+					elif [ ! -z "$(grep 'SSL certificate problem: unable to get local issuer certificate' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+						HTML_TARGET=${HTML_404[1]}
+						echo 404_1 > $ARCHLINUX_PKG_PATH/pkg.state
+						EXTRA_REASON="with SSL certificate problem"
+					elif [ ! -z "$(egrep '==> ERROR: One or more files did not pass the validity check' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+						HTML_TARGET=${HTML_404[8]}
+						echo 404_8 > $ARCHLINUX_PKG_PATH/pkg.state
+						REASON="downloaded ok but failed to verify source"
+					elif [ ! -z "$(egrep '==> ERROR: Integrity checks \(.*\) differ in size from the source array' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+						HTML_TARGET=${HTML_404[9]}
+						echo 404_9 > $ARCHLINUX_PKG_PATH/pkg.state
+						REASON="Integrity checks differ in size from the source array"
 					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
+					echo "       <img src=\"/userContent/static/weather-severe-alert.png\" alt=\"404 icon\" /> $REASON $EXTRA_REASON" >> $HTML_BUFFER
+				elif [ ! -z "$(egrep '==> ERROR: (install file .* does not exist or is not a regular file|The download program wget is not installed)' $ARCHLINUX_PKG_PATH/build1.log)" ] ; then
+					HTML_TARGET=${HTML_FTBFS[0]}
+					let NR_FTBFS+=1
+					echo FTBFS_0 > $ARCHLINUX_PKG_PATH/pkg.state
+					echo "       <img src=\"/userContent/static/weather-storm.png\" alt=\"ftbfs icon\" /> failed to build, requirements not met" >> $HTML_BUFFER
+				elif [ ! -z "$(egrep '==> ERROR: A failure occurred in check' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+					HTML_TARGET=${HTML_FTBFS[1]}
+					let NR_FTBFS+=1
+					echo FTBFS_1 > $ARCHLINUX_PKG_PATH/pkg.state
+					echo "       <img src=\"/userContent/static/weather-storm.png\" alt=\"ftbfs icon\" /> failed to build while running tests" >> $HTML_BUFFER
+				elif [ ! -z "$(egrep '==> ERROR: A failure occurred in (build|package|prepare)' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+					HTML_TARGET=${HTML_FTBFS[2]}
+					let NR_FTBFS+=1
+					echo FTBFS_2 > $ARCHLINUX_PKG_PATH/pkg.state
+					echo "       <img src=\"/userContent/static/weather-storm.png\" alt=\"ftbfs icon\" /> failed to build" >> $HTML_BUFFER
+				elif [ ! -z "$(egrep 'makepkg was killed by timeout after' $ARCHLINUX_PKG_PATH/build1.log $ARCHLINUX_PKG_PATH/build2.log 2>/dev/null)" ] ; then
+					HTML_TARGET=${HTML_FTBFS[3]}
+					let NR_FTBFS+=1
+					echo FTBFS_3 > $ARCHLINUX_PKG_PATH/pkg.state
+					echo "       <img src=\"/userContent/static/weather-storm.png\" alt=\"ftbfs icon\" /> failed to build, killed by timeout" >> $HTML_BUFFER
+				else
+					echo "       probably failed to build from source, please investigate" >> $HTML_BUFFER
+					HTML_TARGET=$HTML_UNKNOWN
+					let NR_UNKNOWN+=1
+					echo UNKNOWN > $ARCHLINUX_PKG_PATH/pkg.state
 				fi
-			done
-			# we only count source packages for now…
-			if [ "$HTML_TARGET" = "$HTML_FTBR" ] ; then
-				let NR_FTBR+=1
 			else
-				let NR_GOOD+=1
+				HTML_TARGET=$HTML_GOOD
+				for ARTIFACT in $(cd $ARCHLINUX_PKG_PATH/ ; ls *.pkg.tar.xz.html) ; 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
+						# 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
+							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
+					let NR_FTBR+=1
+					echo FTBR > $ARCHLINUX_PKG_PATH/pkg.state
+				else
+					let NR_GOOD+=1
+					echo GOOD > $ARCHLINUX_PKG_PATH/pkg.state
+				fi
 			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
+			for LOG in build1.log build2.log ; do
+				if [ -f $ARCHLINUX_PKG_PATH/$LOG ] ; then
+					get_filesize $ARCHLINUX_PKG_PATH/$LOG
+					echo "      <td><a href=\"/archlinux/$REPOSITORY/$PKG/$LOG\">$LOG</a> ($SIZE)</td>" >> $HTML_BUFFER
+				else
+					echo "      <td> </td>" >> $HTML_BUFFER
+				fi
+			done
+			echo "     </tr>" >> $HTML_BUFFER
+			cat $HTML_BUFFER >> $HTML_TARGET
+			mv $HTML_BUFFER $ARCHLINUX_PKG_PATH/pkg.html
 		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
-		for LOG in build1.log build2.log ; do
-			if [ -f $ARCHLINUX_PKG_PATH/$LOG ] ; then
-				get_filesize $ARCHLINUX_PKG_PATH/$LOG
-				echo "      <td><a href=\"/archlinux/$REPOSITORY/$PKG/$LOG\">$LOG</a> ($SIZE)</td>" >> $HTML_BUFFER
-			else
-				echo "      <td> </td>" >> $HTML_BUFFER
-			fi
-		done
-		echo "     </tr>" >> $HTML_BUFFER
-		cat $HTML_BUFFER >> $HTML_TARGET
-		rm $HTML_BUFFER > /dev/null
 
 	done
 	# prepare stats per repository

-- 
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