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


Reply via email to