[Git][qa/jenkins.debian.net][master] r.d.n.: do pkgsync via systemd service with timer for riscv64

Holger Levsen (@holger) gitlab at salsa.debian.org
Sat Apr 5 22:39:09 BST 2025



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


Commits:
adfa7fb1 by Holger Levsen at 2025-04-05T23:38:59+02:00
r.d.n.: do pkgsync via systemd service with timer for riscv64

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

- - - - -


5 changed files:

- TODO.rebuilderd-systemd-units
- bin/rebuilderd_pkgsync.sh
- + hosts/osuosl5-amd64/etc/systemd/system/rebuilderd-pkgsync at .service
- + hosts/osuosl5-amd64/etc/systemd/system/rebuilderd-pkgsync at .timer
- update_jdn.sh


Changes:

=====================================
TODO.rebuilderd-systemd-units
=====================================
@@ -1,9 +1,3 @@
-pkg sync timers
-	run every 6h +- 30min, 2.5h after dinstall
-	https://www.freedesktop.org/software/systemd/man/latest/systemd.timer.html#RandomizedDelaySec=
-	+ a big AccuracySec=
-
-
 rebuilderd backup
  unit or script which stops and disables the rebuilded service 
   and which woud be run by cron...


=====================================
bin/rebuilderd_pkgsync.sh
=====================================
@@ -6,11 +6,12 @@
 set -e
 set -o pipefail		# see eg http://petereisentraut.blogspot.com/2010/11/pipefail.html
 
+ARCH=$1
 JQQUERY='.[] | select(.architecture != "all")'
 #
 # choose correct port
 #
-case $1 in
+case $ARCH in
 	all)		PORT=8489
 			JQQUERY='.[] | select(.architecture = "all")'
 			;;
@@ -29,21 +30,10 @@ case $1 in
 			;;
 esac
 
-ARCH=$1
-shift
-
-# REBUILDERD_COOKIE_PATH could be set by service
-export REBUILDERD_COOKIE_PATH=/srv/rebuilderd/$ARCH/.auth-cookie
-while true ; do
-	/opt/usr/bin/rebuildctl -H http://127.0.0.1:$PORT pkgs sync-profile \
-		--sync-config /opt/etc/rebuilderd-sync-${ARCH}.conf debian-main \
-		--print-json \
-		| jq "$JQQUERY" \
-		| jq -s \
-		| /opt/usr/bin/rebuildctl -H http://127.0.0.1:$PORT pkgs sync-stdin debian main
-	ST=$(shuf -i 150-210 -n 1)
-	echo sleeping ${ST}m now
-	sleep ${ST}m
-done
-
-
+# REBUILDERD_COOKIE_PATH is be set by service
+/opt/usr/bin/rebuildctl -H http://127.0.0.1:$PORT pkgs sync-profile \
+	--sync-config /opt/etc/rebuilderd-sync-${ARCH}.conf debian-main \
+	--print-json \
+	| jq "$JQQUERY" \
+	| jq -s \
+	| /opt/usr/bin/rebuildctl -H http://127.0.0.1:$PORT pkgs sync-stdin debian main


=====================================
hosts/osuosl5-amd64/etc/systemd/system/rebuilderd-pkgsync at .service
=====================================
@@ -0,0 +1,9 @@
+[Unit]
+Description=Periodically import packages to be rebuild by rebuilderd
+
+[Service]
+Environment="REBUILDERD_COOKIE_PATH=/srv/rebuilderd/%i/.auth-cookie"
+ExecStart=/srv/jenkins/bin/rebuilderd_pkgsync.sh %i
+RemainAfterExit=no
+Type=oneshot
+


=====================================
hosts/osuosl5-amd64/etc/systemd/system/rebuilderd-pkgsync at .timer
=====================================
@@ -0,0 +1,10 @@
+[Unit]
+Description=Periodically import packages to be rebuild by rebuilderd
+
+[Timer]
+# dinstall runs 1|7|13|19:52 UTC - see https://salsa.debian.org/ftp-team/dak/blob/master/config/debian/crontab
+OnCalendar=3,9,15,21
+RandomizedDelaySec=1200
+
+[Install]
+WantedBy=timers.target


=====================================
update_jdn.sh
=====================================
@@ -776,10 +776,16 @@ deploy_rebuilderd_services() {
 						sudo systemctl enable rebuilderd-worker@${i}.service
 					done
 				elif [ "$1" = "rebuilderd" ] ; then
-				for i in $2 ; do
+					for i in $2 ; do
 						sudo ln -sf rebuilderd at .service rebuilderd@${i}.service
 						sudo systemctl enable rebuilderd@${i}.service
-				done
+					done
+				elif [ "$1" = "pkgsync" ] ; then
+					for i in $2 ; do
+						sudo ln -sf rebuilderd-pkgsync at .service rebuilderd-pkgsync@${i}.service
+						sudo ln -sf rebuilderd-pkgsync at .timer rebuilderd-pkgsync@${i}.timer
+						sudo systemctl enable rebuilderd-pkgsync@${i}.service
+					done
 				fi
 				cd -
 }
@@ -798,6 +804,7 @@ case $HOSTNAME in
 	riscv64*)				deploy_rebuilderd_services worker 3
 						;;
 	osuosl5*)				deploy_rebuilderd_services rebuilderd "all amd64 arm64 armhf i386 riscv64"
+						deploy_rebuilderd_services pkgsync                               "riscv64"
 						;;
 	*) 					;;
 esac



View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/adfa7fb100837314bf0436ed637c5ef9a55b4697

-- 
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/adfa7fb100837314bf0436ed637c5ef9a55b4697
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/20250405/30afad53/attachment-0001.htm>


More information about the Qa-jenkins-scm mailing list