Thu, 15 Dec 2005

GTK+ 2.8 in unstable, and the GNOME 2.12 plan

The GNOME team has been sitting on top of ready-to-go GNOME 2.12 for way too many weeks now, but unfortunately a series of planned and unplanned transitions affecting unstable prevented us from moving them from experimental to unstable.

Today's good news is that these transitions are either going well (C++) or not at all (freetype upstream), so the release team gave us green light to start a fun GNOME 2.10→2.12 transition. There are a few aspects in this cycle that makes it a bit special and a bit more complex.

GNOME 2.12 in experimental uses dbus 0.50, which is API/bus incompatible with the previous version in testing/unstable, so when we upload GNOME 2.12, the new dbus will go in too. As KDE is also using dbus in a few places, KDE and GNOME uploads will need to happen at the same time. To make it even better, dbus 0.50 has been obsoleted by 0.60, which is again API and bus incompatible with the previous version. The GNOME and KDE teams have agreed on the following plan:

  1. The Project Utopia people have uploaded dbus 0.60 to experimental, and is currently waiting in NEW.
  2. The mighty seb128 will upload GTK+ 2.8 and Pango 1.10 to unstable RSN, so our first version of GTK using Cairo starts to get broadly tested in architectures other than i386 and powerpc.
  3. Once dbus 0.60 is accepted in the archive, the GNOME team will rush to recompile GNOME 2.12.2 against this new dbus, and test that everything is ok with the new version.
    At the same time, the KDE camp will upload their shiny KDE 3.5 debs, compiled too against dbus 0.60, to experimental, for the first time.
  4. When everything has transitioned to dbus 0.60 in experimental, GNOME and KDE will be uploaded to unstable.
  5. Vorlon will take a deep breath and will try to figure out how to get the two monsters in testing at the same time. Vorlon, we love you. :)

This looks like it'll take months to do, but I really don't think it'll be the case. We hope to be ready for a full GNOME 2.12 upload to unstable, at long last, pretty soon. As always, the brave can still use GNOME 2.12 in experimental with the usual aptitude -t experimental install gnome-desktop-environment.

More updates as stuff happens!

Cool! Keep up the good work.

I am one of those who could not wait for GNOME 2.12, so I've been running experimental packages for some time now (and they worked great!)

Thanks for your efforts (and the efforts of all others that are participating in the creation of my favorite desktop environment :-)

Posted by Matthias K. at Thu Dec 15 15:08:59 2005

Could you elaborate on the problems you have with FreeType upstream ? A e-mail to the freetype mailing list (freetype-devel@nongnu.org) would certainly be appreciated.

Thanks,

- David

Posted by David Turner at Thu Dec 15 16:44:45 2005

David, it's about freetype renaming a bunch of symbols in the latest release, and not bumping the soname. The incompatibilities introduced forced a migration to the new lib, which in turn provoked a massive transition, as freetype has massive reverse-depends. Part of the work is to get rid of m any of these unnecessary dependencies from packages, by doing a series of modifications to the libtool setup of many packages.

See http://wiki.debian.org/FreetypeTransition.

Posted by Jordi at Thu Dec 15 18:35:54 2005

Hi Jordi, i'm following the Debian Gnome-GTK mailing list but the list is very very low volume so i'm wondering where all the discussions are taking place... =)

Posted by Andrea at Fri Dec 16 13:44:30 2005

Hey Andrea,

When we try to make decisions of this sort, which affect packages outside the team's hands, IRC is critically useful. In about 30 minutes we could have the release team people, the KDE and the GNOME people talking real time about the topic.

If you use IRC, #gnome-debian in irc.gnome.org is a nice channel. :)

Posted by Jordi at Fri Dec 16 21:19:38 2005

Thanks for the explanation, If I understand correctly, there are two issues there:

A/ some bad dependencies on libfreetype6 on packages that don't use the font engine directly.

B/ Some ABI changes in freetype2 that do break some packages completely (i.e. they become unable to compile).

I can't do anything about A/ directly, but it should be relatively easy to fix, even though it will probably take a long time due to the number of affected packages (a lot).

On the other hand, B/ is a more subtle topic. The ABI changes concern either one of the followings:

* some internal functions that, while not being part of the official API are exposed in the .so and the internal headers which are installed by default. Of course, a few packages use these functions directly when they shouldn't.

* some experimental APIs that were included in previous releases, but were used in production code (e.g. the cache sub-system, which is used by FireFox).

for the first case, things are going to be worse in the next release, since the internal functions will not be exported by the .so, nor the internal headers installed by default.

for the second one, it might be possible to re-implement some of the "broken" experimental APIs, depending on the package.

I'll try to give more information as well as patches/help in January. Unfortunately, my little family keeps me pretty busy at the moment until the holidays are over :-)

Thanks for everything,

- David

Posted by David Turner at Sat Dec 17 16:05:40 2005

It seems impossible to install Gnome 2.12 right now without forcing dependency havoc. 

gnome-desktop-environment wants totem & sound-juicer.  sound-juicer wants libmusicbrainz4c2a.  totem-[xine|gstreamer] wants libmusicbrainz4c2.  libmusicbrainz4c2 and libmusicbrainz4c2a doesn't like each other.

That's a catch 22.

Posted by Henrik at Mon Dec 19 10:09:27 2005