Gentoo Archives: gentoo-commits

From: Thomas Sachau <tommy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:multilib commit in: /
Date: Sun, 28 Feb 2016 12:37:08
Message-Id: 1456662420.4b760f60a70b9af4dce6c894226ebe72485f5495.tommy@gentoo
1 commit: 4b760f60a70b9af4dce6c894226ebe72485f5495
2 Author: Thomas Sachau <tommy <AT> gentoo <DOT> org>
3 AuthorDate: Sun Feb 28 12:27:00 2016 +0000
4 Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org>
5 CommitDate: Sun Feb 28 12:27:00 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=4b760f60
7
8 merge v2.2.25
9
10 NEWS | 5 ++
11 RELEASE-NOTES | 13 +++
12 bin/eapi.sh | 8 ++
13 bin/ebuild.sh | 43 ++++++++++
14 bin/egencache | 125 ++++++++++++++++-----------
15 bin/install-qa-check.d/60openrc | 2 +-
16 bin/phase-helpers.sh | 78 ++++++++++++-----
17 bin/save-ebuild-env.sh | 9 +-
18 man/portage.5 | 7 +-
19 misc/emerge-delta-webrsync | 2 +-
20 pym/_emerge/actions.py | 3 +
21 pym/_emerge/main.py | 15 +++-
22 pym/portage/const.py | 2 +-
23 pym/portage/eapi.py | 11 ++-
24 pym/portage/emaint/modules/sync/sync.py | 57 +++++++++++--
25 pym/portage/package/ebuild/config.py | 16 ++++
26 pym/portage/repository/config.py | 6 +-
27 pym/portage/sync/controller.py | 18 ++--
28 pym/portage/sync/modules/git/git.py | 11 ++-
29 pym/portage/sync/modules/rsync/rsync.py | 17 ++--
30 pym/portage/util/_async/AsyncFunction.py | 5 +-
31 pym/portage/util/locale.py | 141 +++++++++++++++++++++++++++++++
32 pym/repoman/checks/ebuilds/checks.py | 7 +-
33 pym/repoman/vcs/vcs.py | 20 +++--
34 setup.py | 2 +-
35 25 files changed, 513 insertions(+), 110 deletions(-)
36
37 diff --cc bin/ebuild.sh
38 index 9d83477,4319a17..0dd971b
39 --- a/bin/ebuild.sh
40 +++ b/bin/ebuild.sh
41 @@@ -6,12 -6,50 +6,54 @@@
42 # Make sure it's before everything so we don't mess aliases that follow.
43 unalias -a
44
45 + # Make sure this isn't exported to scripts we execute.
46 + unset BASH_COMPAT
47 +
48 source "${PORTAGE_BIN_PATH}/isolated-functions.sh" || exit 1
49
50 +if [[ " ${FEATURES} " == *" force-multilib "* ]]; then
51 + source "${PORTAGE_BIN_PATH}/auto-multilib.sh" || exit 1
52 +fi
53 +
54 + # Set up the bash version compatibility level. This does not disable
55 + # features when running with a newer version, but makes it so that when
56 + # bash changes behavior in an incompatible way, the older behavior is
57 + # used instead.
58 + __check_bash_version() {
59 + # Figure out which min version of bash we require.
60 + local maj min
61 + if ___eapi_bash_3_2 ; then
62 + maj=3 min=2
63 + elif ___eapi_bash_4_2 ; then
64 + maj=4 min=2
65 + else
66 + return
67 + fi
68 +
69 + # Make sure the active bash is sane.
70 + if [[ ${BASH_VERSINFO[0]} -lt ${maj} ]] ||
71 + [[ ${BASH_VERSINFO[0]} -eq ${maj} && ${BASH_VERSINFO[1]} -lt ${min} ]] ; then
72 + die ">=bash-${maj}.${min} is required"
73 + fi
74 +
75 + # Set the compat level in case things change with newer ones. We must not
76 + # export this into the env otherwise we might break other shell scripts we
77 + # execute (e.g. ones in /usr/bin).
78 + BASH_COMPAT="${maj}.${min}"
79 +
80 + # The variable above is new to bash-4.3. For older versions, we have to use
81 + # a compat knob. Further, the compat knob only exists with older versions
82 + # (e.g. bash-4.3 has compat42 but not compat43). This means we only need to
83 + # turn the knob with older EAPIs, and only when running newer bash versions:
84 + # there is no bash-3.3 (it went 3.2 to 4.0), and when requiring bash-4.2, the
85 + # var works with bash-4.3+, and you don't need to set compat to 4.2 when you
86 + # are already running 4.2.
87 + if ___eapi_bash_3_2 && [[ ${BASH_VERSINFO[0]} -gt 3 ]] ; then
88 + shopt -s compat32
89 + fi
90 + }
91 + __check_bash_version
92 +
93 if [[ $EBUILD_PHASE != depend ]] ; then
94 source "${PORTAGE_BIN_PATH}/phase-functions.sh" || die
95 source "${PORTAGE_BIN_PATH}/save-ebuild-env.sh" || die