2011/8/5 Joey Hess <jo...@debian.org>: > Stefan Kisdaroczi wrote: >> related to #619146: >> >> I changed the command line from >> --dist=squeeze,squeeze-updates --di-dist=squeeze >> to >> --dist=squeeze,squeeze-updates --di-dist=dists >> and debmirror tried to mirror d-i images for squeeze-updates. >> >> The attached patch skips d-i images for suites without d-i. > > It seems that the fix for #619146 must have been put into a too late > place in the code. But with your patch, there are now two separate peices > of code that try to detect and skip suites that do not have d-i (the > other being around line 982), so a way needs to be found to unify those.
I did that in the better patch i sent later to 636...@bugs.debian.org. Attached again or see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=636627 Stefan
diff --git a/debmirror b/debmirror index 73c52ae..0c41a1d 100755 --- a/debmirror +++ b/debmirror @@ -979,10 +979,7 @@ foreach my $dist (keys %distset) { next unless exists $distset{$dist}{mirror}; foreach my $section (@sections) { # some suites don't have d-i - next if ($section =~ /debian-installer/ && $dist eq "woody"); - next if ($section =~ /debian-installer/ && $dist eq "experimental"); - # *-proposed-updates, squeeze-updates, etc all partial suites, all lack d-i - next if ($section =~ /debian-installer/ && $dist =~ /.*-updates/ ); + next if ($section =~ /debian-installer/ && di_skip_dist($dist) ); foreach my $arch (@arches) { get_index("dists/$dist/$section/binary-$arch", "Packages"); link_index($dist,$section,$arch) if $debmarshal; @@ -2425,9 +2422,20 @@ sub cleanup_unknown_files { di_cleanup() if @di_dists; } +sub di_skip_dist { + my $dist=shift; + if ( $dist eq "woody" || + $dist eq "experimental" || + $dist =~ /.*-updates/ ) { + return 1; + } + return 0; +} + sub di_check_dists { DI_DIST: for my $di_dist (@di_dists) { + next if di_skip_dist($di_dist); if (exists $distset{$di_dist}) { # Valid dist and also mirroring the archive itself $distset{$di_dist}{"d-i"} = 1;