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