Bug#723979: libmapserver-6.2.1{, -dev}: transitional packages uninstallable
Package: libmapserver-6.2.1,libmapserver-6.2.1-dev Version: 6.4.0-1 Severity: serious User: debian...@lists.debian.org Usertags: piuparts Hi, during a test with piuparts I noticed your package is no longer installable in sid: Package: libmapserver-6.2.1 Version: 6.4.0-1 Depends: libmapserver1 Package: libmapserver1 Version: 6.4.0-1 Replaces: libmapserver ( 6.2.1-3~), libmapserver-6.2.1 Breaks: libmapserver ( 6.2.1-3~), libmapserver-6.2.1 Package: libmapserver-6.2.1-dev Source: mapserver Version: 6.4.0-1 Depends: libmapserver1-dev Package: libmapserver1-dev Source: mapserver Version: 6.4.0-1 Replaces: libmapserver-6.2.1-dev, libmapserver-dev ( 6.2.1-3~) Depends: libmapserver1 (= 6.4.0-1) Breaks: libmapserver-6.2.1-dev, libmapserver-dev ( 6.2.1-3~) If the transtional packages are not installable, the package won't migrate to testing. The Breaks/Replaces against -6.2.1 need to be versioned as well. But do you really need transitional packages for a shared library? Does this even work correctly? Wouldn't a transition with binNMUs on all rdeps be better? If the library gained a stable API/ABI, you can probably close #327853. Same problem for the transitional ruby packages: Package: ruby-mapscript Source: mapserver Version: 6.4.0-1 Replaces: libmapscript-ruby, libmapscript-ruby1.8, libmapscript-ruby1.9.1 Provides: libmapscript-ruby, libmapscript-ruby1.8, libmapscript-ruby1.9.1 Breaks: libmapscript-ruby, libmapscript-ruby1.8, libmapscript-ruby1.9.1 Cheers, Andreas ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
Processed: Re: Bug#723979: libmapserver-6.2.1{, -dev}: transitional packages uninstallable
Processing control commands: fixed -1 6.4.0-2 Bug #723979 [libmapserver-6.2.1,libmapserver-6.2.1-dev] libmapserver-6.2.1{,-dev}: transitional packages uninstallable There is no source info for the package 'libmapserver-6.2.1' at version '6.4.0-2' with architecture '' There is no source info for the package 'libmapserver-6.2.1-dev' at version '6.4.0-2' with architecture '' Unable to make a source version for version '6.4.0-2' Marked as fixed in versions 6.4.0-2. tags -1 pending Bug #723979 [libmapserver-6.2.1,libmapserver-6.2.1-dev] libmapserver-6.2.1{,-dev}: transitional packages uninstallable Added tag(s) pending. -- 723979: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=723979 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
Bug#723979: libmapserver-6.2.1{, -dev}: transitional packages uninstallable
On 2013-09-22 01:30, Sebastiaan Couwenberg wrote: But do you really need transitional packages for a shared library? From changelog and bugs it looked like it could be the right thing for libmapserver* (I didn't look at the package at all): moving from an unstable API (with hopefully very strict dependencies on the library) to a more stable one (i.e. a proper soname). But it looked outright wrong for libosgearth1-2 (soname bump). As far as I know transitional packages are standard procedure when packages are renamed. A soname bump changes functionality, so this is not renaming but removing one package and adding another one with a different functionality ... Even if you no longer build the old package, it will be kept installed on users systems as long as it is still needed by some package that is installed - but it won't be available any longer for new installations. Once all rdepends have been rebuilt and upgraded, it can be removed. Taking your comments about osgearth (#723980) in consideration, it seems transitional packages are not needed for shared libraries. Even worse: they would cause lots of problems. The API will be incompatible with the one of the old package, so it's wrong to still provide the old package. The old API is not available in the new package. In case you have file conflicts between the old and new package names (something shipped with the same name at the same location in both packages - ideally that shouldn't happen in only-library packages), you'll need to add Breaks+Replaces, otherwise leave them out. With the transitional packages local builds of MapCache with MapServer support will not be removed because its (unversioned) dependency on libmapserver will still be satisfied. While the actual libmapserver is not available anymore. But it will break MapCache because the API promised by the old name is no longer available, so you gain nothing. Ignoring the old library (just don't build it any more) will get the effect you want: MapCache is kept installed *and working* using the old library. Leaving out the transitional packages, MapCache would remain functional if only libmapserver is installed. It will not be considered for update if the new libmapserver1 is not pulled in via any of the other mapserver packages. There is no upgrade path for libmapserver (besides disappear if no longer needed). There will be an upgrade path for MapCache once it has been rebuilt against the new library. In the worst case the old library is not removed automatically after the last consumer disappears, but nothing will use it ever again. The case for MapCache is not an issue for Debian as it hasn't been uploaded yet. But the packages are already part of the UbuntuGIS PPA. That needs to be solved there and not in Debian, but it's probably just a MapCache rebuild being needed. Wouldn't a transition with binNMUs on all rdeps be better? If there were rdeps in Debian it would. But there fortunately aren't any yet, but soon MapCache will become the first reverse dependency in Debian. :-) Andreas PS: I haven't looked at either the old source package or the new one at mentors. ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel
Bug#723979: libmapserver-6.2.1{, -dev}: transitional packages uninstallable
Hi Andreas, Thanks again for you detailed explanation. I've updated the package on mentors to drop the transitional packages for the old libmapserver packages. Since there are no file conflicts the Break/Replaces has also been removed from the libmapserver1 package. Kind Regards, Bas -- GnuPG: 0xE88D4AF1 (new) / 0x77A975AD (old) ___ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel