Continuing the discussion from Call Audio Update:
I just ran into this again, this time on a PureOS laptop but I think the reasons behind it are the same.
In my case now, when diong apt upgrade
it said this:
The following packages have been kept back:
gstreamer1.0-plugins-bad libavcodec-extra libavcodec-extra58 libavfilter7 libavformat58 libavresample4 libavutil56 libgstreamer-plugins-bad1.0-0 libpostproc55 libswresample3 libswscale5
0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded.
Then I tried apt install
for the first one of the “kept back” packages, like this:
sudo apt install gstreamer1.0-plugins-bad
Then it said this:
The following additional packages will be installed:
libgstreamer-plugins-bad1.0-0 libsrt1.4-gnutls
Suggested packages:
frei0r-plugins
The following packages will be REMOVED:
libsrt1-gnutls
The following NEW packages will be installed:
libsrt1.4-gnutls
The following packages will be upgraded:
gstreamer1.0-plugins-bad libgstreamer-plugins-bad1.0-0
and after that I could do apt upgrade
without any “kept back” problem.
I think the most interesting part is this:
The following packages will be REMOVED:
libsrt1-gnutls
The following NEW packages will be installed:
libsrt1.4-gnutls
that I think shows what happened: one dependency had changed from libsrt1-gnutls
to libsrt1.4-gnutls
and probably those are not compatible, so to install the new one, the old one must be removed. My theory is that the apt upgrade
command has a policy of never removing anything, and when it encounters a situation where updates would require removal of some package, it does the “kept back” thing instead. In contrast, the apt install
command is allowed to remove things, so therefore that workaround is possible.
I’m happy with this because I think I now understand what happens. However, it remains slightly annoying and I still wonder if it’s supposed to work like this or if something should be done differently in the distribution (in this case PureOS) repositories to avoid the “kept back” issue.