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 330905 - gdm defaults file should be moved to $datadir
gdm defaults file should be moved to $datadir
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2006-02-12 17:39 UTC by Ray Strode [halfline]
Modified: 2006-02-13 22:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
separate distro defaults from user customizations (6.96 KB, patch)
2006-02-12 23:12 UTC, Ray Strode [halfline]
none Details | Review

Description Ray Strode [halfline] 2006-02-12 17:39:05 UTC
Hi,

As of gdm 2.13.0.4, gdm gained increased flexibility with regard to its configuration system.  In particular, one very useful change was the split-up of user configuration and distribution defaults in to two distinct files ($sysconfdir/gdm.conf-custom and $sysconfdir/gdm/gdm.conf, respectively). This change solves a number of issues, and makes changing gdm defaults in Fedora Core a lot easier now.

My only complaint is its location.  Because gdm.conf should no longer be editable by users, it doesn't really make sense to put it in /etc.  I think a better layout might be to put distro defaults in $datadir/gdm/defaults.conf and to put user settings in something like $sysconfdir/gdm/custom.conf.  Does that sound reasonable?

Note, there is the --config option, which could be used to have a layout like $datadir/gdm/defaults.conf and $sysconfdir/gdm/gdm.conf-custom.  That is almost what I'd consider ideal, but it's a bit cumbersome to have to change the command line options passed to gdm.  Also, given that in this layout the two configuraiton files aren't side by side, the -custom suffix doesn't seem necessary. 

There is also already a configure option --with-configdir that let's you specify the directory for configuration, but it isn't really sufficient because gdm will look for both files in the directory given.
Comment 1 Ray Strode [halfline] 2006-02-12 23:12:23 UTC
Created attachment 59212 [details] [review]
separate distro defaults from user customizations
Comment 2 Ray Strode [halfline] 2006-02-13 22:36:21 UTC
This has been fixed in the current release of gdm
Comment 3 Brian Cameron 2006-02-13 22:51:11 UTC
Wow, you marked the bug as resolved before I could get to it.  Thanks for this
patch.  My intention with splitting gdm.conf into two files was to better support machine-specific and system-wide configuration and moving the defaults
file to datadir makes this work out-of-the-box much better.  I'm glad this got 
in before the beta release.  I'm also happy to hear that other people find
this splitting of the config file useful.

I had to do quite a bit of work getting this patch into this release.  You missed several things.

1) You should use EXPANDED_DATADIR instead of ${datadir} in configure.ac.

2) You forgot to update gdmsetup to be aware of the new name of the custom
   config file.  This broke gdmsetup so it no longer worked.  I fixed this.

3) You didn't update the README, README.install or docs/C/gdm.xml file to
   mention this change.  Documenting this was a bit of work, and this sort of
   change is important to have right in the docs, I think.  We don't want the
   docs to mention gdm.conf if the file is now gone.  

I took care of all the above issues, but please make more of an effort to
test and document changes when you provide patches.  It's probably better
that I updated the docs this time.  I've done a ton of work over the past
few days to update the docs before the string freeze, and I think the docs
are in much better shape and are much more complete than they were in 2.8. 
Since I've been updating them lately, it probably worked out better for me 
to make this change.