libbctoolbox1: update would uninstall kde-full, kde-standard packages on Focal

Bug #1974072 reported by Markus Ueberall
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SavOS
Fix Released
Medium
Rob Savoury

Bug Description

(Sorry, the below is a bit lengthy, but it shows that the packages to be removed all stem from a mirror of the official Canonical repository -- I'm not sure whether this is an uncommon configuration? NB the system in question has been upgraded from Bionic some months ago.)

**** BASE UBUNTU VERSION:

20.04.4 LTS (Focal Fossa)

**** BUG DETAILS:

[2022-05-18T19:43:51+0200] root@desktop01:~# LANG=C apt install libbctoolbox1
Reading package lists... Done
Building dependency tree
Reading state information... Done
[…]
The following packages will be REMOVED:
  kde-full kde-standard kdenetwork kopete libbzrtp0 libmediastreamer-base10 libmediastreamer-voip10 libortp13
The following packages will be upgraded:
  libbctoolbox1
1 upgraded, 0 newly installed, 8 to remove and 1 not upgraded.
Need to get 92.5 kB of archives.
After this operation, 16.6 MB disk space will be freed.
Do you want to continue? [Y/n] N

[2022-05-18T19:45:45+0200] root@desktop01:~# LANG=C apt policy libbctoolbox1
libbctoolbox1:
  Installed: 0.6.0-2build3
  Candidate: 4.4.13-3build1~20.04.sav0
  Version table:
     4.4.13-3build1~20.04.sav0 500
        500 http://ppa.launchpad.net/savoury1/multimedia/ubuntu focal/main amd64 Packages
 *** 0.6.0-2build3 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status
[2022-05-18T19:46:33+0200] root@desktop01:~# LANG=C apt policy kde-full kde-standard kdenetwork kopete libbzrtp0 libmediastreamer-base10 libmediastreamer-voip10 libortp13
kde-full:
  Installed: 5:104ubuntu4
  Candidate: 5:104ubuntu4
  Version table:
 *** 5:104ubuntu4 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status
kde-standard:
  Installed: 5:104ubuntu4
  Candidate: 5:104ubuntu4
  Version table:
 *** 5:104ubuntu4 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status
kdenetwork:
  Installed: 4:17.08.3+5.104ubuntu4
  Candidate: 4:17.08.3+5.104ubuntu4
  Version table:
 *** 4:17.08.3+5.104ubuntu4 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status
kopete:
  Installed: 4:19.12.3-0ubuntu1
  Candidate: 4:19.12.3-0ubuntu1
  Version table:
 *** 4:19.12.3-0ubuntu1 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status
libbzrtp0:
  Installed: 1.0.6-3
  Candidate: 1.0.6-3
  Version table:
 *** 1.0.6-3 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status
libmediastreamer-base10:
  Installed: 1:2.16.1-4ubuntu2
  Candidate: 1:2.16.1-4ubuntu2
  Version table:
 *** 1:2.16.1-4ubuntu2 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status
libmediastreamer-voip10:
  Installed: 1:2.16.1-4ubuntu2
  Candidate: 1:2.16.1-4ubuntu2
  Version table:
 *** 1:2.16.1-4ubuntu2 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status
libortp13:
  Installed: 1:1.0.2-1.1
  Candidate: 1:1.0.2-1.1
  Version table:
 *** 1:1.0.2-1.1 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status

[2022-05-18T19:57:39+0200] root@desktop01:~# apt-cache rdepends libbctoolbox1 | sort | uniq
libbctoolbox1
  libbctoolbox-dev
  libbelcard1
  libbellesip0
  libbelr1
  libbzrtp0
  liblinphone++9
  liblinphone9
  libmediastreamer-base10
  libmediastreamer-voip10
  libortp13
  libortp15
  linphone
  linphone-nogtk
Reverse Depends:

Revision history for this message
Rob Savoury (savoury1) wrote :

This is the result of starting some upgrades in early April that are required to build newer Linphone versions, with bctoolbox being one such upgrade, but not actually completing all required upgrades yet. The libmediastreamer-{base,voip}10 libraries as built in official Focal repositories specifically require libbctoolbox1 >= 0.6.0 and << 0.7.0 presumably due newer versions of libbctoolbox1 being ABI incompatible without doing a rebuild of the mediastreamer2 source package.

So a rebuild of mediastreamer2 2.16.1 (default version in Focal) has now been done against backports of newer bctoolbox, bzrtp, and ortp libraries from Linphone (all v4.4.13) at ppa:savoury1/multimedia. This means that new libbctoolbox1 4.4.13 should be able to install successfully for Focal users, with libmediastreamer-{base,voip}10 (rebuilt to now depend on libbctoolbox >= 4.4.0 and << 4.5.0) also being upgraded as part of the process of installing new libbctoolbox1.

Changed in savos:
assignee: nobody → Rob Savoury (savoury1)
importance: Undecided → Medium
status: New → Fix Released
Revision history for this message
Markus Ueberall (ueberall) wrote :

Unfortunately, the problem has not yet been resolved. It seems to hinge on libortp15 vs libortp13 (the former supposedly replaces the latter but does not (cannot?) come with the same "provides"):

[2022-05-29T07:51:08+0200] root@desktop01:~# LANG=C apt install libbctoolbox1
Reading package lists... Done
[…]
The following additional packages will be installed:
  libbzrtp0 libmediastreamer-base10 libmediastreamer-voip10 libortp15
The following packages will be REMOVED:
  kde-full kde-standard kdenetwork kopete libortp13
The following NEW packages will be installed:
  libortp15
The following packages will be upgraded:
  libbctoolbox1 libbzrtp0 libmediastreamer-base10 libmediastreamer-voip10
4 upgraded, 1 newly installed, 5 to remove and 1 not upgraded.
Need to get 471 kB of archives.
After this operation, 15.4 MB disk space will be freed.
Do you want to continue? [Y/n] N
Abort.
[2022-05-29T07:51:49+0200] root@desktop01:~# LANG=C apt depends libortp13
libortp13
  Depends: libbctoolbox1 (>= 0.6.0)
  Depends: libbctoolbox1 (<< 0.7.0)
  Depends: libc6 (>= 2.27)
[2022-05-29T07:52:06+0200] root@desktop01:~# LANG=C apt depends kopete 2>/dev/null | grep libortp
  Depends: libortp13 (>= 1:1.0.1)
[2022-05-29T07:52:11+0200] root@desktop01:~# LANG=C apt depends kde-standard 2>/dev/null | grep kopete
  Depends: kopete (>= 4:17.08.3)
[2022-05-29T07:53:13+0200] root@desktop01:~# LANG=C apt depends libmediastreamer-base10
libmediastreamer-base10
  Depends: libbctoolbox1 (>= 4.4.0)
  Depends: libbctoolbox1 (<< 4.5.0)
  Depends: libc6 (>= 2.14)
  Depends: libortp15 (>= 1:4.4.0)
  Depends: libortp15 (<< 1:4.5.0)

[2022-05-29T07:57:26+0200] root@desktop01:~# LANG=C apt policy libbctoolbox1
libbctoolbox1:
  Installed: 0.6.0-2build3
  Candidate: 4.4.13-3build1~20.04.sav0
  Version table:
     4.4.13-3build1~20.04.sav0 500
        500 http://ppa.launchpad.net/savoury1/multimedia/ubuntu focal/main amd64 Packages
 *** 0.6.0-2build3 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status
[2022-05-29T07:57:44+0200] root@desktop01:~#

Without rebuilding kde* (does not really sound like an option), the only alternative way forward (if libortp15 cannot be made "compatible" with libortp13) would likely be for libmediastreamer*10 to accept/depend on either libortp13 or libortp15. Not sure whether this can be accomplished "downstream" either.

Revision history for this message
Markus Ueberall (ueberall) wrote :

On second thought, updating *kopete* should be enough w/o having to touch kde* (whether this opens another can of worms I cannot say):

[2022-05-29T07:57:44+0200] root@desktop01:~# LANG=C apt policy kopete
kopete:
  Installed: 4:19.12.3-0ubuntu1
  Candidate: 4:19.12.3-0ubuntu1
  Version table:
 *** 4:19.12.3-0ubuntu1 500
        500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status

Revision history for this message
Rob Savoury (savoury1) wrote :

First it is good to be clear about a couple of details relative to how Debian/Ubuntu packaging works with various library versions. The packaging system is designed to generally allow co-installation of multiple versions of the same library without any issue whatsoever. However, these Linphone packages have unusual version constraints with an upper limit as well, which is not the norm for almost any libraries. This means that in this instance libortp13 cannot be co-installed with libortp15 due the earlier libortp13 still having the libbctoolbox1 << 0.7.0 restriction.

So the continuing issue here is to do with the kopete package specifically, which I did not realise is a dependency of the KDE meta-packages you mentioned in the original bug report, and that is why the issue is not fully resolved yet. Due kopete depending on libortp13 and due this unusual situation with very restrictive versioning for the libbctoolbox1 dependency it will indeed require rebuilding kopete against newer libortp15 for the issue to be fully resolved. This will be done, the rebuilt kopete will be uploaded to ppa:savoury1/multimedia, and then this bug will be updated once the kopete rebuild is published.

Also, if you happen to want newer Qt/KDE packages than Focal default you can look at ppa:savoury1/qt-5-15 [1] and ppa:savoury1/kde-5-80 [2] which have backports of Qt 5.15.2 and compatible KDE packages. Interestingly, the newer kde-standard package backported to the mentioned KDE PPA no longer depends on kopete due kopete not being in Debian, so kopete was not part of the backported suite of KDE packages so far. However, it will now be also added to ppa:savoury1/kde-5-80 for users such as yourself who use that software.

[1] https://launchpad.net/~savoury1/+archive/ubuntu/qt-5-15
[2] https://launchpad.net/~savoury1/+archive/ubuntu/kde-5-80

Changed in savos:
status: Fix Released → In Progress
Revision history for this message
Rob Savoury (savoury1) wrote :

Rebuild of kopete 19.12.3 against new bctoolbox/ortp 4.4.13 for Ubuntu 20.04 Focal (package version 4:19.12.3-0ubuntu1+20.04.sav0) is now published at ppa:savoury1/multimedia which should fully resolve this upgrade issue related to these various Linphone libraries!

Changed in savos:
status: In Progress → Fix Released
Revision history for this message
Markus Ueberall (ueberall) wrote :

It worked! Thanks a lot!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.