Hi Sebastiaan, On 12-01-2020 08:18, Sebastiaan Couwenberg wrote: >> Probably I am saying something stupid, but e.g. gdal-data (<new>) breaks >> libgdal* <old>. I notice that the library already has a larger than >> relation on gdal-data, but apparently there should have been a smaller >> than relation as well. (As we can't fix the package in testing, I >> proposed the breaks). >> >> Can you please share your view of this problem? > > This kind of inter-package dependency should use "(= ${source:Version})" > like done between arch:any packages with "(= ${binary:Version})", but > using the exact source version between arch:any and arch:all packages > breaks arch:all binNMUs, so >= is used instead.
But that has the risk that partial upgrades get it wrong. > I don't think the gdal source should be changed just to accommodate debci. Nit-picking: debci has nothing to do with it, it's autopkgtest, apt and britney that rule here. One of the things that that combination has revealed often is missing versioned dependencies, those that could cause issues on partial upgrades or partial migrations). Hence, we're happy that those are caught. Obviously britney should get smarter in scheduling tests for binNMU'ed packages from unstable, but most of the times during transitions apt as run by autopkgtest will pull those in anyways when failing autopkgtests are retried after binNMU's happen. However, in this case because the package dependencies don't declare the proper relation, britney doesn't pull in the binNMU'ed version and it *discovers* a relation that's broken. I don't think you should fix it to accommodate QA, I think you should fix it to avoid issues with partial upgrades. Paul
signature.asc
Description: OpenPGP digital signature