Package: sbuild
Version: 0.85.0
Severity: important

get_default_release.py has this:

 for pkgfile, _ in d.get_candidate_ver(c["base-files"]).file_list:

I dunno how python apt interface works, but this very line works in a wrong way
when bookworm-proposed-updates is enabled in addition to stable.  As far as I
can see, the idea is to have one entry for every apt index file, in this case,
it is stable, stable-proposed-updates, and local (locally installed packages).
However, in reality this loop works just 2 times, which is stable-p-u and local,
but not stable itself, - no matter if base-files is installed from stable-pu or
stable.  This is observed as a failing sbuild autopkgtest, for example here:

 https://ci.debian.net/packages/s/sbuild/stable/amd64/40753865/#L19899

causing the test to fail and marking unrelated packages (qemu in this case)
to be marked as faulty.

It's trivial to reproduce it locally with just a stable chroot (or stable
plus stable-pu), - provided base-files is in stable-pu too, in addition to
stable itself:

  debootstrap --variant=minbase --include=python3-apt /tmp/stable stable
  cp sbuild/debian/tests/get_default_release.py /tmp/stable/tmp
  chroot /tmp/stable
    /tmp/get_default_release.py # -- works
    echo 'deb http://deb.debian.org/debian proposed-updates main' >> 
/etc/apt/sources.list
    apt update
    /tmp/get_default_release.py # -- fails

Apparently there should be some other way to find out which default
debian release we're tracking.

Thanks,

/mjt

Reply via email to