1 |
commit: 6f702fe9d6af3e8f58cb7850472df69fc870d6df |
2 |
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Dec 2 12:59:01 2012 +0000 |
4 |
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Dec 2 12:59:01 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6f702fe9 |
7 |
|
8 |
Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix |
9 |
|
10 |
|
11 |
bin/archive-conf | 2 +- |
12 |
bin/eapi.sh | 8 + |
13 |
bin/ebuild-helpers/dodoc | 2 +- |
14 |
bin/ebuild-helpers/doinfo | 2 +- |
15 |
bin/ebuild-helpers/prepman | 2 +- |
16 |
bin/ebuild-helpers/prepstrip | 78 +++++--- |
17 |
bin/ebuild.sh | 3 +- |
18 |
bin/egencache | 2 +- |
19 |
bin/emerge-webrsync | 9 +- |
20 |
bin/glsa-check | 14 +- |
21 |
bin/misc-functions.sh | 21 +- |
22 |
bin/phase-functions.sh | 3 +- |
23 |
bin/phase-helpers.sh | 28 ++- |
24 |
bin/repoman | 61 ++++-- |
25 |
bin/save-ebuild-env.sh | 2 + |
26 |
cnf/make.globals | 2 +- |
27 |
doc/package/ebuild/eapi/4-python.docbook | 36 ++++ |
28 |
doc/package/ebuild/eapi/5-progress.docbook | 78 +++++++ |
29 |
man/egencache.1 | 28 ++- |
30 |
man/emerge.1 | 11 +- |
31 |
man/portage.5 | 8 +- |
32 |
misc/emerge-delta-webrsync | 9 +- |
33 |
pym/_emerge/AbstractEbuildProcess.py | 4 +- |
34 |
pym/_emerge/AsynchronousLock.py | 1 + |
35 |
pym/_emerge/BlockerDB.py | 7 +- |
36 |
pym/_emerge/EbuildBuild.py | 4 +- |
37 |
pym/_emerge/EbuildBuildDir.py | 4 +- |
38 |
pym/_emerge/EbuildExecuter.py | 2 +- |
39 |
pym/_emerge/EbuildMetadataPhase.py | 9 + |
40 |
pym/_emerge/FakeVartree.py | 32 ++-- |
41 |
pym/_emerge/Package.py | 150 ++++++++++---- |
42 |
pym/_emerge/PackageVirtualDbapi.py | 4 +- |
43 |
pym/_emerge/Scheduler.py | 32 ++-- |
44 |
pym/_emerge/actions.py | 122 ++++++++---- |
45 |
pym/_emerge/depgraph.py | 213 ++++++++------------ |
46 |
pym/_emerge/main.py | 10 + |
47 |
pym/_emerge/resolver/circular_dependency.py | 14 +- |
48 |
pym/_emerge/resolver/output.py | 14 +- |
49 |
pym/_emerge/resolver/slot_collision.py | 7 +- |
50 |
pym/portage/__init__.py | 1 + |
51 |
pym/portage/_sets/base.py | 4 +- |
52 |
pym/portage/cache/flat_hash.py | 10 +- |
53 |
pym/portage/dbapi/__init__.py | 19 ++- |
54 |
pym/portage/dbapi/_similar_name_search.py | 57 ++++++ |
55 |
pym/portage/dbapi/bintree.py | 2 +- |
56 |
pym/portage/dbapi/porttree.py | 7 + |
57 |
pym/portage/dbapi/vartree.py | 7 +- |
58 |
pym/portage/dep/__init__.py | 67 ++++++- |
59 |
pym/portage/dep/_slot_operator.py | 4 +- |
60 |
pym/portage/dep/dep_check.py | 4 +- |
61 |
pym/portage/eapi.py | 6 + |
62 |
pym/portage/elog/mod_save.py | 24 ++- |
63 |
pym/portage/elog/mod_save_summary.py | 21 ++- |
64 |
pym/portage/emaint/modules/move/move.py | 22 ++- |
65 |
pym/portage/package/ebuild/_config/UseManager.py | 119 +++++++++++- |
66 |
.../package/ebuild/_config/special_env_vars.py | 7 +- |
67 |
.../package/ebuild/_config/unpack_dependencies.py | 38 ++++ |
68 |
pym/portage/package/ebuild/_spawn_nofetch.py | 2 +- |
69 |
pym/portage/package/ebuild/config.py | 5 +- |
70 |
pym/portage/package/ebuild/doebuild.py | 38 +++- |
71 |
pym/portage/package/ebuild/getmaskingstatus.py | 2 +- |
72 |
pym/portage/repository/config.py | 13 +- |
73 |
pym/portage/tests/dbapi/test_portdb_cache.py | 16 +- |
74 |
pym/portage/tests/emerge/test_simple.py | 2 +- |
75 |
pym/portage/tests/repoman/test_simple.py | 2 +- |
76 |
pym/portage/tests/resolver/ResolverPlayground.py | 17 +- |
77 |
.../resolver/test_depclean_slot_unavailable.py | 79 +++++++ |
78 |
.../tests/resolver/test_unpack_dependencies.py | 65 ++++++ |
79 |
pym/portage/tests/resolver/test_use_aliases.py | 131 ++++++++++++ |
80 |
pym/portage/tests/update/test_update_dbentry.py | 45 ++++ |
81 |
pym/portage/update.py | 32 +++- |
82 |
pym/portage/util/_desktop_entry.py | 1 + |
83 |
pym/portage/util/_eventloop/EventLoop.py | 27 ++- |
84 |
pym/portage/util/movefile.py | 15 +- |
85 |
pym/repoman/checks.py | 39 ++--- |
86 |
75 files changed, 1482 insertions(+), 506 deletions(-) |
87 |
|
88 |
diff --cc bin/misc-functions.sh |
89 |
index c30c7e0,6f84526..3684d7c |
90 |
mode 100644,100755..100644 |
91 |
--- a/bin/misc-functions.sh |
92 |
+++ b/bin/misc-functions.sh |
93 |
diff --cc cnf/make.globals |
94 |
index 9739fc1,80a68f7..6db019b |
95 |
--- a/cnf/make.globals |
96 |
+++ b/cnf/make.globals |
97 |
@@@ -63,15 -63,9 +63,15 @@@ FEATURES="assume-digests binpkg-log |
98 |
# Ignore file collisions for unowned *.pyo and *.pyc files, this helps during |
99 |
# transition from compiling python modules in live file system to compiling |
100 |
# them in src_install() function. |
101 |
- COLLISION_IGNORE="/lib/modules/* *.py[co]" |
102 |
+ COLLISION_IGNORE="/lib/modules/* *.py[co] *\$py.class" |
103 |
UNINSTALL_IGNORE="/lib/modules/*" |
104 |
|
105 |
+# Prefix: we want preserve-libs, not sure how mainline goes about this |
106 |
+FEATURES="${FEATURES} preserve-libs" |
107 |
+ |
108 |
+# Force EPREFIX, ED and EROOT to exist in all EAPIs, not just 3 and up |
109 |
+FEATURES="${FEATURES} force-prefix" |
110 |
+ |
111 |
# By default wait 5 secs before cleaning a package |
112 |
CLEAN_DELAY="5" |
113 |
|
114 |
diff --cc pym/_emerge/Package.py |
115 |
index 315811c,86ed5f7..3ac1c33 |
116 |
--- a/pym/_emerge/Package.py |
117 |
+++ b/pym/_emerge/Package.py |
118 |
@@@ -296,16 -326,9 +327,16 @@@ class Package(Task) |
119 |
if missing_keywords: |
120 |
masks['KEYWORDS'] = missing_keywords |
121 |
|
122 |
+ if self.built and not self.installed: |
123 |
+ # we can have an old binary which has no EPREFIX information |
124 |
+ if "EPREFIX" not in self.metadata: |
125 |
+ masks['EPREFIX.missing'] = '' |
126 |
+ if len(self.metadata["EPREFIX"].strip()) < len(EPREFIX): |
127 |
+ masks['EPREFIX.tooshort'] = self.metadata["EPREFIX"].strip() |
128 |
+ |
129 |
try: |
130 |
missing_properties = settings._getMissingProperties( |
131 |
- self.cpv, self.metadata) |
132 |
+ self.cpv, self._metadata) |
133 |
if missing_properties: |
134 |
masks['PROPERTIES'] = missing_properties |
135 |
except InvalidDependString: |
136 |
diff --cc pym/_emerge/depgraph.py |
137 |
index 58a4893,65a94ab..88d95ae |
138 |
--- a/pym/_emerge/depgraph.py |
139 |
+++ b/pym/_emerge/depgraph.py |
140 |
@@@ -7647,16 -7604,10 +7604,16 @@@ def _get_masking_status(pkg, pkgsetting |
141 |
portdb=root_config.trees["porttree"].dbapi, myrepo=myrepo) |
142 |
|
143 |
if not pkg.installed: |
144 |
- if not pkgsettings._accept_chost(pkg.cpv, pkg.metadata): |
145 |
+ if not pkgsettings._accept_chost(pkg.cpv, pkg._metadata): |
146 |
mreasons.append(_MaskReason("CHOST", "CHOST: %s" % \ |
147 |
- pkg.metadata["CHOST"])) |
148 |
+ pkg._metadata["CHOST"])) |
149 |
|
150 |
+ if pkg.built and not pkg.installed: |
151 |
+ if not "EPREFIX" in pkg.metadata: |
152 |
+ mreasons.append(_MaskReason("EPREFIX", "missing EPREFIX")) |
153 |
+ elif len(pkg.metadata["EPREFIX"].strip()) < len(pkgsettings["EPREFIX"]): |
154 |
+ mreasons.append(_MaskReason("EPREFIX", "EPREFIX: '%s' too small" % pkg.metadata["EPREFIX"])) |
155 |
+ |
156 |
if pkg.invalid: |
157 |
for msgs in pkg.invalid.values(): |
158 |
for msg in msgs: |