On Mon, Sep 09, 2024 at 01:30:08PM -0600, Charles Laws wrote:
> Admittedly I am a novice at coding, but I believe I have found the issue.
> Adjusting the following appears to allow debmirror to download the
> contents files from proposed-updates.
> --- debmirror 2024-09-09 13:13:06.335485914 -0600
> +++ debmirror.revised 2024-09-09 13:15:21.742485255 -0600
> @@ -3301,7 +3301,7 @@
> my($routine, $routine_args, $operational_params) = @_;
> my @sects = ((map {"/$_"} @sections), "");
> foreach my $dist (keys %distset) {
> - next if $dist=~/\bexperimental\b|-proposed-updates\b/o;
> + next if $dist=~/\bexperimental\bproposed-updates\b/o;
You're right that this is the cause of the problem, but this isn't quite
the right fix: it excludes --dist items that match a regular expression
defined as "experimental with word boundaries around it, immediately
followed by proposed-updates with word boundaries around it" - it's
literally impossible for this regular expression ever to match any
string, so this can't be what we should do.
When faced with this sort of problem, it's usually best to look back
through history to find out what the offending code was doing in the
first place. Unfortunately doing that exercise here leads us back to a
period where our version control history wasn't very detailed (because
the history was imported from a time before debmirror was
version-controlled at all, I think), but the commit in question is:
https://salsa.debian.org/debian/debmirror/-/commit/10a29dcd2995d6b8a2def028eb46dc49d442d08e
And looking in debian/changelog, there's this entry under 20040926:
* Skip Contents files for *-proposed-updates and experimental
So I think the chances are that -proposed-updates didn't have Contents
files back then. https://archive.debian.org/debian/dists/ doesn't have
complete records here, but they appear to have been added some time
between squeeze (Debian 6.0) and stretch (Debian 9).
However, nowadays debmirror skips files if they don't exist, without
having to explicitly exclude them from consideration up-front. So the
right fix is just to remove this line entirely, and I'll do that.
Thanks for the investigation!
--
Colin Watson (he/him) [[email protected]]