Project

General

Profile

Bug #3175

Packaging: Upgrading libosmocore impossibel due to dpkg error overwriting libosmoctrl.so.0

Added by keith 5 days ago. Updated 5 days ago.

Status:
New
Priority:
Normal
Assignee:
Category:
libosmoctrl
Target version:
-
Start date:
04/16/2018
Due date:
% Done:

10%

Spec Reference:

Description

I built libosmocore packages from current master and added to my private test repo:

When apt-get install'ing these upgrades, the upgrade fails and the package manager gets into a broken state, beginning with refusing to install libosmoctrl1, because:

Unpacking libosmoctrl1 (from .../libosmoctrl1_0.10.2-0rhizo1_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/libosmoctrl1_0.10.2-0rhizo1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/libosmoctrl.so.0', which is also in package libosmoctrl0 0.9.6-0rhizo2

Related issues

Related to Cellular Network Infrastructure - Bug #3176: osmocom debian packages are not install / upgrade tested New 04/16/2018

History

#1 Updated by laforge 5 days ago

This appears to be broken since 0.10.0 where we do:

-         libosmocore8 (= ${binary:Version}),
-         libosmogb4 (= ${binary:Version}),
-         libosmogsm7 (= ${binary:Version}),
-         libosmovty3 (= ${binary:Version}),
-         libosmoctrl0 (= ${binary:Version}),
+         libosmocore9 (= ${binary:Version}),
+         libosmogb5 (= ${binary:Version}),
+         libosmogsm8 (= ${binary:Version}),
+         libosmovty4 (= ${binary:Version}),
+         libosmoctrl1 (= ${binary:Version}),

#2 Updated by laforge 5 days ago

  • Category set to libosmoctrl
  • Assignee set to pespin
  • % Done changed from 0 to 10

so we incresed the debian package name from libosmoctrl0 to libosmoctrl1 at the time of the 0.10.0 release. However, the library name is still libosmoctrl.0, most likely because LIBVERSION=1:0:1, i.e. the "age" is set to 1, meaning the library supports both the "0" as well as the "1" API version?

We have two choices, AFAICT:
  1. return to "libosmoctrl0" package name (and the dependencies)
  2. do whatever it takes to produce libosmoctrl.so.1 (probably remove the "age")?

I don't know enough about how debian packaging deals with / interacts with libversions. From the library point of view it makes sense to have the 1:0:1 i.e. API 0 + 1 compatible. But how does the package manager deal with that?

@keith: Also, why is it not simply replacing libosmoctrl0 with libosmoctrl1? do you have any packages installed depending on libosmoctrl0?

#3 Updated by laforge 5 days ago

  • Related to Bug #3176: osmocom debian packages are not install / upgrade tested added

#4 Updated by keith 5 days ago

laforge wrote:

@keith: Also, why is it not simply replacing libosmoctrl0 with libosmoctrl1? do you have any packages installed depending on libosmoctrl0?

Well, yes, pre-ugrading, at least osmocom-nitb depends on libosmoctrl0, of course.
It is true that I added the newer libosmocore packages to my repo and attempted upgrade of libosmocore before also adding the updated osmocom-nitb package to the repo, so maybe having the updated osmocom-nitb package depending on libosmoctrl1 would allow dpkg to replace libosmoctrl0 with libosmoctrl1.

I don't have enough dpkg-foo to know. I'll roll back to the previous package state and complete the repo and test..

Also available in: Atom PDF