On Sun, Feb 21, 2021 at 10:20:13PM +0000, Eric Wong wrote: > > This was tested with the latest release of Grokmirror, v2.0.7. Note > > that the "pull" and "fsck" sections are required even though they're > > empty.
Hmm... That grok-pull requires the [fsck] section is a bug that I introduced in one of the last versions. :/ I'll put in a fix that doesn't require it. > > Another option would be to generate an appropriate v1 or v2 > > configuration based on which Grokmirror version is detected. I'm > > not sure that's worth the trouble though. > > Ugh, some of these incompatible changes to grokmirror are really > annoying and will break existing scripts when I upgrade. > (and I suspect this affects other people, too). Grokmirror-1.x is not maintained any more and 2.x is a much better codebase anyway. It was a difficult call to introduce a config change that intentionally breaks upgrade path from 1.x to 2.x, but the priority was to avoid a much bigger problem by sneaking this upgrade on an unsuspecting repo admin. Grokmirror-2 completely refactors how backend repositories are organized, so the first grok-fsck run on large repo collections with a lot of alternates could have had potentially led to a disastrous outcome resulting in repository corruption. Not a problem for repos on lore.kernel.org where there are no forks, but very much a problem for git.kernel.org and source.codeaurora.org mirrors (especially the latter). So, I had to make the choice between annoyance and potential corruption. :) The breaking nature of the change is documented in https://git.sr.ht/~monsieuricon/grokmirror/tree/master/item/UPGRADING.rst > > xsys($grok_pull, '-c', "$tmpdir/repos.conf"); > > - is($? >> 8, 127, 'grok-pull exit code as expected'); > > + is($? >> 8, 0, 'grok-pull exit code as expected'); > > In particular, I'm relying on this exit code in at least one of > my scripts. Now I'll have to RTFM to figure out if I should be > testing any other exit codes or something else... I'm pretty sure I did this to make grok-pull work better with systemd, sorry. -K