After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 662767 - Port network-manager-applet to GSettings
Port network-manager-applet to GSettings
Status: RESOLVED FIXED
Product: NetworkManager
Classification: Platform
Component: nm-applet
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Dan Williams
Dan Williams
Depends on:
Blocks: 622558
 
 
Reported: 2011-10-26 13:44 UTC by Javier Jardón (IRC: jjardon)
Modified: 2012-06-25 18:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
applet: remove GConf upgrade/migration code (254.21 KB, patch)
2012-05-17 14:20 UTC, Dan Winship
none Details | Review
Use Makefile.glib to build marshallers (12.12 KB, patch)
2012-05-17 14:20 UTC, Dan Winship
none Details | Review
applet: port to GSettings (21.56 KB, patch)
2012-05-17 14:20 UTC, Dan Winship
none Details | Review
applet: move migration code into a new binary (8.15 KB, patch)
2012-06-20 12:59 UTC, Dan Winship
committed Details | Review
Use Makefile.glib to build marshallers (12.15 KB, patch)
2012-06-20 12:59 UTC, Dan Winship
committed Details | Review
applet: port to GSettings (22.45 KB, patch)
2012-06-20 12:59 UTC, Dan Winship
committed Details | Review

Description Javier Jardón (IRC: jjardon) 2011-10-26 13:44:55 UTC
Migrating from GConf to GSettings is an official GNOME goal now.

http://live.gnome.org/GnomeGoals/GSettingsMigration
Comment 1 Thomas Bechtold 2011-12-28 18:38:40 UTC
I think NM does not use gconf anymore (since version 0.9). so this bug can be closed.
Comment 2 André Klapper 2011-12-28 19:57:20 UTC
NM != nm-applet

/src/applet.c
/src/wireless-security/eap-method.c
/src/applet-device-wifi.c
still list enough gconf calls...
Comment 3 Timo Witte 2012-02-23 00:59:17 UTC
i will try to do this if the job is still availible.
I wonder if this may depend on GSettingsList because of multiple interfaces.. but have to read the code first.
Comment 4 Dan Winship 2012-05-17 14:20:49 UTC
Created attachment 214255 [details] [review]
applet: remove GConf upgrade/migration code

Users should be migrated at this point...

Also remove the gconf-helpers library entirely, since the applet is no
longer using it for anything else.
Comment 5 Dan Winship 2012-05-17 14:20:52 UTC
Created attachment 214256 [details] [review]
Use Makefile.glib to build marshallers

Also copy in a local version of the GLIB_CONFIG autoconf macro, and
use that (to get gschema stuff configured in for free too)
Comment 6 Dan Winship 2012-05-17 14:20:54 UTC
Created attachment 214257 [details] [review]
applet: port to GSettings

Port from GConf to GSettings, and install a gsettings-data-convert
.convert file to migrate old GConf settings over.

http://bugzilla.gnome.org/show_bug.cgi?id=662767
Comment 7 Dan Winship 2012-05-17 14:28:14 UTC
Tested the basic notifications stuff, but not the EAP notifications stuff.

The disable-vpn-notifications setting doesn't get migrated, because it's missing from the old GConf schema, so gsettings-data-convert ignores it. And the EAP CA certificate notification settings don't get migrated because gsettings-data-convert can only migrate specific paths, and the EAP settings have UUIDs in their paths.

If we really didn't want to get rid of the migration support, we could instead make it optional. Maybe even split it out into a separate nm-applet-migrate-settings program...
Comment 8 Dan Winship 2012-06-20 12:59:00 UTC
Created attachment 216826 [details] [review]
applet: move migration code into a new binary

Move the migration code from nm-applet to nm-applet-migration-tool.
Now nm-applet does not link against libgconf-helpers.
Comment 9 Dan Winship 2012-06-20 12:59:09 UTC
Created attachment 216827 [details] [review]
Use Makefile.glib to build marshallers

Also copy in a local version of the GLIB_CONFIG autoconf macro, and
use that (to get gschema stuff configured in for free too)
Comment 10 Dan Winship 2012-06-20 12:59:17 UTC
Created attachment 216828 [details] [review]
applet: port to GSettings

Port from GConf to GSettings, and install a gsettings-data-convert
.convert file to migrate old GConf settings over.

GConf is now only required if building the migration tool.
Comment 11 Dan Winship 2012-06-20 13:03:42 UTC
I tested that the stamp=2 -> stamp=3 migration still works.

One subtlety after the GSettings port; If someone upgrades from a distro with nm-applet 0.8 or earlier directly to a distro with the GSettings-based version, then:

  1. gsettings-data-convert will run at login, moving GConf config to
     GSettings

  2. nm-applet-migration-tool will run *after* that, so any changes it
     makes won't be reflected in GSettings.

However, this doesn't matter for connections, because they all get migrated out of gconf into system settings anyway. So the only way this would be a problem would be if there was some non-connection GConf setting that gconf-upgrade touches. Which I'm pretty sure there isn't, right?
Comment 12 Dan Williams 2012-06-20 17:50:05 UTC
If we wanted a gold star, we could programmatically convert the EAP stuff instead of using the conversion helper, but it's your call whether that's worth the effort.  I understand why people sometimes need to ignore the CA cert, but since that's a large-ish security hole I don't mind making those configurations jump through an extra hoop.

Other than that, all three patches look good to go.
Comment 13 Dan Winship 2012-06-25 18:50:16 UTC
I decided not to go for the gold star...

Attachment 216826 [details] pushed as e88dd58 - applet: move migration code into a new binary
Attachment 216827 [details] pushed as 0d11615 - Use Makefile.glib to build marshallers
Attachment 216828 [details] pushed as 96ffc88 - applet: port to GSettings