Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
GNOME 2.26
1.2. Name of Document Author/Supplier:
Author: Brian Cameron
1.3 Date of This Document:
30 March, 2009
4. Technical Description
===================================================
GNOME 2.26 ARC Proposal
Date: Feb 18, 2009 Jedy Wang <jedy.wang at sun.com>
===================================================
===============
1. Introduction
===============
1.1. Project/Component Working Name:
GNOME 2.26
1.2. Name of Document Author/Supplier:
Jeff Cai (jeff.cai at sun.com)
Ke Wang (ke.wang at sun.com)
Jedy Wang (jedy.wang at sun.com)
1.3. Email Aliases:
1.3.1. Responsible Manager: leo.binchy at sun.com
paul.mei at sun.com
harry.lu at sun.com
helen.wang at sun.com
1.3.2. Responsible Engineer: jeff.cai at sun.com
ke.wang at sun.com
jedy.wang at sun.com
brian.cameron at sun.com
1.3.3. Marketing Manager: Glynn.Foster at Sun.COM
1.3.4. Interest List: desktop-cteam at sun.com
accessprogramoffice at sun.com
trusted-jds at sun.com
==================
2. Project Summary
==================
2.1. Project Description
This project continues on LSARC 2008/618 to provide a newer version of
GNOME, as part of the Solaris Desktop, targeted for Nevada.
More formally, this project will integrate GNOME 2.26 along with some
other components that are not currently part of the official community
release.
2.2. Risks and Assumptions
2.2.1. Schedule
This project is targeted to be bundled with Nevada, with an intended
integration date of Nevada build 115 (05/04/09), of the current Solaris
OS release schedule. This is for a minor release only.
2.2.2. Accessibility
Accessibility is still a key concern in the GNOME desktop.
Although the community has contributed a great deal to the project,
the core parts of the desktop may not be fully accessible.
In the upstream community, A11Y is moving away from using CORBA and
towards using D-Bus. This significant change does not affect the
current release, but will be a risk moving forward in future releases.
2.2.3. Library consolidation
The GNOME community is in the process of consolidating a number of
external libraries into GTK+, and deprecating a number of libraries.
This is known as Project Ridley within the GNOME community. The GTK+
community plans to release GTK+3.0 in the next year and there are plans
that GNOME 2.30 will instead released as GNOME 3.0 and depend on
GTK+3.0. Current plans are that GTK+ 3.0 will not be ABI compatible
with GTK+ 2.x, so this change will require some significant work to
integrate.
The plan is that GNOME 3.0 will have a much smaller set of more stable
Platform libraries. For example, the following libraries are planned
for deprecation in the GNOME 3.0 time frame.
o libgnome
o libgnomeui
o libgnomeprint22
o libgnomeprintui22
o libglade
o libgnomecanvas
o libegg
o libeel
o gtkglext
In the short-term, changes to the GNOME stack relating to this work
has caused complications. For example, many GNOME applications are
depending more on modules like PolicyKit which are not a part of GNOME
on Solaris. There is some risk and complication associated with
keeping GNOME working on Solaris amid these changes.
2.2.4 The adoption of DeviceKit and DeviceKit Power
From GNOME 2.26, gnome-power-manager now depends on DeviceKit and
DeviceKit-Power and has abandoned the dependency of HAL. Because
DeviceKit and DeviceKit-Power is not shipped in Solaris currently, we
plan to continue to ship gnome-power-manager 2.24 in GNOME 2.26.
Currently, only gnome-power-manager is impacted by the adoption of
DeviceKit and DeviceKit-Power.
The team which owns HAL is currently working to integrate DeviceKit
modules into Solaris, so we will update to the new gnome-power-manager
when this becomes available.
========================
3. Technical Description
========================
This project will build on the base we built with "LSARC 2008/618
GNOME 2.24 Addendum", and provide a newer version of the GNOME desktop
into Nevada.
The GNOME Project's focus on users and usability continues in GNOME
2.26 with its hundreds of bug fixes and user-requested improvements.
This project provides many usability improvements, performance tunings,
improved configuration, and updated branding. More details on specific
improvements can be found on the GNOME community release notes
- http://www.gnome.org/start/2.26/notes/
Where possible, we will coordinate with those components that are
shipped as part of the official GNOME community release. Solaris
Desktop may deviate from the GNOME community release, but only where
there is an appropriate business justification or engineering impact.
3.1. Interface classification summary.
3.1.1. Changes of Committed interfaces
Refer to committed-API-changes.txt [4]
Minor changes are introduced in GNOME 2.26 for
Committed Libraries changes
---------------------------
o libatk-1.0
o libgdk-x11-2.0
o libglib-2.0
o libgtk-x11-2.0
o libnogmecanvas-2.0
o libpangoft-1.0
o libpangox-1.0
Committed CLIs changes
----------------------
None.
Committed Configuration Files
-----------------------------
None.
Other changes that are included
-------------------------------
None.
Please refer to ./interface-table.txt [3] for details.
3.1.2. New Components
Python 2.6 bindings for many desktop modules are shipped with this
release.
Other new components have been ARC-ed in separate ARC cases. Refer to
Section 4 Other related ARC Cases.
3.1.3. Removed Components
The following are old components to be removed from the desktop release.
- gnome-volume-manager
Unused component and functionality replaced by nautilus.
- SSE2 support for some modules
SSE2 support for flac, ekiga and libSDL is removed. Some users were
having problems using the SSE2 binaries provided on Solaris because
the binaries were integrated into the /usr/bin/pentium_pro+mmx and
/usr/lib/pentium_pro+mmx directories and these directories do not
guarantee SSE2 support. In other words, the SSE2 binaries and
libraries were making use of the obsolete $ORIGIN/$ISALIST interface.
To correct this it would be necessary to instead make use of the
$ORIGIN/$HWCAP when installing SSE2 specific binaries and libraries.
However, in our testing we found that the performance gain for flac,
ekiga and libSDL was not significant enough to warrant reworking
this. Instead we simply drop special SSE2 support for these
modules.
3.1.4. OSS Integration
This release coincides with OSSv4 (Open Sound System) integration. To
best support OSSv4, a new GStreamer OSSv4 plugin will be included in
the release. Thus, all GStreamer-based programs will use OSSv4 audio
interfaces directly instead of using SunAudio interfaces.
Also, the libcanberra module will use OSSv4 interfaces directly for
playing system sounds instead of using SunAudio interfaces via
GStreamer.
The Sun Audio GStreamer plugin will continue to be distributed and
supported so that users who want to use the older interfaces with
GStreamer-based programs can do so. This is useful, for example, on
Sun Ray which does not yet support the OSSv4 interfaces.
Note that GStreamer tries to first use the OSSv4 plugin by default
and if they are non-functional will fallback to the SunAudio plugin
automatically. So Sun Ray users should not need to modify their
configuration to get the right plugin they need.
3.1.5. cdda2wav GStreamer CDDA Integration
The new /usr/lib/gstreamer-0.10/libgstcdda2wav.so plugin provides
CDDA support by interfacing directly with the /usr/bin/cdda2wav
application. This replaces the older ioctl-based CDDA plugin named
/usr/lib/gstreamer-0.10/libgstcddasrc.so. Since cdda2wav uses SCSI
interfaces for interacting with CD devices, it tends to provide
better CD device support and better error correction when reading
CDDA data. So GStreamer-based applications that read CDDA data, such
as /usr/bin/sound-juicer, now use this more reliable cdda2wav-based
plugin instead of the older ioctl-based plugin.
3.1.6 Brasero, rhythmbox, totem, and sound-juicer
Note that brasero, rhythmbox, totem, and sound-juicer changes are
being discussed in separate cases:
- LSARC 2009/201 Update to Brasero 2.25.x
- LSARC 2009/202 Update to GNOME 2.26 media applications
3.2. Interface tables
Interface tables can be found in [3].
Refer to the modulediffs [1] report for a list of modules which
have been updated to a new version.
Please refer to the gtk-docs [6] that are installed to the system
with this release of the Solaris Desktop.
Changes to packaging are highlighted in the pkgcmp report. [2]
======================
4. Reference Documents
======================
GNOME Public Websites:
http://www.gnome.org/
http://developer.gnome.org/
FreeDesktop Website:
http://www.freedesktop.org/
GNOME Documentation (including API documentation):
http://library.gnome.org/
GNOME 2.26 Release Notes:
http://www.gnome.org/start/2.26/notes/
http://library.gnome.org/misc/release-notes/2.26/
External Dependencies of GNOME 2.25.x
http://live.gnome.org/TwoPointTwentyfive/ExternalDependencies
Solaris Desktop Engineering Internal Website:
http://desktop.ireland/
Other Related ARC Cases:
LSARC 2009/202 Update to GNOME 2.26 media applications
LSARC 2009/201 Update to Brasero 2.25.x
LSARC 2009/199 Coherence
PSARC 2009/176 pyOpenSSL 2.6
PSARC 2009/115 CPU Idle Notification
PSARC 2009/112 sys-suspend(1)
LSARC 2009/098 Gnutls update to 2.6
PSARC 2009/097 Move libusb from /usr/sfw to /usr
PSARC 2009/089 EOF Announcement for Various SPARC Graphics
LSARC 2009/088 libproxy
LSARC 2009/085 Thunderbird 3.0.x
LSARC 2009/066 OpenGL 3.0 for the NVIDIA graphics driver
PSARC 2009/043 Python 2.6 and 3.0
PSARC 2009/041 Virtual Keyboard Input Method
PSARC 2009/023 SQLite3 update to 3.6.9
PSARC 2009/021 Xorg server 1.5
PSARC 2009/016 Laptop Hotkey Support
LSARC 2008/782 WebKit
PSARC 2008/777 cpupm keyword mode extensions
LSARC 2008/776 GNU Developer Collection
LSARC 2008/763 EOF of sys-suspend
PSARC 2008/757 SPARC support for AST graphics
PSARC 2008/742 SDcard Framework Suspend & Resume
PSARC 2008/736 NWAM Picea Addenda
LSARC 2008/735 Firefox 3.1 for Solaris Nevada
PSARC 2008/732 DRM IOCTL Addition for i915 Driver
PSARC 2008/724 Print Manager for CUPS
LSARC 2008/722 simplejson
LSARC 2008/721 Gftp for OpenSolaris
LSARC 2008/720 Empathy for OpenSolaris
LSARC 2008/719 diveintopython 5.4
PSARC 2008/714 Dante: A Socks server and client implementation
LSARC 2008/713 elisa, elisa-plugins-good, elisa-plugins-bad
LSARC 2008/709 codeina
LSARC 2008/708 Vinagre for OpenSolaris
LSARC 2008/707 gtk-vnc for OpenSolaris
PSARC 2008/705 pyOpenSSL
LSARC 2008/704 flash player plugin upgrade in solaris
LSARC 2008/703 Gegl for OpenSolaris
LSARC 2008/702 Babl for OpenSolaris
LSARC 2008/701 dia - Diagram Editor
LSARC 2008/700 lynx 2.8.6
LSARC 2008/699 Hamster for OpenSolaris
LSARC 2008/698 libvisual and plugins for opensolaris
LSARC 2008/692 EOL of GNOME-keyring-manager
LSARC 2008/677 Libical for OpenSolaris
PSARC 2008/676 Python YAML
PSARC 2008/670 Twisted update to 8.1 and adding Twisted-Web2
LSARC 2008/669 EOF of gnome-sys-suspend
LSARC 2008/668 pigment and pigment-python
PSARC 2008/667 ast SPARC graphics drivers
PSARC 2008/666 EOF of zulu, gfb and gfxp graphics support
LSARC 2008/664 Seahorse for OpenSolaris
PSARC 2008/663 CPU Deep Idle Keyword
PSARC 2008/662 GDM system user home directory
LSARC 2008/658 CSSutils
LSARC 2008/657 pthread-stubs
LSARC 2008/650 Ekiga 3.0
LSARC 2008/637 pixman
PSARC 2008/624 Integrate libm17n and scim-m17n to Solaris
LSARC 2008/620 NetBeans DTrace GUI Plug-in
PSARC 2008/318 OSS Audio For Solaris
References:
[1] ./modulediffs.txt
[2] http://src.opensolaris.org/source/xref/jds/arc-documents/trunk/
gnome226/pkgcmpd
[3] ./interface-table.txt
[4] ./committed-API-changes.txt
[5] http://src.opensolaris.org/source/xref/jds/arc-documents/trunk/
gnome226/additional-materials/manpages.tar.gz
[6] http://src.opensolaris.org/source/xref/jds/arc-documents/trunk/
gnome226/additional-materials/gtk-doc.tar.gz
=========================
5. Resources and Schedule
=========================
5.1. Projected Availability
This project will be included in Solaris Nevada and OpenSolaris.
5.2. Cost of Effort
Refer to the PLC documentation which includes P&L for the project.
5.3. Cost of Capital Resources
Refer to the PLC documentation which includes P&L for the project.
5.4. ARC review type: [Standard/FastTrack/SelfReview]
FastTrack
=========================
6. Prototype Availability
=========================
6.1. Prototype Availability
Development versions of GNOME 2.26 are available here:
/net/mhw.prc.sun.com/builds/vermillion/devel/
6.2. Prototype Cost
The Solaris Desktop team works to provide the latest desktop stack in
development so that people internally can have access to the latest
code for testing and early access to new features. These builds are
also used by the desktop team for doing ongoing development and
testing. Therefore, the cost of providing the these "prototype" builds
are a part of the cost the development team requires to provide the
next release of GNOME into Solaris. Since much of the desktop stack is
developed externally, the cost of development is shared by many
organizations, including Sun.
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
Desktop
6.5. ARC review type: FastTrack
6.6. ARC Exposure: open