Ubuntu – 2/15/18 compiz update broke unity

16.04compizunity

This compiz update forced removal of unity and ubuntu-desktop on my 16.04 Ubuntu system.

The offending package that is missing, but unity needs, seems to be compiz-core-abiversion-20151010. It seems to be a virtual package, and I can't find it to download.

enter image description here

As it happens, I mostly use LXDE on this system, but I'd be very unhappy if I used Unity…

Since I do occasionally use the Unity desktop, is there a fix for this?

Edit: related questions are rolling in. Looks like a major quality escape

"Kept back" packages for update , want to uninstall unity?

compiz upgrade uninstalled unity

Ubuntu TaskBar is gone. Launcher is missing

What did you guys just DO! Updates to both my 16.04 environs killed the desktops!

Edit 2:
Bug 1749839 submitted to launchpad

Best Answer

Very strange situation.
Yes compiz-core-abiversion-20151010 is virtual on xenial and zesty, but it is provided by compiz-core:

$ apt-cache show compiz-core  | grep "Version\|Provides\|Package"
Package: compiz-core
Version: 1:0.9.12.3+16.04.20180221-0ubuntu1
Provides: compiz-core-abiversion-20180221
Package: compiz-core
Version: 1:0.9.12.2+16.04.20160415-0ubuntu1
Provides: compiz-core-abiversion-20151010

So APT and dpkg knows about both of them.

Full list of compiz-core-abiversion family is as follows:

$ aptitude search compiz-core-abiversion-
v   compiz-core-abiversion-20151010                                -
v   compiz-core-abiversion-20151010:i386                           -
v   compiz-core-abiversion-20180221                                -
v   compiz-core-abiversion-20180221:i386                           -

Here as we know compiz-core-abiversion-20151010 is not installable:

$ sudo apt-get install compiz-core-abiversion-20151010
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package compiz-core-abiversion-20151010 is a virtual package provided by:
  compiz-core 1:0.9.12.2+16.04.20160415-0ubuntu1 [Not candidate version]

E: Package 'compiz-core-abiversion-20151010' has no installation candidate

But we can install newer (actual) version:

$ sudo apt-get install compiz-core-abiversion-20180221
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'compiz-core' instead of 'compiz-core-abiversion-20180221'
The following additional packages will be installed:
  compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0 libunity-core-6.0-9 unity unity-schemas unity-services
The following packages will be upgraded:
  compiz-core compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0 libunity-core-6.0-9 unity unity-schemas
  unity-services
10 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.
Need to get 5 302 kB of archives.
After this operation, 278 kB of additional disk space will be used.
Do you want to continue? [Y/n] n

So on normal consistent system all we need is to have all upgrades installed.
But if unity package was removed, we can install it with:

sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install unity ubuntu-desktop

Note 1: My Ubuntu 16.04 LTS installations with Unity and MATE DE (1 clean xenial and and 3 old precise->trusty->xenial) work normally after regular upgrades without my intervention. All these systems did not tried to remove neither Unity nor ubuntu-desktop during upgrades. And of course xenial-proposed is disabled on my system, since I do not want to transform my Ubuntu LTS to bleeding-edge self-breakable ArchLinux.

Note 2: I edited my answer 2018-03-12 because of the fact that compiz-core-abiversion-20170630 was removed from repositories.