From 4d5ecc6d783649b747a6259873feeb1a90954ca1 Mon Sep 17 00:00:00 2001 From: Xiao-Long Chen Date: Sun, 13 Apr 2014 01:08:58 -0400 Subject: [PATCH] [lightdm-ubuntu] Fix dconf failure due to unwritable directories --- ...t-account-Use-cross-distro-commands.patch} | 22 ++++++++++--- ...ccount-Add-default-GSettings-support.patch | 33 +++++++++++++++++++ lightdm-ubuntu/PKGBUILD | 14 ++++---- ...ession-add-default-gsettings-support.patch | 17 ---------- 4 files changed, 57 insertions(+), 29 deletions(-) rename lightdm-ubuntu/{guest-session-cross-distro.patch => 0001-guest-account-Use-cross-distro-commands.patch} (83%) create mode 100644 lightdm-ubuntu/0002-guest-account-Add-default-GSettings-support.patch delete mode 100644 lightdm-ubuntu/guest-session-add-default-gsettings-support.patch diff --git a/lightdm-ubuntu/guest-session-cross-distro.patch b/lightdm-ubuntu/0001-guest-account-Use-cross-distro-commands.patch similarity index 83% rename from lightdm-ubuntu/guest-session-cross-distro.patch rename to lightdm-ubuntu/0001-guest-account-Use-cross-distro-commands.patch index 6c7d422d..fd4c1351 100644 --- a/lightdm-ubuntu/guest-session-cross-distro.patch +++ b/lightdm-ubuntu/0001-guest-account-Use-cross-distro-commands.patch @@ -1,5 +1,14 @@ -Modify the guest session script so that it doesn't depend on the Debian/ -Ubuntu specific adduser package. +From 978b54a62fff02c7adfc8794db75969869fb291b Mon Sep 17 00:00:00 2001 +From: Xiao-Long Chen +Date: Sun, 13 Apr 2014 01:01:44 -0400 +Subject: [PATCH 1/2] guest-account: Use cross-distro commands + +--- + debian/guest-account | 45 +++++++++++++++++++++++++++++++++++---------- + 1 file changed, 35 insertions(+), 10 deletions(-) + +diff --git a/debian/guest-account b/debian/guest-account +index 47cfe70..77312ba 100644 --- a/debian/guest-account +++ b/debian/guest-account @@ -10,7 +10,12 @@ @@ -16,7 +25,7 @@ Ubuntu specific adduser package. USER=`echo $HOME | sed 's/\(.*\)guest/guest/'` # if $USER already exists, it must be a locked system account with no existing -@@ -36,7 +41,21 @@ +@@ -36,7 +41,21 @@ add_account () fi else # does not exist, so create it @@ -39,7 +48,7 @@ Ubuntu specific adduser package. umount "$HOME" rm -rf "$HOME" exit 1 -@@ -111,10 +130,15 @@ +@@ -115,10 +134,15 @@ remove_account () echo "Error: invalid user $USER" exit 1 } @@ -57,7 +66,7 @@ Ubuntu specific adduser package. echo "Error: user $USER is not a system user." exit 1 fi -@@ -134,17 +158,18 @@ +@@ -138,17 +162,18 @@ remove_account () rm -rf "$HOME" # remove leftovers in /tmp @@ -82,3 +91,6 @@ Ubuntu specific adduser package. } case "$1" in +-- +1.9.2 + diff --git a/lightdm-ubuntu/0002-guest-account-Add-default-GSettings-support.patch b/lightdm-ubuntu/0002-guest-account-Add-default-GSettings-support.patch new file mode 100644 index 00000000..039a642f --- /dev/null +++ b/lightdm-ubuntu/0002-guest-account-Add-default-GSettings-support.patch @@ -0,0 +1,33 @@ +From 3de0924902388870f4a9ac1e3bda625e23a78a83 Mon Sep 17 00:00:00 2001 +From: Xiao-Long Chen +Date: Sun, 13 Apr 2014 01:02:42 -0400 +Subject: [PATCH 2/2] guest-account: Add default GSettings support + +--- + debian/guest-account | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/debian/guest-account b/debian/guest-account +index 77312ba..fadec17 100644 +--- a/debian/guest-account ++++ b/debian/guest-account +@@ -121,6 +121,16 @@ add_account () + . /etc/guest-session/prefs.sh + fi + ++ # Load default dconf settings ++ mkdir -p "$HOME/.config/" "$HOME/.cache/" ++ chown -R $USER:$USER "$HOME/.config/" "$HOME/.cache/" ++ if [ -d /etc/guest-session/gsettings/ ]; then ++ for i in /etc/guest-session/gsettings/*; do ++ cat "${i}" | sed '/^\[.*\]$/ s/\./\//g' | \ ++ su - $USER -c 'dbus-launch dconf load /' ++ done ++ fi ++ + chown -R $USER:$USER "$HOME" + + echo $USER +-- +1.9.2 + diff --git a/lightdm-ubuntu/PKGBUILD b/lightdm-ubuntu/PKGBUILD index 2788e709..8e1df0ab 100644 --- a/lightdm-ubuntu/PKGBUILD +++ b/lightdm-ubuntu/PKGBUILD @@ -7,7 +7,7 @@ pkgname=lightdm-ubuntu _ubuntu_rel=0ubuntu3 pkgver=1.10.0 -pkgrel=2 +pkgrel=3 pkgdesc="A lightweight display manager" arch=('i686' 'x86_64') url="https://launchpad.net/lightdm" @@ -42,8 +42,8 @@ source=("https://launchpad.net/ubuntu/+archive/primary/+files/lightdm_${pkgver}- 'lightdm-autologin.pam' 'lightdm-greeter.pam' 'lightdm.rules' - 'guest-session-cross-distro.patch' - 'guest-session-add-default-gsettings-support.patch') + '0001-guest-account-Use-cross-distro-commands.patch' + '0002-guest-account-Add-default-GSettings-support.patch') sha512sums=('743354741ec985c2ce6048d2a572f2554cb7ab05d7630f07a99428931e83ff9595943014873325a4926ceee2fbad90bad124ed0d35ca190b5df57f71a4798fa5' '26bb333e58ee63a6a0d472bb0a7f9006b93c7de629780399b1dff4af3aaccea02aa74ed0410b8fa6ba55b285f7c7bb6180db059928feba56f779c5b8f3ba8b86' 'fa35ece114255abfc409f1c9da1eb7129055d8669aad11fe3d69084bf2216e93bf09864ac4e8874e88f166be9735fc55ed899056eb3bd94c5b33d3b2cbd55f4d' @@ -52,8 +52,8 @@ sha512sums=('743354741ec985c2ce6048d2a572f2554cb7ab05d7630f07a99428931e83ff95959 '6f59d97515b37d53fb4f56de0f65994710e02c197c6d4c096aa7cdb9fe518d29223960018ae4ad8003056fed3210f47f3aa459c85b8efca80089f2046196892c' '3b482f7e551df20a5c5d9331a420275d1dad5bb6aad287247baea82dc40dc31dca22db4da180fbb950865e37cf94f1737fa1ee7ec2f5233540f82f2f570a408b' '8d6aa12c4d129c25e56ecf2904db4e294d46631d11bd8bec2f20a76c871ba758094abb24616d3d2038a684fbb736ee61d1f80697d525d62c4dc68113e101194f' - '119904e533bfcbc72a69695907d2c7bef7a68ad24072aa284f414eb2bfa7a6b0b6d4bef7d3aea006bac6f9ce1d11077934126775eacb4448094c7db0e6e18473' - 'b0e171f38320681618d5607b0d34be7ccb738f113a82a8a6e2fff00f6bdd71c9bb45e5109cf8fb4cbd4ac3af8d72a5f37df7cc9d988c8fd1af1a952c57a801c9') + '989446c266b0cd531159128e20f1e24c62547eefa05c7c01eb4260941b096bf78806d3d6b505b69bbe30455d89ed3ce298473286b2f240138bb1d2f69e73f1ad' + '1d263269cca582d37d1dddbe20e3eb71aca732f8b21c61f726904ed8b284c7a5115f5fe66aa141ca6373ad41e8ccbf30cbca85f82c15e1e96331d596afc6427b') prepare() { cd "${srcdir}/lightdm-${pkgver}" @@ -69,12 +69,12 @@ prepare() { done # Do not depend on Debian/Ubuntu specific adduser package - patch -p1 -i "${srcdir}"/guest-session-cross-distro.patch + patch -p1 -i "${srcdir}"/0001-guest-account-Use-cross-distro-commands.patch # Add support for settings GSettings/dconf defaults in the guest session. Just # put the files in /etc/guest-session/gsettings/. The file format is the same # as the regular GSettings override files. - patch -p1 -i "${srcdir}"/guest-session-add-default-gsettings-support.patch + patch -p1 -i "${srcdir}"/0002-guest-account-Add-default-GSettings-support.patch } build() { diff --git a/lightdm-ubuntu/guest-session-add-default-gsettings-support.patch b/lightdm-ubuntu/guest-session-add-default-gsettings-support.patch deleted file mode 100644 index fde5f37a..00000000 --- a/lightdm-ubuntu/guest-session-add-default-gsettings-support.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/debian/guest-account -+++ b/debian/guest-account -@@ -117,6 +117,14 @@ - . /etc/guest-session/prefs.sh - fi - -+ # Load default dconf settings -+ if [ -d /etc/guest-session/gsettings/ ]; then -+ for i in /etc/guest-session/gsettings/*; do -+ cat "${i}" | sed '/^\[.*\]$/ s/\./\//g' | \ -+ su - $USER -c 'dbus-launch dconf load /' -+ done -+ fi -+ - chown -R $USER:$USER "$HOME" - - echo $USER