mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-10-29 01:38:37 -04:00
The RPM workflows rsync packages to rpm/master/<family>/<rel>/<arch>/ on zmrepo but never run createrepo_c, so that tree has no repodata and dnf can't use it. Add utils/zmrepo_createrepo.sh and run it over ssh after the publish step. It serializes runs per directory with flock, removes a .repodata/ temp dir left by a run that died (createrepo_c refuses to start while one exists; that is what froze el/10/x86_64 and fc/42/x86_64 in the older tree on 2026-06-18), and ignores hangups so cancelling the job doesn't kill createrepo_c halfway and leave the same mess behind. The zmrepo host needs createrepo_c and flock installed. tests/python/test_zmrepo_createrepo.py drives the script through bash -s with a stub createrepo_c: stale temp dir cleanup, exit codes, lock timeout, and surviving SIGHUP mid-run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>