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 Addendum
    1.2. Name of Document Author/Supplier:
         Author:  Brian Cameron
    1.3  Date of This Document:
        29 April, 2009
4. Technical Description
===================================================
GNOME 2.26 ARC Proposal Update
Date: Apr 29th, 2009 Jeff Cai <jeff.cai at sun.com>
===================================================


===============
1. Introduction
===============
   1.1. Project/Component Working Name:

        GNOME 2.26 Addendum

   1.2. Name of Document Author/Supplier:

        Jeff Cai (jeff.cai at sun.com)
        Jedy Wang (jedy.wang at sun.com)
        Ke Wang (ke.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
                                      jedy.wang at sun.com
                                      ke.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 2009/203 to reflect the latest changes
        in the GNOME desktop which took place after LSARC 2009/203 was filed.

   2.2. Risks and Assumptions

        Please refer to LSARC 2009/203.

========================
3. Technical Description
========================

   3.1. Split the package SUNWgnome-base-libs into small packages
                
        The purpose of splitting the package SUNWgnome-base-libs is to minimize
        the dependencies among packages. 

        Split SUNWgnome-base-libs into 8 packages and keep SUNWgnome-base-libs
        as empty packages, which depend on all split packages for the 
        dependency compatibility.

                                                  SUNWglib2/-devel
                                                  SUNWcairo/-devel
                                                  SUNWpango/-devel/-root
                                                  SUNWlibatk/-devel
        SUNWgnome-base-libs/-root/-devel  ------> SUNWgtk2/-devel/-root
                                                  SUNWlibglade/-devel
                                                  SUNWlibart/-devel
                                                  SUNWlibgnomecanvas/-devel

    3.2. New Components SUNWdesktop-cache

        3.2.1 Description

        SUNWdesktop-cache is a colleciton of 6 SMF services responsible for 
        updating the various desktop related caches, thus ensuring the desktop
        functions as expected.

        The services included in this package were designed to replace all 
        cache update functionality catered for by the SUNWpostrun service. This
        functionality was contained in the post install section of SVR4 
        packages on Solaris. 

        The SUNWpostrun service and package are not be obsoleted as they are 
        still used in some places, namely Staroffice.

        The IPS (Image Packaging System) does not cater for post install 
        functionality, SUNWdesktop-cache was designed to replace this 
        functionality on OpenSolaris.

        Integrating this functionality into Solaris and removing SUNWpostrun
        functionality from all JDS packages will result in having just one 
        cache update facility on both Solaris and OpenSolaris and increase 
        maintainability.

        Each of these services provides two methods, "start" and "refresh".
        The "start" method is used for normal service startup at boot time 
        or a restart.
        The "refresh" method initiates a complete refresh of the specific cache.

        The 6 cache update services are :

        1. Desktop Mime Cache.
           svc:/application/desktop-cache/desktop-mime-cache:default

        Ensure /usr/share/applications/mimeinfo.cache contains current
        MIME information for all .desktop application files installed, thus
        ensuring correct applications get launched for specific file types.
    
        If new .desktop files are installed to /usr/share/applications or
        existing ones are updated, mimeinfo.cache will be updated to reflect
        possible changes. /usr/bin/update-desktop-database is used to update 
        the MIME cache.
    

        2. GConf Cache.
           svc:/application/desktop-cache/gconf-cache:default

        Ensure /etc/gconf/gconf.xml.defaults/%gconf-tree.xml GConf schema cache
        is kept up to date for all GConf schema files installed to
        /etc/gconf/schemas. This ensures valid GConf defaults are used for 
        GConf keys that a user has not specifically set.

        If new schema files are installed to /etc/gconf/schemas or existing 
        ones have been updated, the GConf cache should be updated to reflect 
        any possible changes. /usr/bin/gconftool-2 is used to update the cache.
    

        3. Icon Cache.
           svc:/application/desktop-cache/icon-cache:default

        Ensure /usr/share/icons/*/icon-theme.cache is kept current for all
        icon themes that have a index.theme file installed. This ensure correct
        icons are displayed for the current theme chosen by the user.

        If a new icon theme as been installed under /usr/share/icons or icons
        have been updated in an existing theme, the icon-theme.cache files 
        requires updating. /usr/bin/gtk-update-icon-cache is used to update the
        cache files.

        4. Input Method Cache
           svc:/application/desktop-cache/input-method-cache:default

        The location of the input method cache is dependent on architecture as
        follows :
           amd64   : /etc/amd64/gtk-2.0/gtk.immodules
           sparcv9 : /etc/sparcv9/gtk-2.0/gtk.immodules
           32-bit  : /etc/gtk-2.0/gtk.immodules

        The output from "/bin/isainfo -k" is used to determine correct location
        of the correct input method cache.

        Ensure this cache is updated for all shared libraries installed to
        /usr/lib/$ARCH/gtk-2.0/*/immodules. This facilitates the input of
        internationalized character sets.

        If any new shared libraries are installed to
        /usr/lib/$ARCH/gtk-2.0/*/immodules or updated the gtk.immodules cache
        requires updating.  /usr/bin/$ARCH/gtk-query-immodules-2.0 is used to
        update the cache.


        5. MIME Types Cache
           svc:/application/desktop-cache/mime-types-cache:default

        Ensure /usr/share/mime/mime.cache is maintained up to date for any new
        packages installed to /usr/share/mime/packages. This keeps the known 
        list of MIME types current, and facilitates the correct determination 
        of file MIME types.

        Installing new packages to /usr/share/mime/packages or updating 
        existing packages will require updating of mime.cache. 
        /usr/bin/update-mime-database is used to update this cache.

        6. Pixbuf Loaders Installer.
           svc:/application/desktop-cache/pixbuf-loaders-installer:default

        Similar to input method cache in that this cache is architecture 
        dependent. The output from "/bin/isainfo -k" is used to determine 
        architecture and cache file location can be :
           amd64   : /etc/amd64/gtk-2.0/gdk-pixbuf.loaders
           sparcv9 : /etc/sparcv9/gtk-2.0/gdk-pixbuf.loaders
           32-bit  : /etc/gtk-2.0/gdk-pixbuf.loaders

        Ensure this cache is updated for all shared libraries installed to 
        /usr/lib/$ARCH/gtk-2.0/*/loaders. This cache defines the default set of
        pixbuf loaders used by GTK+. If not present GTK+ will fail to load
        pixbuf images.

        Installing new shared libraries or updating existing ones under 
        /usr/lib/$ARCH/gtk-2.0/*/loaders will require updating of this cache.
        /usr/bin/$ARCH/gdk-pixbuf-query-loaders is used to update this cache.
    

       3.2.2 Interfaces for SUNWdesktop-cache

    Exported Interfaces

    Interfaces                                    Stability    Comments
    --------------------------------------------  -----------  -----------------
    /var/svc/manifest/application/desktop-cache/desktop-mime-cache.xml
                                                  Volatile     SMF Manifest

    /var/svc/manifest/application/desktop-cache/gconf-cache.xml
                                                  Volatile     SMF Manifest

    /var/svc/manifest/application/desktop-cache/icon-cache.xml
                                                  Volatile     SMF Manifest

    /var/svc/manifest/application/desktop-cache/input-method-cache.xml
                                                  Volatile     SMF Manifest

    /var/svc/manifest/application/desktop-cache/mime-types-cache.xml
                                                  Volatile     SMF Manifest

    /var/svc/manifest/application/desktop-cache/pixbuf-loaders-installer.xml
                                                  Volatile     SMF Manifest

    /lib/svc/method/desktop-mime-cache            Uncommitted  SMF Method Script
    /lib/svc/method/gconf-cache                   Uncommitted  SMF Method Script
    /lib/svc/method/icon-cache                    Uncommitted  SMF Method Script
    /lib/svc/method/input-method-cache            Uncommitted  SMF Method Script
    /lib/svc/method/mime-types-cache              Uncommitted  SMF Method Script
    /lib/svc/method/pixbuf-loaders-installer      Uncommitted  SMF Method Script

    svc:/application/desktop-cache/desktop-mime-cache:default
                                                  Uncommitted  SMF Name

    svc:/application/desktop-cache/gconf-cache:default
                                                  Uncommitted  SMF Name

    svc:/application/desktop-cache/icon-cache:default
                                                  Uncommitted  SMF Name

    svc:/application/desktop-cache/input-method-cache:default
                                                  Uncommitted  SMF Name

    svc:/application/desktop-cache/mime-types-cache:default
                                                  Uncommitted  SMF Name

    svc:/application/desktop-cache/pixbuf-loaders-installer:default
                                                  Uncommitted  SMF Name

    Imported Interfaces

    Interfaces                                  Stability    Package/Comment
    ------------------------------------------  -----------  -----------------
    /usr/bin/update-desktop-database            Committed    SUNWdesktop-prefs
    /usr/bin/gtk-update-icon-cache              Committed    SUNWgnome-base-libs
    /usr/bin/gconftool-2                        Volatile     SUNWgnome-config
    /usr/bin/$ARCH/gtk-query-immodules-2.0      Committed    SUNWgnome-base-libs
    /usr/bin/update-mime-database               Committed    SUNWgnome-vfs
    /usr/bin/$ARCH/gdk-pixbuf-query-loaders     Committed    SUNWgnome-base-libs
    /bin/isainfo                                Committed    SUNWcsu
    /usr/share/applications/mimeinfo.cache      Committed    Desktop MIME cache
    /usr/share/applications                     Committed    Default .desktop
                                                             install location
    /etc/gconf/gconf.xml.defaults               Committed    GConf schema cache
    /etc/gconf/schemas                          Committed    GConf Schemas 
                                                             instlal location
    /usr/share/icons/*/icon-theme.cache         Committed    Icon theme cache
    /etc/amd64/gtk-2.0/gtk.immodules            Committed    AMD 64 bit input
                                                             method cache
    /etc/sparcv9/gtk-2.0/gtk.immodules          Committed    64 Bit Sparc input
                                                             method cache
    /etc/gtk-2.0/gtk.immodules                  Committed    32 bit input method
                                                             cache
    /usr/share/mime/mime.cache                  Committed    MIME cache
    /etc/amd64/gtk-2.0/gdk-pixbuf.loaders       Committed    AMD 64 bit pixbuf
                                                             loader cache
    /etc/sparcv9/gtk-2.0/gdk-pixbuf.loaders     Committed    64 but Sparc pixbuf
                                                             loader cache
    /etc/gtk-2.0/gdk-pixbuf.loaders             Committed    32 bit pixbuf
                                                             loader cache

       3.2.3. References

       update-desktop-database(1), gtk-update-icon-cache(1), gconftool-2(1),
       gtk-query-immodules-2.0(1), update-mime-database(1),
       gdk-pixbuf-query-loaders(1)

       Related ARC Case : PSARC 2008/078 postrun

    3.3. Interfaces for other modules

        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 JDS desktop.

        Changes to packaging are highlighted in the pkgcmp report. [2]

======================
4. Reference Documents
======================

        References:

           [1] ./modulediffs.txt
           [2] http://src.opensolaris.org/source/xref/jds/arc-documents/trunk/
               gnome226a/pkgcmpd
           [3] ./interface-table.txt
           [4] ./committed-API-changes.txt
           [5] http://src.opensolaris.org/source/xref/jds/arc-documents/trunk/
               gnome226a/additional-materials/manpages.tar.gz
           [6] http://src.opensolaris.org/source/xref/jds/arc-documents/trunk/
               gnome226a/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


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