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 600686 - Move schemas somewhere else
Move schemas somewhere else
Status: RESOLVED FIXED
Product: gnome-vfs
Classification: Deprecated
Component: Other
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Tomas Bzatek
gnome-vfs maintainers
Depends on:
Blocks: 588322
 
 
Reported: 2009-11-04 14:33 UTC by Bastien Nocera
Modified: 2010-11-16 10:55 UTC
See Also:
GNOME target: 3.0
GNOME version: ---



Description Bastien Nocera 2009-11-04 14:33:15 UTC
The default apps schemas probably needs to live somewhere down the stack, but not in gnome-vfs.
Comment 1 Tomas Bzatek 2009-12-17 15:21:32 UTC
I've grepped through the installed schemas, below are my findings. I've assigned potential owners according to my opinion, please correct me if I'm wrong:

desktop_default_applications.schemas.in:
> /schemas/desktop/gnome/applications/terminal/exec
> /schemas/desktop/gnome/applications/terminal/exec_arg
- used in libgnome (which must die)
- used in gnome-desktop (gnome_desktop_prepend_terminal_to_vector()), my hot candidate. This function is called from GIO when launching GAppInfo app in terminal
- also found traces in gnome-settings-daemon, gsd-media-keys-manager module
- gnome-default-applications-properties from gnome-control-center is used for setting values from user side
> /schemas/desktop/gnome/applications/component_viewer/exec
- command contains nautilus, probably pre-historic bonobo era, where nautilus could display embedded viewers/components. Candidate for removal, couldn't find any app using it.

desktop_gnome_url_handlers.schemas.in:
> /schemas/desktop/gnome/url-handlers/trash/enabled
> /schemas/desktop/gnome/url-handlers/trash/command
> /schemas/desktop/gnome/url-handlers/trash/needs_terminal
--> nautilus
> /schemas/desktop/gnome/url-handlers/ghelp/enabled
> /schemas/desktop/gnome/url-handlers/ghelp/command
> /schemas/desktop/gnome/url-handlers/ghelp/needs_terminal
> /schemas/desktop/gnome/url-handlers/info/enabled
> /schemas/desktop/gnome/url-handlers/info/command
> /schemas/desktop/gnome/url-handlers/info/needs_terminal
> /schemas/desktop/gnome/url-handlers/man/enabled
> /schemas/desktop/gnome/url-handlers/man/command
> /schemas/desktop/gnome/url-handlers/man/needs_terminal
- points to "gnome-help" --> yelp?
> /schemas/desktop/gnome/url-handlers/http/enabled
> /schemas/desktop/gnome/url-handlers/http/command
> /schemas/desktop/gnome/url-handlers/http/needs_terminal
> /schemas/desktop/gnome/url-handlers/https/enabled
> /schemas/desktop/gnome/url-handlers/https/command
> /schemas/desktop/gnome/url-handlers/https/needs_terminal
- points to epiphany, but should be probably moved to more generic package, like gnome-desktop
> /schemas/desktop/gnome/url-handlers/mailto/enabled
> /schemas/desktop/gnome/url-handlers/mailto/command
> /schemas/desktop/gnome/url-handlers/mailto/needs_terminal
--> evolution (do we have any other commonly used mailers in Gnome? Thunderbird? should this be in gnome-desktop too?)
> /schemas/desktop/gnome/url-handlers/aim/enabled
> /schemas/desktop/gnome/url-handlers/aim/command
> /schemas/desktop/gnome/url-handlers/aim/needs_terminal
--> pidgin/empathy?
> /schemas/desktop/gnome/url-handlers/callto/enabled
> /schemas/desktop/gnome/url-handlers/callto/command
> /schemas/desktop/gnome/url-handlers/callto/needs_terminal
> /schemas/desktop/gnome/url-handlers/h323/enabled
> /schemas/desktop/gnome/url-handlers/h323/command
> /schemas/desktop/gnome/url-handlers/h323/needs_terminal
--> ekiga

- these are the default URI handlers, used widely by GIO and its clients
- gnome-default-applications-properties from gnome-control-center is again used for setting values from user side
- used in gnome-settings-daemon, gsd-media-keys-manager module, for spawning various commands from multimedia buttons


