Gentoo Archives: gentoo-commits

From: "Fabian Groffen (grobian)" <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r14193 - main/branches/prefix/pym/portage
Date: Sat, 05 Sep 2009 10:55:01
Message-Id: E1Mjsv2-0005sW-WD@stork.gentoo.org
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 # ===========================================================================