Skip to Content.
Sympa Menu

sm-sorcery-bugs - [SM-Sorcery-Bugs] [Bug 13770] New: gconf-aware apps breakage : Do no trace /etc/gconf/gconf.xml.defaults

sm-sorcery-bugs AT lists.ibiblio.org

Subject: Bugs for Sorcery are reported here

List archive

Chronological Thread  
  • From: bugzilla-daemon AT bugs.sourcemage.org
  • To: sm-sorcery-bugs AT lists.ibiblio.org
  • Subject: [SM-Sorcery-Bugs] [Bug 13770] New: gconf-aware apps breakage : Do no trace /etc/gconf/gconf.xml.defaults
  • Date: 10 May 2007 09:05:23 -0000

http://bugs.sourcemage.org/show_bug.cgi?id=13770

Summary: gconf-aware apps breakage : Do no trace
/etc/gconf/gconf.xml.defaults
Product: Sorcery
Version: Untargetted future release
Platform: Other
OS/Version: other
Status: NEW
Severity: normal
Priority: P2
Component: Unknown
AssignedTo: sm-sorcery-bugs AT lists.ibiblio.org
ReportedBy: timothee.lecomte AT ens.fr


There is quite a big problem in the current setup regarding gconf-aware apps
that get updated or dispelled; sorcery tracing feature erases previous
defaults
at dispel-time although it should not.

Example of the problem:
* cast ekiga (or any other gconf-aware app: gnome-*, compiz, evince...)
-> ekiga adds its defaults settings to /etc/gconf/gconf.xml.defaults
-> sorcery takes a md5sum of files in /etc/gconf/gconf.xml.defaults
* cast gnome2-profile
-> gnome libs and apps add their defaults settings to
/etc/gconf/gconf.xml.defaults
-> sorcery takes a md5sum of files in /etc/gconf/gconf.xml.defaults
* update ekiga
-> sorcery first dispels the old ekiga, finds that files in
/etc/gconf/gconf.xml.defaults have been changed, so it restores them to the
previous state
* user try to launch gnome for the first time, or has the good idea (as I had
;)
to try to reset all the settings to their defaults
-> the gconf defaults do not contain gnome schemas, so you get a broken
gnome
(bad keyboard, empty panel, no icons, no background....) and it will most
likely
crash soon

The solution is to add:
^/etc/gconf/gconf.xml.defaults
in /var/lib/sorcery/protected

Indeed the files in this directory are xml trees (one for each language), and
every one of them is touched by all gconf-aware app at cast-time. Thus they
are
in a state very similar to /usr/share/info/dir, which is in 'protected'.


After discussing this on #sourcemage, it was also suggested that those
defaults
should be uninstalled properly at dispel-time, since sorcery won't care about
them. This can be done with the following function:

#---------------------------------------------------------------------
## Uninstall the app rules from gconf database
#---------------------------------------------------------------------
function uninstall_gconf_rules ()
{
if [[ -f "${SCRIPT_DIRECTORY}/G_SCHEMAS" && -e "/usr/bin/gconftool-2" ]];
then
local G_FILE
export
GCONF_CONFIG_SOURCE="xml:readwrite:${INSTALL_ROOT}/etc/gconf/gconf.xml.defaults"
for G_FILE in `cat ${SCRIPT_DIRECTORY}/G_SCHEMAS`
do
gconftool-2 --makefile-uninstall-rule
"${INSTALL_ROOT}/etc/gconf/schemas/${G_FILE}" > /dev/null
done
gconftool-2 --shutdown
fi
}

It requires each gconf-aware app to have a G_SCHEMAS file in its spell,
containing a list of *.schemas files it has installed, and a call to the above
function in PRE_REMOVE. This is already done in some spells inside
gnome2-apps,
but it should be generalized to the whole grimoire, since gconf-aware apps are
spread all over the place (ekiga is in chat-im, evince in doc, compiz in
xorg-modular/xorg-apps, etc.)

--
Configure bugmail: http://bugs.sourcemage.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



  • [SM-Sorcery-Bugs] [Bug 13770] New: gconf-aware apps breakage : Do no trace /etc/gconf/gconf.xml.defaults, bugzilla-daemon, 05/10/2007

Archive powered by MHonArc 2.6.24.

Top of Page