system_http_proxy.schemas.in:
> /schemas/system/http_proxy/use_http_proxy
> /schemas/system/http_proxy/host
> /schemas/system/http_proxy/port
> /schemas/system/http_proxy/use_authentication
> /schemas/system/http_proxy/authentication_user
> /schemas/system/http_proxy/authentication_password
> /schemas/system/http_proxy/ignore_hosts
> /schemas/system/proxy/mode
> /schemas/system/proxy/secure_host
> /schemas/system/proxy/secure_port
> /schemas/system/proxy/ftp_host
> /schemas/system/proxy/ftp_port
> /schemas/system/proxy/socks_host
> /schemas/system/proxy/socks_port
> /schemas/system/proxy/autoconfig_url
- gnome-network-properties is the user tool for changing the settings, part of gnome-control-center
- libsoup uses these gconf keys, this is my hot candidate
- so does gnome-terminal


system_dns_sd.schemas.in:
> /schemas/system/dns_sd/display_local
> /schemas/system/dns_sd/extra_domains
- used in gvfsd-network, should move to gvfs

system_smb.schemas.in:
> /schemas/system/smb/workgroup
- used in gvfsd-{network,smb,smb-browse}, should move to gvfs


Other suggestions welcome.
Comment 2 Vincent Untz 2010-01-29 14:07:26 UTC
I'm not sure it makes sense to ship the schemas in applications. For example, shipping mailto in evolution sounds wrong: someone might want to use thunderbird and still have this working without having to install evolution.

I believe it makes more sense to ship them in some core tarball. Either gvfs, or (sigh, I hate what I'm going to write) gnome-desktop.
Comment 3 Emmanuele Bassi (:ebassi) 2010-01-29 22:26:32 UTC
as a developer/maintainer: gvfs "feels" wrong. since gconf is going away for 3.0 (gsettings and dconf will save us all, right?) and since we'll want to phase out the schemas anyway during 3.x, shouldn't we have a separate schemas package provider? something like "gnome-desktop-schemas"?

pros: distributions would be able to package it easily; also, applications could be packaged to depend on it and the dependency switched off when they move away from gconf; and distros could make their gnome meta-package (or similar construct) depend on it.

con: it's something that requires a release; but, honestly: how much do schemas change anyway?

just my .02 €
Comment 4 Alexander Larsson 2010-02-01 10:46:25 UTC
Yeah, moving the individual settings to the app that it points to by default seems very wrong to me. Thats just a default after all. You want to be able to "depend" on the existance of a setting without having to have the default implementation of it installed. (Say in e.g. control-center.)

So, I'm also for splitting it out to a new module (which we'll hopefully deprecate in the near shiny dconf future).
Comment 5 Kjartan Maraas 2010-02-02 13:30:54 UTC
This is the list of packages on my rawhide system that carry schemas:

