diff options
-rwxr-xr-x | bin/reproducible_build.sh | 23 | ||||
-rwxr-xr-x | bin/reproducible_common.sh | 4 | ||||
-rwxr-xr-x | bin/reproducible_html_graphs.sh | 22 | ||||
-rwxr-xr-x | bin/reproducible_maintenance.sh | 12 |
4 files changed, 30 insertions, 31 deletions
diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh index 56c220e9..e6e45579 100755 --- a/bin/reproducible_build.sh +++ b/bin/reproducible_build.sh @@ -25,9 +25,9 @@ irc_message() { } create_results_dirs() { - mkdir -p /var/lib/jenkins/userContent/dbd/${SUITE}/${ARCH} - mkdir -p /var/lib/jenkins/userContent/rbuild/${SUITE}/${ARCH} - mkdir -p /var/lib/jenkins/userContent/buildinfo/${SUITE}/${ARCH} + mkdir -p $BASE/dbd/${SUITE}/${ARCH} + mkdir -p $BASE/rbuild/${SUITE}/${ARCH} + mkdir -p $BASE/buildinfo/${SUITE}/${ARCH} } handle_race_condition() { @@ -64,7 +64,6 @@ check_for_race_conditions() { save_artifacts() { local random=$(head /dev/urandom | tr -cd '[:alnum:]'| head -c5) - local BASE="/var/lib/jenkins/userContent" local ARTIFACTS="artifacts/r00t-me/${SRCPACKAGE}_${SUITE}_tmp-${random}" local URL="$REPRODUCIBLE_URL/$ARTIFACTS/" local HEADER="$BASE/$ARTIFACTS/.HEADER.html" @@ -104,9 +103,9 @@ cleanup_all() { } cleanup_userContent() { - rm -f /var/lib/jenkins/userContent/rbuild/${SUITE}/${ARCH}/${SRCPACKAGE}_*.rbuild.log > /dev/null 2>&1 - rm -f /var/lib/jenkins/userContent/dbd/${SUITE}/${ARCH}/${SRCPACKAGE}_*.debbindiff.html > /dev/null 2>&1 - rm -f /var/lib/jenkins/userContent/buildinfo/${SUITE}/${ARCH}/${SRCPACKAGE}_*.buildinfo > /dev/null 2>&1 + rm -f $BASE/rbuild/${SUITE}/${ARCH}/${SRCPACKAGE}_*.rbuild.log > /dev/null 2>&1 + rm -f $BASE/dbd/${SUITE}/${ARCH}/${SRCPACKAGE}_*.debbindiff.html > /dev/null 2>&1 + rm -f $BASE/buildinfo/${SUITE}/${ARCH}/${SRCPACKAGE}_*.buildinfo > /dev/null 2>&1 } calculate_build_duration() { @@ -173,12 +172,12 @@ handle_ftbr() { local FTBRmessage="$@" echo | tee -a ${RBUILDLOG} echo "$(date) - ${SRCPACKAGE} failed to build reproducibly in ${SUITE} on ${ARCH}." | tee -a ${RBUILDLOG} - cp b1/${BUILDINFO} /var/lib/jenkins/userContent/buildinfo/${SUITE}/${ARCH}/ > /dev/null 2>&1 || true # will fail if there is no .buildinfo + cp b1/${BUILDINFO} $BASE/buildinfo/${SUITE}/${ARCH}/ > /dev/null 2>&1 || true # will fail if there is no .buildinfo if [ ! -z "$FTRmessage" ] ; then echo "$(date) - ${FTBRmessage}." | tee -a ${RBUILDLOG} fi if [ -f ./${DBDREPORT} ] ; then - mv ./${DBDREPORT} /var/lib/jenkins/userContent/dbd/${SUITE}/${ARCH}/ + mv ./${DBDREPORT} $BASE/dbd/${SUITE}/${ARCH}/ else echo "$(date) - $DBDVERSION produced no output (which is strange)." | tee -a $RBUILDLOG fi @@ -195,7 +194,7 @@ handle_ftbr() { handle_reproducible() { if [ ! -f ./${DBDREPORT} ] && [ -f b1/${BUILDINFO} ] ; then - cp b1/${BUILDINFO} /var/lib/jenkins/userContent/buildinfo/${SUITE}/${ARCH}/ > /dev/null 2>&1 + cp b1/${BUILDINFO} $BASE/buildinfo/${SUITE}/${ARCH}/ > /dev/null 2>&1 figlet ${SRCPACKAGE} echo | tee -a ${RBUILDLOG} echo "$DBDVERSION found no differences in the changes files, and a .buildinfo file also exists." | tee -a ${RBUILDLOG} @@ -416,8 +415,8 @@ build_rebuild() { fi cleanup_userContent chmod 644 $RBUILDLOG - mv $RBUILDLOG /var/lib/jenkins/userContent/rbuild/${SUITE}/${ARCH}/${SRCPACKAGE}_${EVERSION}.rbuild.log - RBUILDLOG=/var/lib/jenkins/userContent/rbuild/${SUITE}/${ARCH}/${SRCPACKAGE}_${EVERSION}.rbuild.log + mv $RBUILDLOG $BASE/rbuild/${SUITE}/${ARCH}/${SRCPACKAGE}_${EVERSION}.rbuild.log + RBUILDLOG=$BASE/rbuild/${SUITE}/${ARCH}/${SRCPACKAGE}_${EVERSION}.rbuild.log rm $TMPCFG if [ $FTBFS -eq 1 ] ; then handle_ftbfs ; fi } diff --git a/bin/reproducible_common.sh b/bin/reproducible_common.sh index 8f3e5184..f1f87f8b 100755 --- a/bin/reproducible_common.sh +++ b/bin/reproducible_common.sh @@ -236,13 +236,13 @@ write_page_meta_sign() { publish_page() { if [ "$1" = "" ] ; then if [ "$VIEW" = "$MAINVIEW" ] ; then - cp $PAGE /var/lib/jenkins/userContent/reproducible.html + cp $PAGE $BASE/reproducible.html fi TARGET=$PAGE else TARGET=$1/$PAGE fi - cp $PAGE /var/lib/jenkins/userContent/$TARGET + cp $PAGE $BASE/$TARGET rm $PAGE echo "Enjoy $REPRODUCIBLE_URL/$TARGET" } diff --git a/bin/reproducible_html_graphs.sh b/bin/reproducible_html_graphs.sh index a132f2bf..4813511c 100755 --- a/bin/reproducible_html_graphs.sh +++ b/bin/reproducible_html_graphs.sh @@ -112,9 +112,9 @@ update_suite_stats() { PREFIX=$SUITE fi # force regeneration of the image if it exists - if [ -f /var/lib/jenkins/userContent/$PREFIX/${TABLE[$i]}.png ] ; then + if [ -f $BASE/$PREFIX/${TABLE[$i]}.png ] ; then echo "Touching $PREFIX/${TABLE[$i]}.png..." - touch -d "$FORCE_DATE 00:00" /var/lib/jenkins/userContent/$PREFIX/${TABLE[$i]}.png + touch -d "$FORCE_DATE 00:00" $BASE/$PREFIX/${TABLE[$i]}.png fi done fi @@ -223,7 +223,7 @@ update_meta_pkg_stats() { echo "Updating meta pkg set stats for ${META_PKGSET[$1]} in $SUITE on $DATE." fi echo "Touching $SUITE/$ARCH/${TABLE[6]}_${META_PKGSET[$i]}.png..." - touch -d "$FORCE_DATE 00:00" /var/lib/jenkins/userContent/$SUITE/$ARCH/${TABLE[6]}_${META_PKGSET[$i]}.png + touch -d "$FORCE_DATE 00:00" $BASE/$SUITE/$ARCH/${TABLE[6]}_${META_PKGSET[$i]}.png fi done } @@ -256,9 +256,9 @@ update_bug_stats() { sqlite3 -init ${INIT} ${PACKAGES_DB} "$SQL" # force regeneration of the image echo "Touching ${TABLE[3]}.png..." - touch -d "$FORCE_DATE 00:00" /var/lib/jenkins/userContent/${TABLE[3]}.png + touch -d "$FORCE_DATE 00:00" $BASE/${TABLE[3]}.png echo "Touching ${TABLE[7]}.png..." - touch -d "$FORCE_DATE 00:00" /var/lib/jenkins/userContent/${TABLE[7]}.png + touch -d "$FORCE_DATE 00:00" $BASE/${TABLE[7]}.png fi } @@ -311,7 +311,7 @@ create_png_from_table() { mkdir -p $DIR echo "Generating $2." /srv/jenkins/bin/make_graph.py ${TABLE[$1]}.csv $2 ${COLOR[$1]} "${MAINLABEL[$1]}" "${YLABEL[$1]}" - mv $2 /var/lib/jenkins/userContent/$DIR + mv $2 $BASE/$DIR [ "$DIR" = "." ] || rmdir $(dirname $2) fi rm ${TABLE[$1]}.csv @@ -388,7 +388,7 @@ create_suite_stats_page() { write_page " <a href=\"/userContent/$SUITE/${TABLE[0]}.png\"><img src=\"/userContent/$SUITE/${TABLE[0]}.png\" alt=\"${MAINLABEL[0]}\"></a>" for i in 0 2 ; do # recreate png once a day - if [ ! -f /var/lib/jenkins/userContent/$SUITE/${TABLE[$i]}.png ] || [ ! -z $(find /var/lib/jenkins/userContent/$SUITE -maxdepth 1 -mtime +0 -name ${TABLE[$i]}.png) ] ; then + if [ ! -f $BASE/$SUITE/${TABLE[$i]}.png ] || [ ! -z $(find $BASE/$SUITE -maxdepth 1 -mtime +0 -name ${TABLE[$i]}.png) ] ; then create_png_from_table $i $SUITE/${TABLE[$i]}.png fi done @@ -407,7 +407,7 @@ create_pkg_sets_page() { write_page_header $VIEW "Overview about reproducible builds of specific package sets in $SUITE/$ARCH" write_page "<ul><li>Tracked package sets in $SUITE: </li>" for i in $(seq 1 ${#META_PKGSET[@]}) ; do - if [ -f /var/lib/jenkins/userContent/$SUITE/$ARCH/${TABLE[6]}_${META_PKGSET[$i]}.png ] ; then + if [ -f $BASE/$SUITE/$ARCH/${TABLE[6]}_${META_PKGSET[$i]}.png ] ; then write_page "<li><a href=\"#${META_PKGSET[$i]}\">${META_PKGSET[$i]}</a></li>" fi done @@ -427,9 +427,9 @@ create_pkg_sets_page() { PNG=${TABLE[6]}_${META_PKGSET[$i]}.png THUMB=${TABLE[6]}_${META_PKGSET[$i]}-thumbnail.png # redo pngs once a day - if [ ! -f /var/lib/jenkins/userContent/$SUITE/$ARCH/$PNG ] || [ ! -z $(find /var/lib/jenkins/userContent/$SUITE/$ARCH -maxdepth 1 -mtime +0 -name $PNG) ] ; then + if [ ! -f $BASE/$SUITE/$ARCH/$PNG ] || [ ! -z $(find $BASE/$SUITE/$ARCH -maxdepth 1 -mtime +0 -name $PNG) ] ; then create_png_from_table 6 $SUITE/$ARCH/$PNG ${META_PKGSET[$i]} - convert /var/lib/jenkins/userContent/$SUITE/$ARCH/$PNG -adaptive-resize 160x80 /var/lib/jenkins/userContent/$SUITE/$ARCH/$THUMB + convert $BASE/$SUITE/$ARCH/$PNG -adaptive-resize 160x80 $BASE/$SUITE/$ARCH/$THUMB fi write_page "<p><a href=\"/userContent/$SUITE/$ARCH/$PNG\"><img src=\"/userContent/$SUITE/$ARCH/$PNG\" alt=\"${MAINLABEL[6]}\"></a>" write_page "<br />The package set '${META_PKGSET[$i]}' in $SUITE/$ARCH consists of: <br />" @@ -519,7 +519,7 @@ create_main_stats_page() { for i in 3 7 4 5 1 ; do write_page " <a href=\"/userContent/${TABLE[$i]}.png\"><img src=\"/userContent/${TABLE[$i]}.png\" alt=\"${MAINLABEL[$i]}\"></a>" # redo pngs once a day - if [ ! -f /var/lib/jenkins/userContent/${TABLE[$i]}.png ] || [ ! -z $(find /var/lib/jenkins/userContent -maxdepth 1 -mtime +0 -name ${TABLE[$i]}.png) ] ; then + if [ ! -f $BASE/${TABLE[$i]}.png ] || [ ! -z $(find $BASE -maxdepth 1 -mtime +0 -name ${TABLE[$i]}.png) ] ; then create_png_from_table $i ${TABLE[$i]}.png fi if [ "$i" = "3" ] ; then diff --git a/bin/reproducible_maintenance.sh b/bin/reproducible_maintenance.sh index 8732f562..098e63db 100755 --- a/bin/reproducible_maintenance.sh +++ b/bin/reproducible_maintenance.sh @@ -34,7 +34,7 @@ if [ ! -f reproducible_$DATE.db.xz ] ; then fi # provide copy for external backups -cp -v $PACKAGES_DB /var/lib/jenkins/userContent/ +cp -v $PACKAGES_DB $BASE/ # delete old temp directories OLDSTUFF=$(find $REP_RESULTS -maxdepth 1 -type d -name "tmp.*" -mtime +2 -exec ls -lad {} \;) @@ -97,7 +97,7 @@ fi # only grep through the last 5h (300 minutes) of builds... # (ignore "*None.rbuild.log" because these are build which were just started) # this job runs every 4h -FAILED_BUILDS=$(find /var/lib/jenkins/userContent/rbuild -type f ! -name "*None.rbuild.log" ! -mmin +300 -exec egrep -l -e 'E: Failed to fetch.*(Connection failed|Size mismatch|Cannot initiate the connection to)' {} \; || true) +FAILED_BUILDS=$(find $BASE/rbuild -type f ! -name "*None.rbuild.log" ! -mmin +300 -exec egrep -l -e 'E: Failed to fetch.*(Connection failed|Size mismatch|Cannot initiate the connection to)' {} \; || true) if [ ! -z "$FAILED_BUILDS" ] ; then echo echo "Warning: the following failed builds have been found" @@ -201,7 +201,7 @@ if grep -q '|' $PACKAGES ; then QUERY="DELETE FROM removed_packages WHERE name='$PKGNAME' AND suite='$SUITE' AND architecture='$ARCH'" sqlite3 -init $INIT ${PACKAGES_DB} "$QUERY" - cd /var/lib/jenkins/userContent + cd $BASE find rb-pkg/$SUITE/$ARCH rbuild/$SUITE/$ARCH dbd/$SUITE/$ARCH buildinfo/$SUITE/$ARCH -name "${PKGNAME}_*" | xargs rm -v done cd - > /dev/null @@ -218,16 +218,16 @@ if [ ! -z "$OLDSTUFF" ] ; then fi # remove artifacts older than 3 days -ARTIFACTS=$(find /var/lib/jenkins/userContent/artifacts/* -maxdepth 1 -type d -mtime +3 -exec ls -lad {} \; || true) +ARTIFACTS=$(find $BASE/artifacts/* -maxdepth 1 -type d -mtime +3 -exec ls -lad {} \; || true) if [ ! -z "$ARTIFACTS" ] ; then echo echo "Removed old artifacts:" - find /var/lib/jenkins/userContent/artifacts/* -maxdepth 1 -type d -mtime +3 -exec rm -rv {} \; + find $BASE/artifacts/* -maxdepth 1 -type d -mtime +3 -exec rm -rv {} \; echo fi # find + chmod files with bad permissions -BADPERMS=$(find /var/lib/jenkins/userContent/{buildinfo,dbd,rbuild,artifacts,unstable,experimental,testing,rb-pkg} ! -perm 644 -type f) +BADPERMS=$(find $BASE/{buildinfo,dbd,rbuild,artifacts,unstable,experimental,testing,rb-pkg} ! -perm 644 -type f) if [ ! -z "$BADPERMS" ] ; then DIRTY=true echo |