On Sat, 25 Apr 2020 at 14:27:33 +0200, Emilio Pozuelo Monfort wrote: > On 08/04/2020 07:02, Yangfl wrote: > > libwmf is released with package split, and old-style config script > > dropped with pkg-config file introduced. > > It would be good to disentangle the package split (which due to the Breaks > will > mean we need a lockstep transition with all or most packages migrating at the > same time) from the libwmf-config removal.
I don't understand why this package split needs to be a disruptive transition at all. The old libwmf0.2-7 package contains the same SONAMEs as the combination of the new libwmf-0.2-7 and libwmflite-0.2-7 packages (see transcript below). If the new library is genuinely compatible with the old library, then I think a better way to do this would be to introduce an empty, transitional package with the old name libwmf0.2-7. This shouldn't require going through the NEW queue again, because libwmf0.2-7 still exists in unstable. Something like this should work: Package: libwmflite-0.2-7 Breaks: libwmf0.2-7 (<< 0.2.12-1) Replaces: libwmf0.2-7 (<< 0.2.12-1) Package: libwmf-0.2-7 Breaks: libwmf0.2-7 (<< 0.2.12-1) Replaces: libwmf0.2-7 (<< 0.2.12-1) Package: libwmf0.2-7 Architecture: any Section: oldlibs Depends: libwmf-0.2-7 (>= ${binary:Version}), libwmflite-0.2-7 (>= ${binary:Version}) Description: Windows metafile conversion library - transitional package This transitional package depends on split packages that provide the same functionality, to provide smooth upgrades from Debian 10. It can be removed when no other packages depend on it. After that, upgrading libwmf0.2-7 will automatically pull in the new libwmf-0.2-7 and libwmflite-0.2-7. Dependent packages like gimp and abiword should continue to work, without needing to be recompiled at all (please test that). The next time dependent packages like gimp happen to be recompiled for some other reason, they will change their dependency to the new packages. The transitional libwmf0.2-7 package should be kept until it has been in at least one stable release (presumably Debian 11), after which it can be removed. In addition to avoiding disruption in unstable, transitional packages help apt to make the right decisions when users upgrade from Debian 10 to Debian 11. (If the new libraries are *not* compatible with the old libraries of the same name, then none of that applies, and this has to be a lockstep upgrade - but I'm hoping that's not the case.) On Mon, 27 Apr 2020 at 20:40:46 +0800, Yangfl wrote: > Cannot get sbuild working with abiword :/ > sbuild-build-depends-main-dummy : Depends: libwv-dev but it is not > going to be installed I suspect this is because you were trying to compile abiword using the new libwmf-dev, but with an old libwv-dev that depends on the old libwmf0.2-7 library. You would need to recompile libwv-dev first, and then use the new libwv-dev to build abiword. However, if you can use a transitional package as I suggest above, then this should stop being a problem. smcv % apt-get download libwmf0.2-7 Get:1 http://deb.debian.org/debian bullseye/main amd64 libwmf0.2-7 amd64 0.2.8.4-17 [165 kB] % apt-get download libwmflite-0.2-7=0.2.12-2 Get:1 http://deb.debian.org/debian experimental/main amd64 libwmflite-0.2-7 amd64 0.2.12-2 [78.2 kB] % apt-get download libwmf-0.2-7=0.2.12-2 Get:1 http://deb.debian.org/debian experimental/main amd64 libwmf-0.2-7 amd64 0.2.12-2 [121 kB] % dpkg-deb -x libwmf0.2-7_0.2.8.4-17_amd64.deb libwmf-old % dpkg-deb -x libwmf-0.2-7_0.2.12-2_amd64.deb libwmf-new % dpkg-deb -x libwmflite-0.2-7_0.2.12-2_amd64.deb libwmf-new % diff -ru libwmf-old libwmf-new Binary files libwmf-old/usr/lib/x86_64-linux-gnu/libwmf-0.2.so.7 and libwmf-new/usr/lib/x86_64-linux-gnu/libwmf-0.2.so.7 differ Only in libwmf-old/usr/lib/x86_64-linux-gnu: libwmf-0.2.so.7.1.0 Only in libwmf-new/usr/lib/x86_64-linux-gnu: libwmf-0.2.so.7.1.4 Binary files libwmf-old/usr/lib/x86_64-linux-gnu/libwmflite-0.2.so.7 and libwmf-new/usr/lib/x86_64-linux-gnu/libwmflite-0.2.so.7 differ Only in libwmf-old/usr/lib/x86_64-linux-gnu: libwmflite-0.2.so.7.0.1 Only in libwmf-new/usr/lib/x86_64-linux-gnu: libwmflite-0.2.so.7.0.5 Only in libwmf-new/usr/share/doc: libwmf-0.2-7 Only in libwmf-old/usr/share/doc: libwmf0.2-7 Only in libwmf-new/usr/share/doc: libwmflite-0.2-7 Only in libwmf-new/usr/share/lintian/overrides: libwmf-0.2-7 Only in libwmf-old/usr/share/lintian/overrides: libwmf0.2-7