Skip to content
This repository has been archived by the owner on Feb 27, 2018. It is now read-only.

Commit

Permalink
[lightdm-ubuntu] Fix dconf failure due to unwritable directories
Browse files Browse the repository at this point in the history
  • Loading branch information
Xiao-Long Chen committed Apr 13, 2014
1 parent fd1edf4 commit 4d5ecc6
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 29 deletions.
@@ -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 <chenxiaolong@cxl.epac.to>
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 @@
Expand All @@ -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
Expand All @@ -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
}
Expand All @@ -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
Expand All @@ -82,3 +91,6 @@ Ubuntu specific adduser package.
}

case "$1" in
--
1.9.2

@@ -0,0 +1,33 @@
From 3de0924902388870f4a9ac1e3bda625e23a78a83 Mon Sep 17 00:00:00 2001
From: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
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

14 changes: 7 additions & 7 deletions lightdm-ubuntu/PKGBUILD
Expand Up @@ -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"
Expand Down Expand Up @@ -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'
Expand All @@ -52,8 +52,8 @@ sha512sums=('743354741ec985c2ce6048d2a572f2554cb7ab05d7630f07a99428931e83ff95959
'6f59d97515b37d53fb4f56de0f65994710e02c197c6d4c096aa7cdb9fe518d29223960018ae4ad8003056fed3210f47f3aa459c85b8efca80089f2046196892c'
'3b482f7e551df20a5c5d9331a420275d1dad5bb6aad287247baea82dc40dc31dca22db4da180fbb950865e37cf94f1737fa1ee7ec2f5233540f82f2f570a408b'
'8d6aa12c4d129c25e56ecf2904db4e294d46631d11bd8bec2f20a76c871ba758094abb24616d3d2038a684fbb736ee61d1f80697d525d62c4dc68113e101194f'
'119904e533bfcbc72a69695907d2c7bef7a68ad24072aa284f414eb2bfa7a6b0b6d4bef7d3aea006bac6f9ce1d11077934126775eacb4448094c7db0e6e18473'
'b0e171f38320681618d5607b0d34be7ccb738f113a82a8a6e2fff00f6bdd71c9bb45e5109cf8fb4cbd4ac3af8d72a5f37df7cc9d988c8fd1af1a952c57a801c9')
'989446c266b0cd531159128e20f1e24c62547eefa05c7c01eb4260941b096bf78806d3d6b505b69bbe30455d89ed3ce298473286b2f240138bb1d2f69e73f1ad'
'1d263269cca582d37d1dddbe20e3eb71aca732f8b21c61f726904ed8b284c7a5115f5fe66aa141ca6373ad41e8ccbf30cbca85f82c15e1e96331d596afc6427b')

prepare() {
cd "${srcdir}/lightdm-${pkgver}"
Expand All @@ -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() {
Expand Down
17 changes: 0 additions & 17 deletions lightdm-ubuntu/guest-session-add-default-gsettings-support.patch

This file was deleted.

0 comments on commit 4d5ecc6

Please sign in to comment.