Hi again, not all modules are ready, but I’ve had a closer look at what the GNOME 3 library transitions imply and how we can deal with their testing migrations in a sane way.
First of all I think we should upload gtk+3.0 to unstable in the next days. Together with it we can upload a lot of libraries that are parallel-installable with their GTK 2.x versions. I don’t expect these libraries to cause any trouble: their source packages were renamed, we will just rename them back to remove the gtk2 version when all reverse dependencies are fixed. Some of them have a -common package that was not renamed (e.g. libgweather) but the new one should work with both versions. Once this is done, we will need slots to organize all transitions that depend on it, and that makes quite a number of them. I’m not sure the list is complete, but it should be a good start. I’ll send another mail if I discover more. 1. libnotify Once gtk3 is here, we can upload libnotify 0.6. This version is binary-compatible with 0.5.0, except that it doesn’t depend on a specific version of GTK+. This is the easy part, but it can be skipped, since anyway we need a transition: libnotify1→libnotify4. Many packages will not build without source changes since functions were removed, however the source changes are independent from the GTK+ version. So we only need to ensure this transition is handled independently from the rest - and before the rest, since it is a prerequisite for most of the others. 2. libchamplain A first transition from 0.4 to 0.8 (still gtk2), with both source package and binary packages changed, will first be conducted in unstable. Then 0.10 (which is gtk3) will be handled the same. I don’t expect this package to cause trouble, but it will need to be kept on the radar; depending on the state of this transition we might have to temporarily disable libchamplain support in some reverse dependencies. 3. devhelp It is almost a self-contained transition (devhelp + anjuta). AFAICT it can be done at any time. 4. gnome-keyring It is almost a self-contained transition (gnome-keyring + seahorse). However it needs to be done early because empathy (involved in other transitions) will need it. I think we can avoid updating seahorse-plugins at the same time; if we cannot, we’ll want to disable some of the plugins to avoid tying it to gedit and/or nautilus. 5. gedit This transition should be contained within gedit and the packages providing plugins. There might be breakage with packages providing extra gedit plugins together with other functionality, but I prefer to have them not working for a while rather than tying gedit to a larger transition. 6. gnome-bluetooth This one is really fucked up. Upstream didn’t change the API version with the switch to gtk3, in violation of the GNOME guidelines. The only fix I can think of is to rename the source package to gnome-bluetooth3 and the -dev package to libgnome-bluetooth8-dev, making it conflict with libgnome-bluetooth-dev. Then it will take, later, another round of source uploads to change back the -dev package name. 7. evolution A big transition is expected for evolution. It involves, as usual, evolution{-data-server,,-exchange,-rss}. gtkhtml has a new source package (gtkhtml4.0) which is parallel-installable. Binary rebuilds are needed for all packages depending on: libcamel, libebackend, libedata-book, libedata-cal. The API for libedataserverui has changed, and since it depends on gtk3 now, we should really provide a way to have both versions available at the same time. Here is what I propose: * The new version for the evolution-data-server source package is named evolution-data-server3. * The binary package names are not changed; implying evolution-data-server and -common will be the 3.0 version. However libraries will be parallel-installable. * We let both versions into testing. * Once nothing remains of the old libedataserverui’s rdeps (and that means after the end of other GNOME transitions), we remove the old versions from unstable by re-uploading e-d-s 3.0 with the old source name. 8. gnome-media + gnome-media-profiles Due to the upstream split between the library and the binary, if we upload gnome-media 3.x, the gtk2 library will disappear. We can probably rename the source package to gnome-media3, so that only the gnome-media binary is taken over, keeping libgnome-media0 and -dev in the archive. Later we can rename again the source package to make them disappear. (Again, cruft to deal with at the end of the transitions.) 9. gnome-panel Theoretically, this one should be done with the big gnome3 transition (see below). However it sounds insane to couple it, since it breaks all existing panel applets. Updating it without updating the rest of GNOME implies making sure that it can be a drop-in replacement for gnome-panel 2. First of all the applet setup will be ditched upon upgrade, but I don’t see this as a real problem. However interaction with the old gnome-session (especially with saved sessions) could be. This implies a lot of testing if we want to keep this transition separate. It also requires dropping python-gnomeapplet from gnome-python-desktop. I can think of two approaches here. * I’d prefer to get entirely rid of libpanel-applet2-0 and all applets that depend on it. We migrate the new panel to testing, remove them all and re-add them if their upstreams port them to the new API. * We can keep the old API in a different source package that would remain around for some time. However it would mean users could install applets that don’t actually work with the panel, but only with e.g. Xfce. It’s less breakage but more confusion. I’d appreciate the input of the release team on this topic. 10. nautilus This version of nautilus will break all nautilus extensions, which need to be ported to gtk 3. So it will be tied to brasero, file-roller, evince, tracker, totem, gnome-disk-utility, gnome-user-share. For some of these modules it might make sense to drop nautilus support temporarily, but for things like gnome-disk-utility this is simply unrealistic. The desktop icons are no longer drawn by default in nautilus 3.0. The default could be temporarily reverted until the big GNOME transition but currently it is unusable and requires fixing. I also think compatibility with older gnome-session (and saved sessions) will need fixing. For automounting, things are a lot worse. The functionality has been moved to gnome-settings-daemon and changing that would be a lot of work. Therefore, I’d like to know whether the release team would accept to tie this (already big) nautilus transition with the big GNOME transition. 11. The big GNOME transition It implies at least the following packages that need to migrate together. gdm3 gnome-control-center gnome-media gnome-power-manager gnome-screensaver gnome-session gnome-settings-daemon gnome-shell I’m adding libgnomekbd, since all its rdeps are among the list anyway. If nautilus has to be added (and it has unless we spend a lot of time on nautilus changes that will have to be reverted later), this makes the transition much bigger. The same holds for gnome-panel but it should be more easily avoidable. If you know of other libraries that will be involved, please speak up now. If you have read the whole mail, congratulations. ** TL;DR: I’d like to know when we can schedule all of these, and ** ** whether the migration scenarios I have evoked are realistic. ** Thanks, -- .''`. Josselin Mouette : :' : `. `' “If you behave this way because you are blackmailed by someone, `- […] I will see what I can do for you.” -- Jörg Schilling
signature.asc
Description: This is a digitally signed message part