[kmaraas@e4300 src]$ rpm -qf /etc/gconf/schemas/* | sort | uniq
anjuta-2.28.1.0-2.fc13.i686
at-spi-1.29.6-1.fc13.i686
brasero-2.29.4-2.fc13.i686
byzanz-0.1.1-8.fc12.i686
cheese-2.29.5-2.fc13.i686
compiz-gnome-0.8.4-3.fc13.i686
control-center-2.29.6-1.fc13.i686
dasher-4.10.1-2.fc12.i686
devhelp-2.29.3-2.fc13.i686
ekiga-3.2.6-1.fc12.i686
empathy-2.29.6-1.fc13.i686
eog-2.29.5-2.fc13.i686
epiphany-2.29.6-1.fc13.i686
evince-2.29.5-1.fc13.i686
evolution-2.29.6-2.fc13.i686
evolution-bogofilter-2.29.6-2.fc13.i686
file-roller-2.29.5-1.fc13.i686
gcalctool-5.29.6-1.fc13.i686
gconf-editor-2.28.0-1.fc12.i686
gdm-2.29.5-2.fc13.i686
gedit-2.29.5-1.fc13.i686
gnome-applets-2.29.5-2.fc13.i686
gnome-bluetooth-2.29.3-4.fc13.i686
gnome-games-2.29.6-1.fc13.i686
gnome-keyring-2.29.5-2.fc13.i686
gnome-media-libs-2.28.5-1.fc13.i686
gnome-packagekit-2.29.2-1.fc13.i686
gnome-panel-2.29.5.1-1.fc13.i686
gnome-phone-manager-0.65-5.fc12.i686
gnome-pilot-2.0.17-9.fc13.i686
gnome-power-manager-2.29.1-2.fc13.i686
gnome-screensaver-2.29.1-2.fc13.i686
gnome-session-2.28.0-4.fc13.i686
gnome-settings-daemon-2.29.6-1.fc13.i686
gnome-shell-2.28.1-0.1.20100128git.i686
gnome-system-log-2.29.5-1.fc13.i686
gnome-system-monitor-2.28.0-3.fc12.i686
gnome-terminal-2.29.6-2.fc13.i686
gnome-user-share-2.28.1-3.fc13.i686
gnome-utils-2.29.5-1.fc13.i686
gnome-vfs2-2.24.2-3.fc13.i686
gnote-0.7.1-2.fc13.i686
gnotime-2.3.0-6.fc13.i686
gnucash-2.3.8-2.fc13.i686
gnumeric-1.9.17-3.fc13.i686
gok-2.29.2-1.fc13.i686
gstreamer-plugins-good-0.10.17.2-1.fc13.i686
gthumb-2.11.1-3.fc13.i686
gucharmap-2.29.1-1.fc13.i686
ibus-1.2.0.20100111-1.fc13.i686
ibus-chewing-1.2.0.20100125-1.fc13.i686
imsettings-0.107.4-5.fc13.i686
istanbul-0.2.2-14.fc13.i686
krb5-auth-dialog-0.13-2.fc12.i686
libcanberra-gtk2-0.22-1.fc13.i686
libgnome-2.28.0-4.fc13.i686
libgnomekbd-2.29.5-1.fc13.i686
libgsf-gnome-1.14.16-1.fc13.i686
libgweather-2.29.5-1.fc13.i686
metacity-2.28.1-2.fc13.i686
mousetweaks-2.29.6-1.fc13.i686
mutter-2.28.0-3.fc13.i686
nautilus-2.29.2-2.fc13.i686
nautilus-open-terminal-0.18-2.fc13.i686
nautilus-sendto-2.28.2-2.fc13.i686
nautilus-sound-converter-1.0.3-1.fc13.i686
NetworkManager-gnome-0.8.0-0.2.git20100129.fc13.i686
notification-daemon-0.4.1-0.20090923.4.fc12.i686
pidgin-2.6.5-1.fc13.i686
planner-0.14.4-18.fc13.i686
rhythmbox-0.12.6-7.fc13.i686
seahorse-2.29.4-2.fc13.i686
seahorse-plugins-2.29.3-1.fc13.i686
sound-juicer-2.28.1-2.fc13.i686
swfdec-gnome-2.28.0-2.fc13.i686
totem-2.29.4-1.fc13.i686
tsclient-2.0.2-7.fc13.i686
vinagre-2.29.6-1.fc13.i686
vino-2.28.1-1.fc12.i686
virt-manager-0.8.2-2.fc13.noarch
xchat-gnome-0.26.1-8.fc13.i686
yelp-2.29.3-1.fc13.i686
Comment 6 Tomas Bzatek 2010-09-08 15:18:12 UTC
(In reply to comment #4)
> So, I'm also for splitting it out to a new module (which we'll hopefully
> deprecate in the near shiny dconf future).
So we let a shiny new module called gsettings-desktop-schemas born instead. Long live to this baby in the new dconf world!

Almost everything has been already moved there, last few bits for smb and dns-sd have just been posted as a bug 629073.

The only thing missing is "/schemas/desktop/gnome/applications/component_viewer" which I marked for removal in comment 1.

I think we can close this down and let gnome-vfs peacefully die, slowly porting remaining apps to GSettings.