Commit feb6ddaf authored by Allison Karlitskaya's avatar Allison Karlitskaya

move over to using 'dconf compile' and file-db

Instead of installing keyfiles in /etc and running 'dconf update' to
generate the database in place (or requiring package system triggers to
do so for us), just build the database in-tree using the new 'dconf
compile' command.  We can install that in our pkgdatadir.

dconf now also looks in XDG_DATA_DIRS in addition to /etc when finding
profiles, so install ours there too.

This makes gdm /etc-clean with respect to dconf.

If users want to make additional customisations to the gdm login session
then they should create their own dconf database in /etc/dconf and then
replace the 'gdm' profile with one that references their new db (by way
of /etc/dconf/profile/gdm, which is searched first).

https://bugzilla.gnome.org/show_bug.cgi?id=722241
parent 6bec701a
......@@ -1569,6 +1569,7 @@ data/pixmaps/Makefile
data/pixmaps/16x16/Makefile
data/pixmaps/32x32/Makefile
data/pixmaps/48x48/Makefile
data/dconf/gdm
common/Makefile
po/Makefile.in
tests/Makefile
......
/gdm.service
/greeter-dconf-defaults
......@@ -43,6 +43,19 @@ dbusconf_DATA = $(dbusconf_in_files:.conf.in=.conf)
@INTLTOOL_SCHEMAS_RULE@
@INTLTOOL_XML_NOMERGE_RULE@
# dconf database and profile
dconf_db_files = \
dconf/defaults/00-upstream-settings \
dconf/defaults/locks/00-upstream-settings-locks
dconfdbdir = $(pkgdatadir)
dconfdb_DATA = greeter-dconf-defaults
greeter-dconf-defaults: $(dconf_db_files)
$(AM_V_GEN) dconf compile $@ $(srcdir)/dconf/defaults
dconfprofiledir = $(DATADIR)/dconf/profile
dconfprofile_DATA = dconf/gdm
gsettings_SCHEMAS = org.gnome.login-screen.gschema.xml
@GSETTINGS_RULES@
......@@ -141,6 +154,7 @@ pam_files = $(pam_lfs_files)
endif
EXTRA_DIST += \
$(dconf_db_files) \
$(schemas_in_files) \
$(schemas_DATA) \
$(dbusconf_in_files) \
......@@ -152,9 +166,6 @@ EXTRA_DIST += \
PreSession.in \
PostSession.in \
PostLogin \
dconf-profile \
00-upstream-settings \
00-upstream-settings-locks \
org.gnome.login-screen.gschema.xml.in \
$(NULL)
......@@ -165,6 +176,7 @@ CLEANFILES = \
PreSession \
PostSession \
$(gsettings_SCHEMAS) \
greeter-dconf-defaults \
$(NULL)
DISTCLEANFILES = \
......@@ -204,25 +216,18 @@ uninstall-hook:
$(DESTDIR)$(sysconfdir)/dconf/db/gdm \
$(DESTDIR)$(sysconfdir)/dconf/profile/gdm \
-rf \
$(DESTDIR)$(sysconfdir)/dconf/db/gdm.d \
$(DESTDIR)$(workingdir)/.config/dconf \
$(DESTDIR)$(screenshotdir) \
$(DESTDIR)$(xauthdir) \
$(DESTDIR)$(PAM_PREFIX)/pam.d
-rmdir \
$(DESTDIR)$(sysconfdir)/dconf/db/gdm.d/locks \
$(DESTDIR)$(sysconfdir)/dconf/db/gdm.d \
$(DESTDIR)$(sysconfdir)/dconf/db \
$(DESTDIR)$(sysconfdir)/dconf
if test -n "$(systemdsystemunit)"; then \
rm -f $(DESTDIR)$(SYSTEMD_SYSTEM_UNIT_DIR)/$(systemdsystemunit); \
rmdir $(DESTDIR)$(SYSTEMD_SYSTEM_UNIT_DIR) || : ; \
fi
install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession 00-upstream-settings 00-upstream-settings-locks $(systemdsystemunit)
install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession $(systemdsystemunit)
if test '!' -d $(DESTDIR)$(gdmconfdir); then \
$(mkinstalldirs) $(DESTDIR)$(gdmconfdir); \
chmod 755 $(DESTDIR)$(gdmconfdir); \
......@@ -327,38 +332,8 @@ install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession 00-upstr
chown gdm:gdm $(DESTDIR)$(workingdir)/.local/share/applications || : ; \
fi
if test '!' -d $(DESTDIR)$(sysconfdir)/dconf/profile; then \
$(mkinstalldirs) $(DESTDIR)$(sysconfdir)/dconf/profile; \
chmod 0755 $(DESTDIR)$(sysconfdir)/dconf/profile; \
chown root:root $(DESTDIR)$(sysconfdir)/dconf/profile || : ; \
fi
if test '!' -d $(DESTDIR)$(sysconfdir)/dconf/db; then \
$(mkinstalldirs) $(DESTDIR)$(sysconfdir)/dconf/db; \
chmod 0755 $(DESTDIR)$(sysconfdir)/dconf/db; \
chown root:root $(DESTDIR)$(sysconfdir)/dconf/db || : ; \
fi
if test '!' -d $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d; then \
$(mkinstalldirs) $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d; \
chmod 0755 $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d; \
chown root:root $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d || : ; \
fi
if test '!' -d $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d/locks; then \
$(mkinstalldirs) $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d/locks; \
chmod 0755 $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d/locks; \
chown root:root $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d/locks || : ; \
fi
if test '!' -d $(DESTDIR)$(cachedir); then \
$(mkinstalldirs) $(DESTDIR)$(cachedir); \
chmod 1755 $(DESTDIR)$(cachedir); \
chown root:gdm $(DESTDIR)$(cachedir) || : ; \
fi
$(INSTALL_DATA) $(srcdir)/dconf-profile $(DESTDIR)$(sysconfdir)/dconf/profile/gdm
$(INSTALL_DATA) $(srcdir)/00-upstream-settings $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d
$(INSTALL_DATA) $(srcdir)/00-upstream-settings-locks $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d/locks
test -z "$(DESTDIR)" && dconf update || :
user-db:user
system-db:gdm
user-db:user
file-db:@DATADIR@/@PACKAGE@/greeter-dconf-defaults
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment