Gentoo Archives: gentoo-commits

From: Thomas Sachau <tommy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:multilib commit in: pym/portage/package/ebuild/, bin/, pym/_emerge/
Date: Tue, 01 May 2012 14:14:53
Message-Id: 1335881797.e4127765b5b4cc90d1c459c984860e2f5d4acc96.tommy@gentoo
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')