Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:prefix commit in: /
Date: Sun, 02 Dec 2012 13:00:02
Message-Id: 1354453141.6f702fe9d6af3e8f58cb7850472df69fc870d6df.grobian@gentoo
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: