Merge lp:~townsend/libertine/fix-dir-perms into lp:libertine

Proposed by Christopher Townsend
Status: Merged
Approved by: Larry Price
Approved revision: 231
Merged at revision: 231
Proposed branch: lp:~townsend/libertine/fix-dir-perms
Merge into: lp:libertine
Diff against target: 59 lines (+19/-2)
3 files modified
python/libertine/ChrootContainer.py (+1/-1)
python/libertine/LxcContainer.py (+1/-1)
python/libertine/utils.py (+17/-0)
To merge this branch: bzr merge lp:~townsend/libertine/fix-dir-perms
Reviewer Review Type Date Requested Status
Larry Price Approve
Libertine CI Bot continuous-integration Approve
Review via email: mp+295329@code.launchpad.net

Commit message

Explicitly create .config/dconf and the common XDG data directories in the user container's mapped home directory in order to make sure the file permissions are correct.

To post a comment you must log in.
Revision history for this message
Libertine CI Bot (libertine-ci-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Larry Price (larryprice) wrote :

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'python/libertine/ChrootContainer.py'
2--- python/libertine/ChrootContainer.py 2016-05-16 19:47:30 +0000
3+++ python/libertine/ChrootContainer.py 2016-05-20 14:44:34 +0000
4@@ -210,7 +210,7 @@
5 % (utils.get_libertine_container_userdata_dir_path(self.container_id), home_path)
6 )
7
8- xdg_user_dirs = ['Documents', 'Music', 'Pictures', 'Videos']
9+ xdg_user_dirs = utils.get_common_xdg_directories()
10 for user_dir in xdg_user_dirs:
11 user_dir_path = os.path.join(home_path, user_dir)
12 bind_mounts += " -b %s:%s" % (user_dir_path, user_dir_path)
13
14=== modified file 'python/libertine/LxcContainer.py'
15--- python/libertine/LxcContainer.py 2016-05-11 17:26:27 +0000
16+++ python/libertine/LxcContainer.py 2016-05-20 14:44:34 +0000
17@@ -225,7 +225,7 @@
18 # Bind mount the user's home directory
19 self.container.append_config_item("lxc.mount.entry", home_entry)
20
21- xdg_user_dirs = ['Documents', 'Music', 'Pictures', 'Videos']
22+ xdg_user_dirs = utils.get_common_xdg_directories()
23
24 for user_dir in xdg_user_dirs:
25 xdg_user_dir_entry = (
26
27=== modified file 'python/libertine/utils.py'
28--- python/libertine/utils.py 2016-04-06 19:14:10 +0000
29+++ python/libertine/utils.py 2016-05-20 14:44:34 +0000
30@@ -100,12 +100,29 @@
31 return dpkg.stdout.read().strip()
32
33
34+def get_common_xdg_directories():
35+ return ['Documents', 'Music', 'Pictures', 'Videos', 'Downloads']
36+
37+
38 def create_libertine_user_data_dir(container_id):
39 user_data = get_libertine_container_userdata_dir_path(container_id)
40
41 if not os.path.exists(user_data):
42 os.makedirs(user_data)
43
44+ config_path = os.path.join(user_data, ".config", "dconf")
45+
46+ if not os.path.exists(config_path):
47+ os.makedirs(config_path)
48+
49+ xdg_user_dirs = get_common_xdg_directories()
50+
51+ for xdg_dir in xdg_user_dirs:
52+ xdg_path = os.path.join(user_data, xdg_dir)
53+
54+ if not os.path.exists(xdg_path):
55+ os.makedirs(xdg_path)
56+
57
58 def get_libertine_lxc_socket():
59 return '\0libertine_lxc_socket'

Subscribers

People subscribed via source and target branches