.deb updates in Debian/Ubuntu repos

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Thorsten Alteholz debian at alteholz.de
Wed Nov 1 19:11:11 UTC 2017


Hi Harald,

On Wed, 1 Nov 2017, Harald Welte wrote:
>> Replaces: is only for two packages with the same functionality, so a
>> Conflicts: would be right. It should be for each version available earlier
>> (there might be an old version left during an upgrade).
>
> Why would it conflict?  The point of having the LIBVERSION "current" as part of the
> .so name is that you can have both installed at the same time, and that applications
> are linked against a specific version.  So let's say I have an incompatible older
> version of the library installed, some older programs can still use it, while the newer
> library is used by newer / newly linked applications.

you are right, this is not a technical Conflicts: but rather a policy one. 
In Debian only one version of a source package is allowed in the archive 
(one for each release).
So when you upload libosmo-netif which builds libosmonetif3 and afterwards 
the newer libosmo-netif that builds libosmonetif4, the former source 
package will be removed. This results in a missing source package for
libosmonetif3. This situation is detectd by the archive software that 
takes care of transitions and unless all packages that depend on 
libosmonetif3 will be rebuilt with libosmonetif4, the package may not 
migrate from unstable to testing and hence never appears in any release.
So in the end you have a libosmonetif3 on your computer that never will be 
used and such should be removed, therefore the Conflicts:.

> I see situations like this quite normally on any debian system:
>
> ii  libreadline5:amd64                                          5.2+dfsg-3+b1                          amd64        GNU readline and history libraries, run-time libraries
> ii  libreadline7:amd64                                          7.0-3                                  amd64        GNU readline and history libraries, run-time libraries

Sure, from time to time you really need two versions of a library. So if 
you look at your example:
dpkg-query  --showformat='${binary:Package}\t${source:Package}\t${Version}\n' --show "libreadline*:amd64"
libreadline-dev:amd64   readline        7.0-3
libreadline5:amd64      readline5       5.2+dfsg-3+b1
libreadline6:amd64      readline6       6.3-9
libreadline7:amd64      readline        7.0-3

you can see that each version of libreadline* also has a different source 
package readline*

   Thorsten




More information about the OpenBSC mailing list