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.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.