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
signature.asc
Description: signature

