Bug#1099421: debrebuild: please add a --cache-size-limit option or some such

Holger Levsen holger at debian.org
Mon Mar 3 12:53:45 GMT 2025


Package: devscripts
Version: 2.25.5
Severity: wishlist
x-debbugs-cc: reproducible-bugs at lists.alioth.debian.org
User reproducible-builds at lists.alioth.debian.org
Usertag environment

Dear Maintainer,

please add a --cache-size-limit option or some such.

from #debian-reproducible today:

< h01ger> josch: i just committed this crime: bin/debrebuild_cache_limiter.sh * r.d.n: add script to work around/implement a missing feature of debrebuild * https://salsa.debian.org/qa/jenkins.debian.net/-/commit/2db5e98
< h01ger> josch: for the upcoming debrebuild bug report, i'm not sure whether you can rely on atime being a sensible source of information and how to implement host specific limits. i guess with --cache-size, and then its up to the user how to call that
< h01ger> for the time being i intend to call bin/debrebuild_cache_limiter.sh manually, as i've been doing the last weeks anyway. (only 2-3 hosts really need it and there's i just ran one long command daily manually. this is a bit better and probably even safe to run in cron or some such...)

For easier reference, the script is as follows:

$ cat bin/debrebuild_cache_limiter.sh 
#!/bin/bash
#
# Copyright 2025 Holger Levsen (holger at layer-acht.org)
# released under the GPLv2

CACHE=~rebuilderd/cache

if [ ! -d $CACHE ] ; then
	echo "$CACHE does not exist."
	exit 1
fi

case $HOSTNAME in
	ionos17*)	LIMIT=50  ;;
	codethink*)	LIMIT=20  ;;
	osuosl*)	LIMIT=333 ;;
	infom07*)	LIMIT=200 ;; # FIXME: drop extra partition again?
	infom08*)	LIMIT=100 ;;
	riscv64*)	LIMIT=180 ;;
	*)		echo "Limit for $HOSTNAME not defined."
			exit 1 ;;
esac

# delete 1000 oldest files
# FIXME: use atime, but then, this script should not exist in the first place... :)
find $CACHE -type f -printf '%T+ %p\n' | sort | head -n 1000|cut -d ' ' -f2-|xargs sudo rm 

set -e
set -o pipefail	

SIZE=$(du -sh $CACHE | grep G | cut -d 'G' -f 1)

if [ $SIZE -gt $LIMIT ] ; then
	echo "$CACHE is still ${SIZE}G, reducing further."
	$0
else
	echo "$CACHE is ${SIZE}G, voila."
fi

exit 0


& thanks a lot for debrebuild, it's extremely useful and very much works very
well!

-- 
cheers,
	Holger

 ⢀⣴⠾⠻⢶⣦⠀
 ⣾⠁⢠⠒⠀⣿⡁  holger@(debian|reproducible-builds|layer-acht).org
 ⢿⡄⠘⠷⠚⠋⠀  OpenPGP: B8BF54137B09D35CF026FE9D 091AB856069AAA1C
 ⠈⠳⣄

Another end of the world is possible.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/reproducible-bugs/attachments/20250303/10539955/attachment.sig>


More information about the Reproducible-bugs mailing list