From a6c56d65a9f88ff46704a73a62285b73abc31af2 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <evangelos@foutrelis.com>
Date: Sat, 16 Apr 2022 03:38:08 +0300
Subject: [PATCH] rebuilderd_worker: clean the package cache as well

Using paccache for this which keeps up to 3 versions per package, and
also instructing it to keep any packages accessed in the past 2 weeks.
---
 roles/rebuilderd_worker/files/clean-repro         | 5 +++++
 roles/rebuilderd_worker/files/clean-repro.service | 3 ++-
 roles/rebuilderd_worker/files/clean-repro.timer   | 2 +-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/roles/rebuilderd_worker/files/clean-repro b/roles/rebuilderd_worker/files/clean-repro
index f07b33769..89ee94a0a 100644
--- a/roles/rebuilderd_worker/files/clean-repro
+++ b/roles/rebuilderd_worker/files/clean-repro
@@ -1,3 +1,8 @@
 #!/bin/bash -e
 
+# remove leftover chroots that are more than a week old
 find /var/lib/repro -maxdepth 1 -name '*?_?*' -mtime +6 -exec rm -rf {} +
+
+# clean the package cache but keep recently accessed files
+flock /var/lib/rebuilderd-worker/cache.lock \
+  paccache -r -q -c /var/lib/rebuilderd-worker/cache --min-atime '2 weeks ago'
diff --git a/roles/rebuilderd_worker/files/clean-repro.service b/roles/rebuilderd_worker/files/clean-repro.service
index dc89c54f6..9050a35d9 100644
--- a/roles/rebuilderd_worker/files/clean-repro.service
+++ b/roles/rebuilderd_worker/files/clean-repro.service
@@ -1,6 +1,7 @@
 [Unit]
-Description=Clean up stale repro chroots
+Description=Clean up rebuilderd-worker chroots and cache
 ConditionPathExists=/var/lib/repro
+ConditionPathExists=/var/lib/rebuilderd-worker/cache
 
 [Service]
 Type=oneshot
diff --git a/roles/rebuilderd_worker/files/clean-repro.timer b/roles/rebuilderd_worker/files/clean-repro.timer
index cfa6d2438..f3903372a 100644
--- a/roles/rebuilderd_worker/files/clean-repro.timer
+++ b/roles/rebuilderd_worker/files/clean-repro.timer
@@ -1,5 +1,5 @@
 [Unit]
-Description=Daily repro cleanup
+Description=Daily rebuilderd-worker chroot and cache cleanup
 
 [Timer]
 OnCalendar=daily
-- 
GitLab