summaryrefslogtreecommitdiffstats
path: root/debian/generate-config
diff options
context:
space:
mode:
Diffstat (limited to 'debian/generate-config')
-rw-r--r--debian/generate-config25
1 files changed, 25 insertions, 0 deletions
diff --git a/debian/generate-config b/debian/generate-config
new file mode 100644
index 0000000..952e45f
--- /dev/null
+++ b/debian/generate-config
@@ -0,0 +1,25 @@
+#! /bin/sh
+set -e
+
+as_gdm () {
+ # setsid to dissociate from the controlling terminal, if any.
+ # Under systemd, this is unnecessary, because this script is called
+ # from a systemd unit with stdout and stderr pointing to the Journal,
+ # but under sysvinit, /etc/init.d/gdm3 might be invoked by a sysadmin
+ # with its controlling terminal shared with their privileged shell.
+ setsid \
+ setpriv \
+ --reuid Debian-gdm --regid Debian-gdm --init-groups \
+ --no-new-privs \
+ --inh-caps=-all \
+ --reset-env \
+ -- \
+ "$@"
+}
+
+umask 022
+install -d /var/lib
+install -m711 -oDebian-gdm -gDebian-gdm -d /var/lib/gdm3
+
+as_gdm dconf compile '/var/lib/gdm3/greeter-dconf-defaults' '/usr/share/gdm/dconf'
+as_gdm pkill --signal 'HUP' --uid 'Debian-gdm' 'dconf-service' || true