Hi,

In some circumstances, debootstrap may fail to download
'Packages' files if the option --extra-suite=unreleased is
in use (it doesn't happen with the debian-ports mirrors
but with custom mirrors). It seems that it is caused by
a forgotten 'local' declaration in the patch merged.

In the details : commit [1] added loop variables in 
functions 'validate_suite' and 
'download_release_indices'. Both loop variables are named 
"s". And 'download_release_indices' calls 'validate_suite'.
As a result, 'validate_suite' alters the value of the
loop variable "s" of the calling function 
'download_release_indices' with surprising outcome.

A 'local' declaration of variables "s" would help.

I hope it will help !

Regards,

[1]: 
https://salsa.debian.org/installer-team/debootstrap/-/commit/868687581b56a5ffcaaf0e44100798f5feb747ff

diff -Naur a/debootstrap/functions b/debootstrap/functions
--- a/debootstrap/functions     2020-03-14 01:53:38.000000000 +0100
+++ b/debootstrap/functions     2020-08-19 11:56:42.255998139 +0200
@@ -552,6 +552,7 @@
 CODENAME=""
 validate_suite () {
        local reldest suite
+       local s
        reldest="$1"
 
        CODENAME=$(sed -n "s/^Codename: *//p" "$reldest")
@@ -654,6 +655,7 @@
        local m1 inreldest reldest relsigdest totalpkgs \
              subpath xzi bz2i gzi normi i ext \
              donepkgs pkgdest acquirebyhash
+       local s
        m1="${MIRRORS%% *}"
        for s in $SUITE $EXTRA_SUITES; do
                inreldest="$TARGET/$($DLDEST rel "$s" "$m1" 
"dists/$s/InRelease")"

Reply via email to