How do I downgrade libglib2? (from glib 2.31 to 2.30?)

EDIT: NEW FORMULATION OF THE QUESTION

I have the wrong version of libglib2 installed. I had some experimental repo that broke everything. From this source, https://bugs.launchpad.net/ubuntu/+source/eog/+bug/880227 I have learned that other people have addressed this bug by downgrading the libglib2 package. However, I don't know how to do this.

When I go to synaptic, and search for libglib2, I am met with many packages, rather than just one to downgrade, including:

  • libglib2.0-doc
  • libglib2.0-dev
  • libglib2.0-cil
  • libglib2.0-0
  • libglib2.0-bin
  • libglib2.0-data

Which of these gets downgraded for 2.30? All of them? Is one the master?

Secondly, assuming I do choose libglib2.0-0, I face another problem: when I force version, synaptic warns me that the chosen action will affect other packages, and that 14 packages will be removed. These include...

To be removed:

  • gir1.2-totem-1.0
  • libatk1.0-dev
  • libcairo2-dev
  • libgdk-pixbuf2.0-dev
  • libglib2.0-bin
  • libglib2.0-dev
  • libgtk-3-dev
  • libpango1.0-dev
  • libtotem0
  • totem
  • totem-mozilla
  • totem-pugins
  • ubuntu-desktop
  • unity

I don't know what most of these are, but I'm fairly sure that ubuntu-desktop and unity are very important, and I don't want them removed. How do I deal with this? Is it safe to proceed in the downgrade even though ubuntu-desktop will be removed? Will it safely and intelligently reinstall and update itself?


Solution 1:

In Synaptic, I elected to downgrade:

  • libglib2.0-doc
  • libglib2.0-dev
  • libglib2.0-cil
  • libglib2.0-0
  • libglib2.0-bin
  • libglib2.0-data

It told me it would automatically uninstall unity, totem, and ubuntu-desktop. I clicked, "OK."

Then back at the package management screen, I selected ubuntu-desktop and unity for reinstallation.

Then I applied the changes.

The moral of the story is that yes, these are important things that produce warning messages that it is scary to downgrade and reinstall, but it didn't seem to break.