1 |
Author: grobian |
2 |
Date: 2009-09-05 10:54:56 +0000 (Sat, 05 Sep 2009) |
3 |
New Revision: 14193 |
4 |
|
5 |
Modified: |
6 |
main/branches/prefix/pym/portage/const.py |
7 |
Log: |
8 |
(reproduced commit r14192 from trunk) |
9 |
|
10 |
reorganise const.py to have logical grouping based on usage |
11 |
|
12 |
grouped into use with config_root, target_root or nothing, made all |
13 |
variables that are used with config_root or target_root not start with a |
14 |
leading slash, such that they can be directly used with os.path.join |
15 |
(which they should because of xxxx_root). |
16 |
|
17 |
|
18 |
|
19 |
Modified: main/branches/prefix/pym/portage/const.py |
20 |
=================================================================== |
21 |
--- main/branches/prefix/pym/portage/const.py 2009-09-05 10:53:44 UTC (rev 14192) |
22 |
+++ main/branches/prefix/pym/portage/const.py 2009-09-05 10:54:56 UTC (rev 14193) |
23 |
@@ -2,13 +2,14 @@ |
24 |
# Copyright 1998-2009 Gentoo Foundation |
25 |
# Distributed under the terms of the GNU General Public License v2 |
26 |
# $Id$ |
27 |
-import os |
28 |
|
29 |
# =========================================================================== |
30 |
# autotool supplied constants. |
31 |
# =========================================================================== |
32 |
from portage.const_autotool import * |
33 |
|
34 |
+import os |
35 |
+ |
36 |
# save the original prefix |
37 |
BPREFIX = EPREFIX |
38 |
# pick up EPREFIX from the environment if set |
39 |
@@ -21,59 +22,68 @@ |
40 |
|
41 |
EPREFIX_LSTRIP = EPREFIX.lstrip(os.path.sep) |
42 |
|
43 |
-# We have a most confusing situation here, which is most of all pretty |
44 |
-# weak for protecting us from making mistakes. |
45 |
-# First there is a config_root (PORTAGE_CONFIGROOT) which can be a path |
46 |
-# somewhere, from which all paths need to be relative (e.g. |
47 |
-# etc/portage), hence those constants do NOT have EPREFIX, because |
48 |
-# config_root contains EPREFIX by default -- overriding it loses the |
49 |
-# EPREFIX as one would expect. |
50 |
-# Second there is target_root (ROOT) which is to install somewhere |
51 |
+# There are two types of variables here which can easily be confused, |
52 |
+# resulting in arbitrary bugs, mainly exposed with an offset |
53 |
+# installation (Prefix). The two types relate to the usage of |
54 |
+# config_root or target_root. |
55 |
+# The first, config_root (PORTAGE_CONFIGROOT), can be a path somewhere, |
56 |
+# from which all derived paths need to be relative (e.g. |
57 |
+# USER_CONFIG_PATH) without EPREFIX prepended in Prefix. This means |
58 |
+# config_root can for instance be set to "$HOME/my/config". Obviously, |
59 |
+# in such case it is not appropriate to prepend EPREFIX to derived |
60 |
+# constants. The default value of config_root is EPREFIX (in non-Prefix |
61 |
+# the empty string) -- overriding the value loses the EPREFIX as one |
62 |
+# would expect. |
63 |
+# Second there is target_root (ROOT) which is used to install somewhere |
64 |
# completely else, in Prefix of limited use. Because this is an offset |
65 |
# always given, the EPREFIX should always be applied in it. Those |
66 |
-# constants (like VDB_PATH) DO have EPREFIX. |
67 |
-# Unfortunately this file is ordered quite horrible in this respect. |
68 |
+# constants (like VDB_PATH) are always absolute and hence DO have |
69 |
+# EPREFIX prepended in Prefix. |
70 |
+# The variables in this file are grouped by config_root, target_root. |
71 |
|
72 |
-VDB_PATH = EPREFIX_LSTRIP+os.path.sep+"var/db/pkg" |
73 |
+# variables used with config_root (these need to be relative) |
74 |
+MAKE_CONF_FILE = "etc/make.conf" |
75 |
+USER_CONFIG_PATH = "etc/portage" |
76 |
+MODULES_FILE_PATH = USER_CONFIG_PATH + "/modules" |
77 |
+CUSTOM_PROFILE_PATH = USER_CONFIG_PATH + "/profile" |
78 |
+USER_VIRTUALS_FILE = USER_CONFIG_PATH + "/virtuals" |
79 |
+EBUILD_SH_ENV_FILE = USER_CONFIG_PATH + "/bashrc" |
80 |
+CUSTOM_MIRRORS_FILE = USER_CONFIG_PATH + "/mirrors" |
81 |
+COLOR_MAP_FILE = USER_CONFIG_PATH + "/color.map" |
82 |
+PROFILE_PATH = "etc/make.profile" |
83 |
+MAKE_DEFAULTS_FILE = PROFILE_PATH + "/make.defaults" # FIXME: not used |
84 |
+DEPRECATED_PROFILE_FILE = PROFILE_PATH + "/deprecated" |
85 |
+ |
86 |
+# variables used with target_root (these need to be absolute, but not |
87 |
+# have a leading '/' since they are used directly with os.path.join) |
88 |
+VDB_PATH = EPREFIX_LSTRIP + "/" + "var/db/pkg" |
89 |
+CACHE_PATH = EPREFIX_LSTRIP + "/" + "var/cache/edb" |
90 |
+DEPCACHE_PATH = CACHE_PATH + "/dep" # FIXME: does not seem to use ROOT when used |
91 |
PRIVATE_PATH = "var/lib/portage" |
92 |
-CACHE_PATH = EPREFIX+"/var/cache/edb" |
93 |
-DEPCACHE_PATH = CACHE_PATH+"/dep" |
94 |
+WORLD_FILE = PRIVATE_PATH + "/world" |
95 |
+CONFIG_MEMORY_FILE = PRIVATE_PATH + "/config" |
96 |
+NEWS_LIB_PATH = EPREFIX_LSTRIP + "/" + "var/lib/gentoo" |
97 |
|
98 |
-USER_CONFIG_PATH = "etc/portage" |
99 |
-MODULES_FILE_PATH = USER_CONFIG_PATH+"/modules" |
100 |
-CUSTOM_PROFILE_PATH = USER_CONFIG_PATH+"/profile" |
101 |
-GLOBAL_CONFIG_PATH = DATADIR+"/portage/config" |
102 |
- |
103 |
+# these variables are not used with target_root or config_root |
104 |
+GLOBAL_CONFIG_PATH = DATADIR + "/portage/config" |
105 |
PORTAGE_BASE_PATH = PORTAGE_BASE |
106 |
-PORTAGE_BIN_PATH = PORTAGE_BASE_PATH+"/bin" |
107 |
-PORTAGE_PYM_PATH = PORTAGE_BASE_PATH+"/pym" |
108 |
-PORTAGE_PACKAGE_ATOM = "sys-apps/portage" |
109 |
-NEWS_LIB_PATH = EPREFIX+"/var/lib/gentoo" |
110 |
-PROFILE_PATH = "etc/make.profile" |
111 |
-LOCALE_DATA_PATH = PORTAGE_BASE_PATH+"/locale" |
112 |
- |
113 |
-EBUILD_SH_BINARY = PORTAGE_BIN_PATH+"/ebuild.sh" |
114 |
+PORTAGE_BIN_PATH = PORTAGE_BASE_PATH + "/bin" |
115 |
+PORTAGE_PYM_PATH = PORTAGE_BASE_PATH + "/pym" |
116 |
+LOCALE_DATA_PATH = PORTAGE_BASE_PATH + "/locale" # FIXME: not used |
117 |
+EBUILD_SH_BINARY = PORTAGE_BIN_PATH + "/ebuild.sh" |
118 |
MISC_SH_BINARY = PORTAGE_BIN_PATH + "/misc-functions.sh" |
119 |
-SANDBOX_BINARY = BPREFIX+"/usr/bin/sandbox" |
120 |
-FAKEROOT_BINARY = BPREFIX+"/usr/bin/fakeroot" |
121 |
+SANDBOX_BINARY = BPREFIX + "/usr/bin/sandbox" |
122 |
+FAKEROOT_BINARY = BPREFIX + "/usr/bin/fakeroot" |
123 |
BASH_BINARY = PORTAGE_BASH |
124 |
MOVE_BINARY = PORTAGE_MV |
125 |
-PRELINK_BINARY = EPREFIX+"/usr/sbin/prelink" |
126 |
+PRELINK_BINARY = EPREFIX + "/usr/sbin/prelink" |
127 |
|
128 |
-WORLD_FILE = PRIVATE_PATH + "/world" |
129 |
-MAKE_CONF_FILE = "etc/make.conf" |
130 |
-MAKE_DEFAULTS_FILE = PROFILE_PATH + "/make.defaults" |
131 |
-DEPRECATED_PROFILE_FILE = PROFILE_PATH+"/deprecated" |
132 |
-USER_VIRTUALS_FILE = USER_CONFIG_PATH+"/virtuals" |
133 |
-EBUILD_SH_ENV_FILE = USER_CONFIG_PATH+"/bashrc" |
134 |
INVALID_ENV_FILE = "/etc/spork/is/not/valid/profile.env" |
135 |
-CUSTOM_MIRRORS_FILE = USER_CONFIG_PATH+"/mirrors" |
136 |
-CONFIG_MEMORY_FILE = PRIVATE_PATH + "/config" |
137 |
-COLOR_MAP_FILE = USER_CONFIG_PATH + "/color.map" |
138 |
- |
139 |
REPO_NAME_FILE = "repo_name" |
140 |
REPO_NAME_LOC = "profiles" + "/" + REPO_NAME_FILE |
141 |
|
142 |
+PORTAGE_PACKAGE_ATOM = "sys-apps/portage" |
143 |
+ |
144 |
INCREMENTALS = ["USE", "USE_EXPAND", "USE_EXPAND_HIDDEN", |
145 |
"FEATURES", "ACCEPT_KEYWORDS", |
146 |
"CONFIG_PROTECT_MASK", "CONFIG_PROTECT", |
147 |
@@ -87,13 +97,13 @@ |
148 |
EAPI = 2 |
149 |
|
150 |
HASHING_BLOCKSIZE = 32768 |
151 |
-MANIFEST1_HASH_FUNCTIONS = ["MD5","SHA256","RMD160"] |
152 |
-MANIFEST2_HASH_FUNCTIONS = ["SHA1","SHA256","RMD160"] |
153 |
+MANIFEST1_HASH_FUNCTIONS = ["MD5", "SHA256", "RMD160"] |
154 |
+MANIFEST2_HASH_FUNCTIONS = ["SHA1", "SHA256", "RMD160"] |
155 |
|
156 |
MANIFEST1_REQUIRED_HASH = "MD5" |
157 |
MANIFEST2_REQUIRED_HASH = "SHA1" |
158 |
|
159 |
-MANIFEST2_IDENTIFIERS = ["AUX","MISC","DIST","EBUILD"] |
160 |
+MANIFEST2_IDENTIFIERS = ["AUX", "MISC", "DIST", "EBUILD"] |
161 |
# =========================================================================== |
162 |
# END OF CONSTANTS -- END OF CONSTANTS -- END OF CONSTANTS -- END OF CONSTANT |
163 |
# =========================================================================== |