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