[dbscripts,4/4] ftpdir-cleanup: handle removal of reproducible archives as well

Message ID 20181204180944.9648-4-eschwartz@archlinux.org
State New
Headers show
Series
  • [dbscripts,1/4] tests: make dummy copies of all pkgpool packages in the test environment
Related show

Commit Message

Eli Schwartz via arch-projects Dec. 4, 2018, 6:09 p.m. UTC
This reuses the same logic used for normally deleting packages, but
cleanup of the reproducible archive happens in a subdirectory of
${CLEANUP_DESTDIR} while still subject to the same timeouts.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
---
 cron-jobs/ftpdir-cleanup | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

Patch

diff --git a/cron-jobs/ftpdir-cleanup b/cron-jobs/ftpdir-cleanup
index 74b771cd..87af2486 100755
--- a/cron-jobs/ftpdir-cleanup
+++ b/cron-jobs/ftpdir-cleanup
@@ -58,6 +58,7 @@  for repo in "${PKGREPOS[@]}"; do
 			for old_pkg in "${old_pkgs[@]}"; do
 				msg2 '%s' "${old_pkg}"
 				clean_pkg "${FTP_BASE}/${repo}/os/${arch}/${old_pkg}"
+				find "${FTP_BASE}/${PKGPOOL}-reproducible/" -name "*.buildlinks" -exec sed -i "/${old_pkg%${PKGEXTS}}/d" {} +
 			done
 		fi
 	done
@@ -79,20 +80,29 @@  if (( ${#old_pkgs[@]} >= 1 )); then
 	done
 fi
 
+mapfile -td '' old_reproducible_pkgs < <(find "${FTP_BASE}/${PKGPOOL}-reproducible/" -name '*.buildlinks' -empty -printf '%f\0')
+if (( ${#old_reproducible_pkgs[@]} >= 1 )); then
+	msg "Removing old packages from reproducible pool..."
+	for old_pkg in "${old_reproducible_pkgs[@]}"; do
+		msg2 '%s' "${old_pkg}"
+		clean_pkg "${FTP_BASE}/${PKGPOOL}-reproducible/${old_pkg}" "${CLEANUP_DESTDIR}/reproducible"
+	done
+fi
+
 unset old_pkgs
 touch -d "${CLEANUP_KEEP} days ago"  "${WORKDIR}/cleanup_timestamp"
 for f in "${CLEANUP_DESTDIR}"/**/*${PKGEXTS}; do
 	if [[ ${WORKDIR}/cleanup_timestamp -nt $f ]]; then
-		old_pkgs+=("${f##*/}")
+		old_pkgs+=("${f}")
 	fi
 done
 if (( ${#old_pkgs[@]} >= 1 )); then
 	msg "Removing old packages from the cleanup directory..."
 	for old_pkg in "${old_pkgs[@]}"; do
-		msg2 '%s' "${old_pkg}"
+		msg2 '%s' "${old_pkg#${CLEANUP_DESTDIR}/}"
 		if [[ $CLEANUP_DRYRUN != true ]]; then
-			rm -f "${CLEANUP_DESTDIR}/${old_pkg}"
-			rm -f "${CLEANUP_DESTDIR}/${old_pkg}.sig"
+			rm -f "${old_pkg}"
+			rm -f "${old_pkg}.sig"
 		fi
 	done
 fi