#! /bin/sh
set -e

DEFAULTS_GENERATED=/var/lib/gdm3/greeter-dconf-defaults
DEFAULTS_DIR=/usr/share/gdm/dconf

if [ -d /var/lib/gdm3 ]; then
  needed=no
  if [ -f $DEFAULTS_GENERATED ]; then
    for f in \
        $DEFAULTS_DIR $DEFAULTS_DIR/*-settings \
        $DEFAULTS_DIR/locks $DEFAULTS_DIR/locks/*-locks \
        /etc/gdm3/greeter.dconf-defaults; do
      if [ "$f" -nt $DEFAULTS_GENERATED ]; then
        needed=yes
        break
      fi
    done
  else
    needed=yes
  fi
  if [ "$needed" = yes ]; then
    dconf compile $DEFAULTS_GENERATED $DEFAULTS_DIR
  fi
fi

pkill --signal 'HUP' --uid 'Debian-gdm' 'dconf-service' || true
