GNOME plans for the natty cycle

Registered by Sebastien Bacher

Let's discuss what we will do with GNOME in Natty!

Blueprint information

Status:
Complete
Approver:
Martin Pitt
Priority:
High
Drafter:
Sebastien Bacher
Direction:
Needs approval
Assignee:
Sebastien Bacher
Definition:
Approved
Series goal:
Accepted for natty
Implementation:
Implemented
Milestone target:
None
Started by
Martin Pitt
Completed by
Sebastien Bacher

Whiteboard

GNOME is working toward GNOME3, we will want to update what we can without risky stability and clean our stack...

Summary:
- the stack will be updated to the GNOME3 one, the applications will be updated when judged ready
- softwares will be ported to the new libraries during the course of the cycle, that will probably take 2 cycles though
- gnome-shell will be in universe

GNOME3 cleaning tasks:
https://bugs.launchpad.net/ubuntu/+bugs?field.tag=gnome3-gtk3
https://bugs.launchpad.net/ubuntu/+bugs?field.tag=gnome3-gtkbuilder
https://bugs.launchpad.net/ubuntu/+bugs?field.tag=gnome3-gsettings

Work items (natty-alpha-1):
get gtk3 in a ppa for maverick users: DONE
get gtk3 in natty: DONE
update gnome-desktop for gtk3: DONE
update libcanberra for gtk3: DONE
update gtk-murrine for gtk3: DONE
update the default theme for gtk3: DONE
[mterry] update launchpad-integration to gtk3: DONE
update the gobject-introspection stack: DONE
get gsettings-desktop-schemas uploaded: DONE
drop the gdm fusa applet: DONE
update gnome-panel to 2.32 (bonobo depreciation): DONE
[rodrigo-moya] Remove last deprecated code from gnome-applets: DONE
update libgnomekbd to the gtk3 version: DONE
[robert-ancell] build webkit with gtk3: DONE
[robert-ancell] build yelp with gtk3: DONE
[rodrigo-moya] build gnome-keyring with gtk3: DONE
[mterry] create gtksourceview3 package: DONE
[mterry] update libpeas for gtk3: DONE

Work items (natty-alpha-2):
[ken-vandine] build dbusmenu with gtk3: DONE
[ken-vandine] build libindicator with gtk3: DONE
[didrocks] disable session saving dialog and reading of saved sessions: DONE
[pitti] disable hibernating in the UI: DONE

Work items (natty-alpha-3):
[ken-vandine] build libappindicator with gtk3: DONE
[ev] port usb-creator to pygi (pitti has a branch which locks up): DROPPED

