Hi Paul,

Quoting Paul Wise (2020-11-15 13:11:48)
> On Sun, 2020-11-15 at 10:16 +0100, Johannes Schauer wrote:
> 
> > This has now been fixed by this commit:
> 
> I note that coverage.sh and make_mirror.sh aren't fixed, but I guess
> you plan to just hardcode -security in them once bullseye is released?

yes, it is pointless to attempt making the coverage.sh and make_mirror.sh
(those are the test suite) work across multiple releases such that I would
*not* have to make changes later. coverage.sh currently contains over 150 test
cases which constantly break because they depend on hundreds of other packages
doing the right thing and I'm doing a cat-and-mouse game all the time filing
bugs and fixing coverage.sh once something breaks. Just at this moment, the
script is broken because of bug #973405 in fakeroot, bug #973305 in apt and
gcc-10 not stripping its executables temporarily. You maybe have read in
#debian-qa that I was talking with holger about running all these tests more
regularly to detect any breaking changes more quickly. So there are two options
for me:

 - either not try to make coverage.sh from stable work and just disable the
   autopkgtest if run on stable (in this case the security mirror fix is also
   pointless)

 - or keep it working on stable and then I'd have to constantly push updates to
   it anyways as unstable evolves and changes over time

> Personally I would have used Distro::Info instead of reimplementing it
> (and CSV parsing etc), especially since the CSV file could gain quotes
> and other file format changes the new code isn't prepared to handle.
> 
> I noticed that there is code nearby to the part that you changed that still
> uses the old approach of hardcoded suite names:

The reason is, that I want to minimize the required dependencies of mmdebstrap
as much as possible, because mmdebstrap is supposed to run inside very minimal
environments. For example one can run mmdebstrap inside mmdebstrap to use the
outer mmdebstrap as a unshare wrapper as can be useful for running debootstrap
inside mmdebstrap. Right now, mmdebstrap only Depends on apt, python3 and perl
(no modules that are not part of Core) and I plan to remove the dependency on
python3 by converting proxysolver, tarfilter and taridshift to perl or C/C++.
So mmdebstrap does something similar to what dpkg and apt do and re-implements
some things for which there exist libraries just to stay with a minimal set of
dependencies.

mmdebstrap contains a lot of fallback mechanisms where it will become a bit
smarter if additional packages are installed. For example you see that already
today, mmdebstrap suggests distro-info-data but it can work without it (but is
more prone to break).

The current mechanism can work without distro-info-data but with it installed,
will be a bit smarter. I can add a third variant which also makes use of
libdistro-info-perl if it is installed and give priority to that. I honestly
didn't think about that the CSV file might gain quotes.

Thanks!

cheers, josch

Attachment: signature.asc
Description: signature

Reply via email to