1 |
Author: zmedico |
2 |
Date: 2008-05-27 07:56:26 +0000 (Tue, 27 May 2008) |
3 |
New Revision: 10454 |
4 |
|
5 |
Modified: |
6 |
main/branches/2.1.2/pym/portage.py |
7 |
Log: |
8 |
Make config._init_dirs() preserver /tmp and /var/tmp permissions if |
9 |
those directories already exist. This gives freedom to the user to |
10 |
adjust permissions to suit their taste. (trunk r10451:10453) |
11 |
|
12 |
|
13 |
Modified: main/branches/2.1.2/pym/portage.py |
14 |
=================================================================== |
15 |
--- main/branches/2.1.2/pym/portage.py 2008-05-27 07:53:32 UTC (rev 10453) |
16 |
+++ main/branches/2.1.2/pym/portage.py 2008-05-27 07:56:26 UTC (rev 10454) |
17 |
@@ -1776,16 +1776,23 @@ |
18 |
if not os.access(self["ROOT"], os.W_OK): |
19 |
return |
20 |
|
21 |
+ # gid, mode, mask, preserve_perms |
22 |
dir_mode_map = { |
23 |
- "tmp" :(-1, 01777, 0), |
24 |
- "var/tmp" :(-1, 01777, 0), |
25 |
- "var/lib/portage" :(portage_gid, 02750, 02), |
26 |
- "var/cache/edb" :(portage_gid, 0755, 02) |
27 |
+ "tmp" : ( -1, 01777, 0, True), |
28 |
+ "var/tmp" : ( -1, 01777, 0, True), |
29 |
+ PRIVATE_PATH : ( portage_gid, 02750, 02, False), |
30 |
+ CACHE_PATH.lstrip(os.path.sep) : (portage_gid, 0755, 02, False) |
31 |
} |
32 |
|
33 |
- for mypath, (gid, mode, modemask) in dir_mode_map.iteritems(): |
34 |
+ for mypath, (gid, mode, modemask, preserve_perms) \ |
35 |
+ in dir_mode_map.iteritems(): |
36 |
+ mydir = os.path.join(self["ROOT"], mypath) |
37 |
+ if preserve_perms and os.path.isdir(mydir): |
38 |
+ # Only adjust permissions on some directories if |
39 |
+ # they don't exist yet. This gives freedom to the |
40 |
+ # user to adjust permissions to suit their taste. |
41 |
+ continue |
42 |
try: |
43 |
- mydir = os.path.join(self["ROOT"], mypath) |
44 |
portage_util.ensure_dirs(mydir, gid=gid, mode=mode, mask=modemask) |
45 |
except portage_exception.PortageException, e: |
46 |
writemsg("!!! Directory initialization failed: '%s'\n" % mydir, |
47 |
|
48 |
-- |
49 |
gentoo-commits@l.g.o mailing list |