GNOME Bugzilla – Bug 653922
GConf 3.1.3 corrupts system-wide defaults database
Last modified: 2011-07-04 16:38:32 UTC
I installed the 3.1.3 package on Fedora Rawhide this afternoon and discovered that GConf key lookups on a number of applications in which I had not overridden the defaults were returning NULL (value not defined). I was not able to determine the criteria which caused defaults to be removed from the /etc/gconf/gconf.defaults.xml database. I downgraded to the previous version, 2.32.4, and used "GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-install-rule /etc/gconf/schemas/*.schemas" to undo the damage. Indeed, the defaults were restored and gconftool-2 --get queries against default keys resumed returning valid data. Setting critical as it makes the desktop crash on login (depending on the keys affected, of course).
And you can confirm that the gconf.defaults.xml database was actually modified?
Yes.
Impressive. I don't have Fedora, are you brave enough to upgrade to 3.1.3 again after backing up the database so we can see what the differences are?
Created attachment 191236 [details] diff between %gconf-tree.xml files before and after upgrade This is a (pretty useless, truncated) diff between the %gconf-tree.xml before the upgrade to 3.1.3 and after. A highly visible failure here is that everything but the co-installed mutter keys have vanished from the final file. To simulate the fateful upgrade situation, I boiled it down to only GNOME packages which were touched (pasted below). There's an interesting warning thrown during the package upgrade: [jclinton@jclinton-laptop quadrapassel]$ sudo yum update GConf2* mutter* Loaded plugins: langpacks, presto, refresh-packagekit Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package GConf2.i686 0:2.32.4-1.fc16 will be updated ---> Package GConf2.x86_64 0:2.32.4-1.fc16 will be updated ---> Package GConf2.i686 0:3.1.3-1.fc16 will be an update ---> Package GConf2.x86_64 0:3.1.3-1.fc16 will be an update ---> Package GConf2-devel.x86_64 0:2.32.4-1.fc16 will be updated ---> Package GConf2-devel.x86_64 0:3.1.3-1.fc16 will be an update ---> Package GConf2-gtk.x86_64 0:2.32.4-1.fc16 will be updated ---> Package GConf2-gtk.x86_64 0:3.1.3-1.fc16 will be an update ---> Package mutter.x86_64 0:3.0.2.1-1.fc15 will be updated ---> Package mutter.x86_64 0:3.1.3-1.fc16 will be an update --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: GConf2 i686 3.1.3-1.fc16 rawhide 985 k GConf2 x86_64 3.1.3-1.fc16 rawhide 985 k GConf2-devel x86_64 3.1.3-1.fc16 rawhide 108 k GConf2-gtk x86_64 3.1.3-1.fc16 rawhide 24 k mutter x86_64 3.1.3-1.fc16 rawhide 1.0 M Transaction Summary ================================================================================ Upgrade 5 Packages Total download size: 3.1 M Is this ok [y/N]: y Downloading Packages: Setting up and reading Presto delta metadata rawhide/prestodelta | 641 kB 00:03 Processing delta metadata Download delta size: 374 k (1/3): GConf2-2.32.4-1.fc16_3.1.3-1.fc16.i686.drpm | 168 kB 00:00 (2/3): GConf2-2.32.4-1.fc16_3.1.3-1.fc16.x86_64.drpm | 179 kB 00:00 (3/3): GConf2-devel-2.32.4-1.fc16_3.1.3-1.fc16.x86_64.dr | 27 kB 00:00 Finishing rebuild of rpms, from deltarpms <delta rebuild> | 2.0 MB 00:01 Presto reduced the update size by 83% (from 2.0 M to 374 k). Package(s) data still to download: 1.1 M (1/2): GConf2-gtk-3.1.3-1.fc16.x86_64.rpm | 24 kB 00:00 (2/2): mutter-3.1.3-1.fc16.x86_64.rpm | 1.0 MB 00:02 -------------------------------------------------------------------------------- Total 353 kB/s | 1.1 MB 00:03 Running Transaction Check Running Transaction Test Transaction Test Succeeded Running Transaction Updating : GConf2-3.1.3-1.fc16.x86_64 1/10 Updating : GConf2-devel-3.1.3-1.fc16.x86_64 2/10 Updating : GConf2-gtk-3.1.3-1.fc16.x86_64 3/10 Updating : mutter-3.1.3-1.fc16.x86_64 4/10 WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> WARNING: node <gettext_domain> not understood below <schema> Updating : GConf2-3.1.3-1.fc16.i686 5/10 Cleanup : GConf2-devel-2.32.4-1.fc16.x86_64 6/10 Cleanup : mutter-3.0.2.1-1.fc15.x86_64 7/10 Cleanup : GConf2-gtk-2.32.4-1.fc16.x86_64 8/10 Cleanup : GConf2-2.32.4-1.fc16 9/10 Cleanup : GConf2-2.32.4-1.fc16 10/10 Updated: GConf2.i686 0:3.1.3-1.fc16 GConf2.x86_64 0:3.1.3-1.fc16 GConf2-devel.x86_64 0:3.1.3-1.fc16 GConf2-gtk.x86_64 0:3.1.3-1.fc16 mutter.x86_64 0:3.1.3-1.fc16 Complete!
You may also find halfline's packaging changes useful: http://pkgs.fedoraproject.org/gitweb/?p=GConf2.git;a=summary
GConf-gettext.patch was dropped but that isn't merged into 3.1.3. Your schemas have gettext_domain entries in, which GConf now doesn't understand. It is next on the list of stuff to merge because we're carrying that in MeeGo too (or something with the same parent, we'll have to compare). Resolving NOTGNOME because this is a Fedora packaging bug.