Le 01/12/2020 à 12:19, Jonas Smedegaard a écrit : > Quoting Simon McVittie (2020-12-01 11:56:28) >> On Tue, 01 Dec 2020 at 11:05:54 +0100, Jonas Smedegaard wrote: >>> Can someone remind me: Why is it that we cannot do arch-independent >>> auto-building? >> >> We can and do autobuild arch-independent packages (since 2015: on the >> timescale of multi-release transitions, this is relatively recent). > > Yes - thanks for catching and tightening my far too sloppy framing of > the issue at hand. > > >> However, we cannot currently do arch-independent *binNMUs*, because a >> large number of packages have patterns like this: >> >> Source: foo >> >> Package: foo-bin >> Architecture: any >> Depends: foo-data (= ${source:Version}) >> >> Package: foo-data >> Architecture: all >> >> which is based on the assumption that foo-data cannot be binNMU'd. >> >> For example, consider foo_1.2-3, and suppose it has been binNMU'd 5 >> times on amd64, so we have foo-bin_1.2-3+b5_amd64.deb and >> foo-data_1.2-3_all.deb. foo-bin Depends: foo-data (= 1.2-3) and the >> dependency is satisfied. >> >> Now suppose we also binNMU foo-data. We get foo-data_1.2-3+b1_all.deb, >> which no longer satisfies foo-data (= 1.2-3), so foo-bin is uninstallable. >> >> https://lintian.debian.org/tags/maybe-not-arch-all-binnmuable.html lists >> 622 affected packages. I don't know whether there are other problematic >> patterns that Lintian does not detect. > > Thanks for the excellent explanation. > > (and sorry for my failing memory: I am sure someone explained it to me > at least once before, related to debian-installer image building) > > >> Possible solutions: >> >> - Change at least 622 packages so they have something more like >> Depends: foo-data (>= ${source:Version}), foo-data (<< ${source:Version}+c) >> (also hope that all of their maintainers can get those runes right, taking >> into account what the binNMU suffix is, and hope that it won't break >> derivatives like Ubuntu that use a source-upload suffix like ubuntu1 that >> compares less than +b1) >> >> - Change at least 622 packages so that when foo-data is binNMU'd, it >> automatically gets Provides: foo-data (= 1.2-3) >> >> - Change some more central component so that the dependencies are edited >> or the Provides is added globally >> >> - Something clever that I haven't thought of > > - Introduce a control field "Build-Dependencies-Require-Rebuild: no" > (similar to "Rules-Requires-Root: no")
+1 ! Thanks!