Work items:
update glib and other platform components until the next stable version: DONE
review and update applications from GNOME3: DONE
clean libglade out of the CD: POSTPONED
clean libgnomeui out of the CD: POSTPONED
clean libbonoboui out of the CD: POSTPONED
clean libgnomevfs out of the CD: POSTPONED
[pitti] port apport to pygi: DONE
[pitti] port jockey to pygi: DONE
[pitti] port language-selector to pygi: DONE
(maybe) port ubiquity to pygi: DROPPED
(maybe) port software-center to pygi: DROPPED
[pitti] port python-aptdaemon to pygi: DONE
[pitti] port software-properties-gtk to pygi: DONE
[pitti] port ubuntuone-music-store plugins to pygi (blocked on porting rhythmbox, there's an upstream branch, but only for gnome 3): DROPPED
[ken-vandine] (maybe) port gwibber to pygi: DROPPED
(maybe) port checkbox to pygi: DROPPED
[pitti] port system-config-printer to pygi (started, in upstream branch now, but won't finish for natty): POSTPONED
[pitti] port computer-janitor to pygi: DONE
start porting gtk2 applications to gtk3: DONE
[rodrigo-moya] handle gdm user switch applet deprecation on update: DONE
[rodrigo-moya] handle tomboy applet deprecation on update: DONE
[mterry] update libunique for gtk3: DONE
[mterry] update gdl for gtk3: DONE
[mterry] update vte for gtk3: DONE
[mterry] update anjuta for gtk3: DONE
[mterry] update gedit: DONE
[mterry] trigger a restart-required when there is gconf to gsettings scripts to run: DONE
[robert-ancell] build totem with gtk3: DONE
provide GTK3 variant of appmenu-gtk: POSTPONED

==============================================

GNOME 3 comments:

seb128:

* things to consider before maybe updating gnome-control-center:
- what other components will need updating to match the key changes
- there is no appearance capplet in the new version, what to do with the desktop effects tab? does theme change is important to users?
- needs to check with the u1 tem if the web account dialog doesn't create conflict with their work

* libgnomekbd on gtk3: bug #673537, the new version is not versioned to be installable with the old one but has only 3 rdepends (gnome-settings-daemon, gnome-control-center, gnome-screensaver) so will need to be uploaded only if the new gnome-settings-daemon and gnome-control-center will be used

* The sound capplet moved from gnome-media to gnome-control-center so those need to be upgraded together

* vuntz said he would make gnome-panel3 able to load gtk2 applets as well, to check before considering upgrading it

* is nautilus gtk3 able to load gtk2 .so or do they need to transition at the same time? seems those adding menu items are working but those adding preferences informations (totem on video for example) crash nautilus

* gnome-session needs to be updated (or patch backported) if any component uses an autostart key with gsettings

* nautilus automounting is being moved to gnome-settings-daemon, that means the grouped transitions listed next will become one set

* the unity code loading indicators will be its own service and be able to use gtk2 or gtk3

* the indicator- sources should all be using the same gtk version than the loader, gnome-panel on gtk2 can't load gtk3 applets so upgrade one would mean upgrading gnome-panel and the indicators

Grouped transitions:
* gnome-control-center, gnome-settings, gnome-screensaver (due to libgnomekbd), libgnomekbd, gnome-media (sound capplet), nautilus (Media and automounter stuff being moved to g-c-c)
* nautilus totem evince (file-roller gnome-disk-utility nautilus-share ubuntuone-client brasero?)
* nautilus- sendto gnome-bt empathy
* indicator-applets, the indicator- stack, gnome-panel

Components to consider for natty upload (reviewed and ok):
* gcalctool
*

Notes on potential natty updates:
* eog: still using gconf for the wallpaper and lockdown settings, will probably be updated to gsettings this cycle so the "set as wallpaper" feature will require to update nautilus as well to work
* gedit (is using the gsettings font settings? what would happen if we don't update g-s-d?)
* cheese (need new clutter)

Components considered upgradable without issue (needs review to check they will not need anything from other component):
* evince
* gnome-games
* gnome-utils
* zenity

Components likely to not be upgraded:
* the indicator stack should stay on gtk2 (or need multi build since xfce will stay on gtk2), it might also be work over what we will have time to do this cycle

Issues to consider if we don't do the transition:
* the preferred capplet needs to be ported to the new glib handlers
* compiz ideally would use gsettings for start cost but that raise an issue for keybindings integration if those are in gconf

Issues to consider if we do the transition:
* do we need a theme selection screen?
* do we need a desktop effect capplet?
*

==============================================

Specification comments:

2011-03-02: libglade2, libgnomeui, libgnomevfs needs to stay on the CD since it's needed by the libbonoboui stack which will not be cleaned this cycle

2011-01-20: it has been decided to stay on GNOME 2.32 for natty and keep the work on GNOME3 in the gnome-team3 ppa since integrating GNOME3 properly is work over what the team can get done in one cycle (see email on ubuntu-desktop list for the details), GTK3 has been dropped of the CD as well since it had very few rdepends and those are buildable with gtk2

2010-11-15, seb128: dropping the application selection items they are already on https://blueprints.launchpad.net/ubuntu/+spec/packageselection-desktop-n-application-selection

==============================================

Session notes:

GLIB 2.28
- Ready by December
- Non-controversial release
- Still a number of applications require porting to gsettings
  - gnome-panel in process of porting
  - We should generate a list of applications Ubuntu needs porting to have the CD gconf-less

GTK3
- Plan of record to release in December
- There will be more ABI breaks coming before then
- Will need both versions on the CD
- List of libraries in jhbuild that will need a GTK2 and a GTK3 library
- We only want gsettings/GTK3 in the LTS
- No GTK# bindings for GTK3
  - Non-trivial amount of work (see: https://docs.google.com/document/pub?id=1zYYQTo148TQOFLF2y1IzKSMsLJJTcWJkYhXbZNhVgHs - notes from the GUADEC Banshee BoF which touches upon this, aaron bockover has possibly started work on gobject-introspection for .NET, someone should contact him)
- GTK3.0 a

GNOME3
- Clean the CD this cycle of obsolete libraries:
  - gnomeVFS, libglade, libgnomeui...
- Upstream needs feedback on gobject-introspection/PyGTK
  - port our apps (software-center, apport, etc.)
- GNOME Control Center etc are all or nothing upgrades
  - Rodrigo has a plugin that provides the old gconf API for older apps
- GNOME Shell will be available in Universe
  - Ubuntu patched apps don't always work perfectly (e.g. indicators) in different shells
    - Need a consistent way for these patches to detect they are in vanilla GNOME and behave as upstream intended (ryan)

Package selection
- Drop tsclient, and use vinagre if it supports RDP, otherwise consider Remmina
- Consider sticking with existing versions if packages are doing risky changes (like we did for Maverick)
  - Most packages should be OK, nothing controvercial
  - Keep evolution at 2.32 as of now (will be updated the week after UDS), see what's going on later on the cycle.
  - Totem should be fine for 3.0 (vuntz) - it didn't make a 2.32 release
  - Consider replacing EOG with shotwell (fagan via irc) - need to ask shotwell devs, for Maverick they didn't recommend this
  - Nothing major happening in GNOME Games, gcalctool
  - GEdit is gold as always
  - Cheese has new features but should be good (vuntz)
  - Yelp can go to latest version now (changes were held back)
  - GDM update to 2.32. GNOME Design has mockups for new greeter, but wont be ready for 3.0
  - Applets may not work with the latest gnome-panel
    - Tomboy might need porting https://bugzilla.gnome.org/show_bug.cgi?id=620829
- Can get rid of gnome-system-tools?
  - Only thing being used is time configuration
  - Features are being merged into gnome-control-center
- gnome-utils
  - Package has been split since maverick
  - Drop gnome-dictionary - doesn't work outside of english, not well supported
  - gnome-search-tool - not needed in Unity, needed for 2D experience
  - an environment variable to add to get some default GNOME experience and don't break the GS

(?)

Work Items