Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate from GConf to GSettings #64

Closed
eheintzmann opened this issue Jan 13, 2013 · 9 comments
Closed

Migrate from GConf to GSettings #64

eheintzmann opened this issue Jan 13, 2013 · 9 comments
Milestone

Comments

@eheintzmann
Copy link

With GNOME 3.0 (april 2011), the GNOME Project decided to discontinue GConf.
It won't be maintained anymore: bugs and security holes will not be fixed.
Thus, Hamster shouldn't depend on GConf any longer.
Please, migrate to GSettings.
GStettings is the official GNOME replacement for GConf, and the GNOME project
is porting all of its applications to it:
https://live.gnome.org/GnomeGoals/GSettingsMigration

You will find the official from GConf to GSettings porting guide at:
http://developer.gnome.org/gio/stable/ch31.html

@ederag ederag added this to the hamster-gtk milestone Dec 15, 2018
@ederag
Copy link
Collaborator

ederag commented Mar 3, 2019

Thanks for the pointers.

Here is an example of a migration to gsettings:
https://github.com/xflux-gui/fluxgui/pull/112/commits
especially
xflux-gui/fluxgui@aea7d3e and
xflux-gui/fluxgui@4cb62e3
[there are other relevant commits for settings in this PR]

@GeraldJansen
Copy link
Contributor

GeraldJansen commented Sep 1, 2019

Migrating from gconf to dconf should be done for v3.0 or v3.1 if they should become "the stable version for years to come".

(Btw, hamster-time-tracker is currently the ONLY app in the .gconf/app directory on my Ubuntu 19.04 desktop.)

@ederag
Copy link
Collaborator

ederag commented Sep 1, 2019

No gsettings for for v3.0.
OK for v4.0 (that is a major change).

@ederag ederag modified the milestones: hamster-gtk, v4.0 Sep 1, 2019
@City-busz
Copy link
Contributor

This would be important on Arch Linux, because we are trying to get rid from GConf, and I had to remove Hamster from the official repositories because of this.

@ederag
Copy link
Collaborator

ederag commented Sep 6, 2019

Sorry. This is a huge change, a new framework to me, and too many jobs already started.
I was hoping to get another year to tackle this task...

If anybody knows how to do that, please fork, and advertise your progress here,
so that Arch Linux users can readily benefit from your work.

Ideally, do this work in a separate branch (say gsettings-migration),
with only the minimal changes required to migrate without introducing bugs.
This would help creating a clean PR (please be nice to reviewers !).

The configuration machinery is located in
src/hamster/lib/configuration.py
For the installation, waf has the glib2 tool.
in particular, glib_validate_schema and process_settings.

Please ask here for further informations on the hamster internals if need be.

@GeraldJansen
Copy link
Contributor

@GeraldJansen
Copy link
Contributor

Given our limited resources and knowledge, could we not just get rid of gconf and revert to a simple config file that lives next to the hamster.db (eg. ~/.local/share/hamster-applet/hamster.conf). This seems to be the approach taken in the rewrite (hamster_lib), using configparser.

@ederag
Copy link
Collaborator

ederag commented Sep 14, 2019

Interesting possibility. gsettings offers more though (for instance concurrent modification).
We need a change to the configuration made from the overview to be reflected in hamster-service
without restart.
Is handling file monitoring ourselves easier than migrating to gsettings ?
Let's think again about that after v3.0 is out.

@ederag
Copy link
Collaborator

ederag commented Jan 22, 2020

Fixed by @bgamari in #470, thanks again !

@ederag ederag closed this as completed Jan 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants