[Qa-jenkins-scm] [Git][qa/jenkins.debian.net][master] reproducible Archlinux scheduler: drop unused code, add FIXMEs

Holger Levsen gitlab at salsa.debian.org
Sat Sep 22 18:21:56 BST 2018


Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net


Commits:
863746c4 by Holger Levsen at 2018-09-22T17:21:15Z
reproducible Archlinux scheduler: drop unused code, add FIXMEs

Signed-off-by: Holger Levsen <holger at layer-acht.org>

- - - - -


2 changed files:

- TODO
- bin/reproducible_archlinux_scheduler.sh


Changes:

=====================================
TODO
=====================================
@@ -333,6 +333,7 @@ See link:https://jenkins.debian.net/userContent/about.html["about jenkins.debian
 ** problem: we currently have more (detailed) stati in archlinux
 ** extend scheduler.sh:
 *** stop checking making 8000 queries instead of 1...
+*** comparing versions is also unneeded: if its not empty it must be higher (due to repo constraints)
 *** actually schedule old packages once queue is empty (except blacklisted packages)
 **** at first reschedule packages which never have been build (according to the db)
 **** once there are no more left, reschedule based on last build_date


=====================================
bin/reproducible_archlinux_scheduler.sh
=====================================
@@ -43,7 +43,9 @@ update_archlinux_repositories() {
 	#
 	# remove packages which are gone (only when run between 21:00 and 23:59)
 	#
-	if [ $(date +'%H') -gt 21 ] ; then
+	#if [ $(date +'%H') -gt 21 ] ; then
+	#FIXME: the next lines actually disables this code block...
+	if [ $(date +'%H') -gt 25 ] ; then
 		REMOVED=0
 		REMOVE_LIST=""
 		for REPO in $ARCHLINUX_REPOS ; do
@@ -54,6 +56,7 @@ update_archlinux_repositories() {
 					let REMOVED=$REMOVED+1
 					REMOVE_LIST="$REMOVE_LIST $REPO/$PKG"
 					rm -r --one-file-system $BASE/archlinux/$REPO/$PKG
+					# FIXME: we actually need to drop them from the db now...
 				        echo "$REPO/$PKG removed as it's gone from the Archlinux repositories."
 				fi
 			done
@@ -114,43 +117,13 @@ update_archlinux_repositories() {
 					fi
 				fi
 
-				#
-				# old scheduling to be deleted once the db is used
-				#
-				if [ ! -d $BASE/archlinux/$REPO/$pkgbase ] ; then
-					# schedule (all) entirely new packages
-					echo $REPO/$pkgbase >> $NEW
-					#echo "$(date -u ) - scheduling new package $REPO/$pkgbase... "
-					mkdir -p $BASE/archlinux/$REPO/$pkgbase
-					touch $BASE/archlinux/$REPO/$pkgbase/pkg.needs_build
-				elif [ ! -f $BASE/archlinux/$REPO/$pkgbase/pkg.needs_build ] ; then
-					if [ -f $BASE/archlinux/$REPO/$pkgbase/pkg.version ] ; then
-						VERSION=$(cat $BASE/archlinux/$REPO/$pkgbase/pkg.version 2>/dev/null)
-						if [ "$VERSION" != "$version" ] ; then
-							VERCMP="$(schroot --run-session -c $SESSION --directory /var/tmp -- vercmp $version $VERSION || true)"
-							if [ "$VERCMP" = "1" ] ; then
-								# schedule packages where an updated version is availble
-								echo $REPO/$pkgbase >> $UPDATED
-								#echo "$(date -u ) - we know $REPO/$pkgbase $VERSION, but repo has $version, so rescheduling... "
-								touch $BASE/archlinux/$REPO/$pkgbase/pkg.needs_build
-							elif [ "$VERCMP" = "-1" ] ; then
-								echo "$REPO/$pkgbase $VERSION > $version" >> $OLDER
-							else
-								echo "$(date -u ) - This should never happen: we know about $pkgbase $VERSION, but repo has $version. \$VERCMP=$VERCMP"
-							fi
-						fi
-					else
-						#echo "$(date -u ) - scheduling new package $REPO/$pkgbase... though this is strange and should not really happen…"
-						touch $BASE/archlinux/$REPO/$pkgbase/pkg.needs_build
-					fi
-				fi
 				printf '%s %s\n' "$pkgbase" "$version" >> $TMPPKGLIST
 			done
 		mv $TMPPKGLIST "$ARCHLINUX_PKGS"_"$REPO"
-		#echo "$(date -u ) - $(cat ${ARCHLINUX_PKGS}_$REPO | wc -l) packages in repository '$REPO' are known to us."
+		#FIXME: echo "$(date -u ) - $(cat ${ARCHLINUX_PKGS}_$REPO | wc -l) packages in repository '$REPO' are known to us."
 		new=$(grep -c ^$REPO $NEW || true)
 		updated=$(grep -c ^$REPO $UPDATED || true)
-		#echo "$(date -u ) - scheduled $new/$updated packages in repository '$REPO'."
+		#FIXME echo "$(date -u ) - scheduled $new/$updated packages in repository '$REPO'."
 	done
 	schroot --end-session -c $SESSION
 	echo "$(date -u) - the following packages are known to us with higher versions than the repo because we build trunk:"
@@ -164,25 +137,7 @@ update_archlinux_repositories() {
 	old=""
 	local MAX=350
 	local THRESHOLD=450
-	if [ $(find $BASE/archlinux/ -name pkg.needs_build | wc -l ) -le $THRESHOLD ] ; then
-		rm -f $OLDER
-		# reschedule
-	        for i in $( ( for REPO in $ARCHLINUX_REPOS ; do
-			find $BASE/archlinux/$REPO -type d -wholename "$BASE/archlinux/$REPO/*" -printf '%T+ %p\n' | egrep -v "$BLACKLIST"
-		done ) | sort | head -n $MAX| cut -d " " -f2 ) ; do
-			touch $i/pkg.needs_build
-			echo "$(basename $(dirname $i))/$(basename $i)" >> $OLDER
-		done
-		if [ -s $OLDER ] ; then
-			old=" $(cat $OLDER | wc -l) old ones"
-			echo "$(date -u) - Old, previously tested packages rescheduled: "
-			for REPO in $ARCHLINUX_REPOS ; do
-				grep $REPO/ $OLDER | sort
-			done
-		fi
-	fi
-	rm $OLDER
-	echo
+	#FIXME add actual code here :)
 
 	#
 	# output stats



View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/commit/863746c4e9880122fada1bb752bddee9ff8f4706

-- 
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/commit/863746c4e9880122fada1bb752bddee9ff8f4706
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20180922/222300e0/attachment-0001.html>


More information about the Qa-jenkins-scm mailing list