1 |
commit: e4127765b5b4cc90d1c459c984860e2f5d4acc96 |
2 |
Author: Thomas Sachau <tommy <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue May 1 14:16:37 2012 +0000 |
4 |
Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue May 1 14:16:37 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=e4127765 |
7 |
|
8 |
Only add the USE flag internally for the current ebuild, not for already built packages, move change of IUSE file from phase-functions.sh to doebuild.py, so the later doesnt overwrite it |
9 |
|
10 |
--- |
11 |
bin/phase-functions.sh | 11 ++++------- |
12 |
pym/_emerge/Package.py | 7 ++++--- |
13 |
pym/portage/package/ebuild/doebuild.py | 4 ++++ |
14 |
3 files changed, 12 insertions(+), 10 deletions(-) |
15 |
|
16 |
diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh |
17 |
index 7307b76..43e5ef8 100644 |
18 |
--- a/bin/phase-functions.sh |
19 |
+++ b/bin/phase-functions.sh |
20 |
@@ -709,13 +709,10 @@ dyn_install() { |
21 |
done |
22 |
fi |
23 |
if [[ " ${FEATURES} " == *" force-multilib "* ]]; then |
24 |
- if has_multilib_profile ; then |
25 |
- local i= x= |
26 |
- for i in ${MULTILIB_ABIS} ; do |
27 |
- x+=" multilib_abi_${i}" |
28 |
- done |
29 |
- echo "${IUSE}${x}" > IUSE |
30 |
- fi |
31 |
+ #IUSE is changed in _post_src_install_chost_fix |
32 |
+ #in pym/portage/package/ebuild/doebuild.py |
33 |
+ #which is run after dyn_install, so useless to |
34 |
+ #add internal USE flags here |
35 |
if is_auto-multilib; then |
36 |
echo "$(get_abi_order)" > MULTILIB_ABIS |
37 |
fi |
38 |
|
39 |
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py |
40 |
index 0a09fa5..fbd320a 100644 |
41 |
--- a/pym/_emerge/Package.py |
42 |
+++ b/pym/_emerge/Package.py |
43 |
@@ -639,9 +639,10 @@ class _PackageMetadataWrapper(_PackageMetadataWrapperBase): |
44 |
|
45 |
def _set_iuse(self, k, v): |
46 |
if 'force-multilib' in self._pkg.root_config.settings.get("FEATURES", ''): |
47 |
- for multilib_abis in self._pkg.root_config.settings.get("MULTILIB_ABIS", '').split(' '): |
48 |
- v = v + " multilib_abi_" + multilib_abis |
49 |
- v = v + " abiwrapper" |
50 |
+ if self._pkg.built is False: |
51 |
+ for multilib_abis in self._pkg.root_config.settings.get("MULTILIB_ABIS", '').split(' '): |
52 |
+ v = v + " multilib_abi_" + multilib_abis |
53 |
+ v = v + " abiwrapper" |
54 |
self._pkg.iuse = self._pkg._iuse( |
55 |
v.split(), self._pkg.root_config.settings._iuse_implicit_match) |
56 |
|
57 |
|
58 |
diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py |
59 |
index da30bda..3c57d8d 100644 |
60 |
--- a/pym/portage/package/ebuild/doebuild.py |
61 |
+++ b/pym/portage/package/ebuild/doebuild.py |
62 |
@@ -1654,6 +1654,10 @@ def _post_src_install_chost_fix(settings): |
63 |
|
64 |
for k in ('IUSE',): |
65 |
v = settings.get(k) |
66 |
+ if "force-multilib" in settings.get('FEATURES'): |
67 |
+ v = v + " abiwrapper" |
68 |
+ for i in settings.get('MULTILIB_ABIS').split(' '): |
69 |
+ v = v + " multilib_abi_" + i |
70 |
if v is not None: |
71 |
write_atomic(os.path.join(build_info_dir, k), v + '\n') |