1 |
commit: 3e50d998f4b24d588261663e13eeda7ea65bbba5 |
2 |
Author: Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Sep 28 04:59:58 2012 +0000 |
4 |
Commit: Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Sep 28 05:07:44 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=3e50d998 |
7 |
|
8 |
gnome-base/gdm: ensure /var/lib/gdm/ subdirectories are owned by gdm (#436456) |
9 |
|
10 |
Apparently, some people upgrading to gnome-3.6 have the wrong |
11 |
permissions on .local, .config, etc. in the gdm user's home directory. |
12 |
Presumably this was caused by one of the buggy gdm-3.5.x versions. We |
13 |
should manually chown these to gdm:gdm, otherwise the gdm greeter's |
14 |
gnome-session will crash. |
15 |
|
16 |
Fixes bug #436456. Thanks to foser and Li Yanrui for their reports. |
17 |
|
18 |
--- |
19 |
.../gdm/{gdm-3.6.0.ebuild => gdm-3.6.0-r1.ebuild} | 15 +++++++++++++++ |
20 |
gnome-base/gdm/gdm-9999.ebuild | 15 +++++++++++++++ |
21 |
2 files changed, 30 insertions(+), 0 deletions(-) |
22 |
|
23 |
diff --git a/gnome-base/gdm/gdm-3.6.0.ebuild b/gnome-base/gdm/gdm-3.6.0-r1.ebuild |
24 |
similarity index 95% |
25 |
rename from gnome-base/gdm/gdm-3.6.0.ebuild |
26 |
rename to gnome-base/gdm/gdm-3.6.0-r1.ebuild |
27 |
index 5a58189..4ad32f8 100644 |
28 |
--- a/gnome-base/gdm/gdm-3.6.0.ebuild |
29 |
+++ b/gnome-base/gdm/gdm-3.6.0-r1.ebuild |
30 |
@@ -202,6 +202,10 @@ src_install() { |
31 |
# log, etc. |
32 |
keepdir /var/log/gdm |
33 |
|
34 |
+ # gdm user's home directory |
35 |
+ keepdir /var/lib/gdm |
36 |
+ fowners gdm:gdm /var/lib/gdm |
37 |
+ |
38 |
# install XDG_DATA_DIRS gdm changes |
39 |
echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm |
40 |
doenvd 99xdg-gdm |
41 |
@@ -214,10 +218,21 @@ src_install() { |
42 |
} |
43 |
|
44 |
pkg_postinst() { |
45 |
+ local d ret |
46 |
+ |
47 |
gnome2_pkg_postinst |
48 |
|
49 |
dbus-launch dconf update || die "'dconf update' failed" |
50 |
|
51 |
+ # bug #436456; gdm crashes if /var/lib/gdm subdirs are not owned by gdm:gdm |
52 |
+ ret=0 |
53 |
+ ebegin "Fixing ${EROOT}var/lib/gdm ownership" |
54 |
+ chown gdm:gdm "${EROOT}var/lib/gdm" || ret=1 |
55 |
+ for d in "${EROOT}var/lib/gdm/"{.cache,.config,.local}; do |
56 |
+ [[ ! -e "${d}" ]] || chown -R gdm:gdm "${d}" || ret=1 |
57 |
+ done |
58 |
+ eend ${ret} |
59 |
+ |
60 |
ewarn |
61 |
ewarn "This is an EXPERIMENTAL release, please bear with its bugs and" |
62 |
ewarn "visit us on #gentoo-desktop if you have problems." |
63 |
|
64 |
diff --git a/gnome-base/gdm/gdm-9999.ebuild b/gnome-base/gdm/gdm-9999.ebuild |
65 |
index 5a58189..4ad32f8 100644 |
66 |
--- a/gnome-base/gdm/gdm-9999.ebuild |
67 |
+++ b/gnome-base/gdm/gdm-9999.ebuild |
68 |
@@ -202,6 +202,10 @@ src_install() { |
69 |
# log, etc. |
70 |
keepdir /var/log/gdm |
71 |
|
72 |
+ # gdm user's home directory |
73 |
+ keepdir /var/lib/gdm |
74 |
+ fowners gdm:gdm /var/lib/gdm |
75 |
+ |
76 |
# install XDG_DATA_DIRS gdm changes |
77 |
echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm |
78 |
doenvd 99xdg-gdm |
79 |
@@ -214,10 +218,21 @@ src_install() { |
80 |
} |
81 |
|
82 |
pkg_postinst() { |
83 |
+ local d ret |
84 |
+ |
85 |
gnome2_pkg_postinst |
86 |
|
87 |
dbus-launch dconf update || die "'dconf update' failed" |
88 |
|
89 |
+ # bug #436456; gdm crashes if /var/lib/gdm subdirs are not owned by gdm:gdm |
90 |
+ ret=0 |
91 |
+ ebegin "Fixing ${EROOT}var/lib/gdm ownership" |
92 |
+ chown gdm:gdm "${EROOT}var/lib/gdm" || ret=1 |
93 |
+ for d in "${EROOT}var/lib/gdm/"{.cache,.config,.local}; do |
94 |
+ [[ ! -e "${d}" ]] || chown -R gdm:gdm "${d}" || ret=1 |
95 |
+ done |
96 |
+ eend ${ret} |
97 |
+ |
98 |
ewarn |
99 |
ewarn "This is an EXPERIMENTAL release, please bear with its bugs and" |
100 |
ewarn "visit us on #gentoo-desktop if you have problems." |