commit:     6a8389a3a9f6af80bbb4108d5bb6f4b847b44577
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 12 20:22:45 2014 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Fri Dec 12 20:22:45 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6a8389a3

Merge tag 'v2.2.15' into multilib

Portage-2.2.15 release


 RELEASE-NOTES                                      |  52 +++
 bin/bashrc-functions.sh                            |   7 +-
 bin/dispatch-conf                                  |  63 ++--
 bin/ebuild                                         |   6 +-
 bin/ebuild.sh                                      |  85 +++--
 bin/etc-update                                     | 164 +++++++++-
 bin/install-qa-check.d/05double-D                  |   9 +-
 bin/install-qa-check.d/90world-writable            |  27 +-
 bin/install.py                                     |   2 +-
 bin/isolated-functions.sh                          |  68 ++++
 bin/misc-functions.sh                              |  71 ++--
 bin/phase-functions.sh                             |   2 +-
 bin/portageq                                       |  14 +-
 bin/quickpkg                                       |   4 +-
 bin/save-ebuild-env.sh                             |   4 +-
 cnf/make.globals                                   |   3 +-
 man/ebuild.5                                       |   7 +-
 man/emerge.1                                       |  28 +-
 man/make.conf.5                                    |   6 +
 man/portage.5                                      |  30 +-
 pym/_emerge/Package.py                             |  18 +-
 pym/_emerge/actions.py                             | 103 +++++-
 pym/_emerge/create_depgraph_params.py              |   5 +
 pym/_emerge/depgraph.py                            | 232 ++++++++++---
 pym/_emerge/main.py                                |  13 +-
 pym/_emerge/sync/old_tree_timestamp.py             |   5 +-
 pym/_emerge/unmerge.py                             |  42 ++-
 pym/portage/__init__.py                            |  27 ++
 pym/portage/_global_updates.py                     |   4 +-
 pym/portage/_selinux.py                            |  14 +-
 pym/portage/cache/fs_template.py                   |  25 +-
 pym/portage/const.py                               |   2 +
 pym/portage/data.py                                | 134 ++++++--
 .../dbapi/_ContentsCaseSensitivityManager.py       |  93 ++++++
 pym/portage/dbapi/bintree.py                       |  28 ++
 pym/portage/dbapi/vartree.py                       | 361 ++++++++++++---------
 pym/portage/dep/dep_check.py                       |  53 ++-
 pym/portage/dispatch_conf.py                       | 157 +++++++--
 pym/portage/exception.py                           |   1 +
 pym/portage/locks.py                               |   9 +-
 pym/portage/news.py                                |   9 +-
 .../package/ebuild/_config/LocationsManager.py     |  11 +-
 .../package/ebuild/_config/special_env_vars.py     |   4 +-
 pym/portage/package/ebuild/config.py               | 110 +++++--
 pym/portage/package/ebuild/doebuild.py             |  24 +-
 pym/portage/package/ebuild/prepare_build_dirs.py   |   9 +-
 pym/portage/repository/config.py                   |   2 +-
 pym/portage/tests/__init__.py                      |   4 +-
 .../tests/ebuild/test_use_expand_incremental.py    | 132 ++++++++
 pym/portage/tests/emerge/test_config_protect.py    | 292 +++++++++++++++++
 pym/portage/tests/emerge/test_simple.py            |  10 +-
 pym/portage/tests/resolver/ResolverPlayground.py   |  10 +
 .../tests/resolver/test_onlydeps_circular.py       |  51 +++
 pym/portage/tests/resolver/test_or_choices.py      |  59 +++-
 ..._slot_operator_update_probe_parent_downgrade.py |  68 ++++
 pym/portage/tests/resolver/test_virtual_slot.py    |  75 +++++
 pym/portage/tests/resolver/test_with_test_deps.py  |  44 +++
 pym/portage/update.py                              |   6 +-
 pym/portage/util/__init__.py                       |  49 ++-
 pym/portage/util/movefile.py                       |   2 +-
 pym/portage/util/path.py                           |  48 +++
 pym/portage/util/writeable_check.py                |   2 +-
 setup.py                                           |  25 +-
 63 files changed, 2524 insertions(+), 500 deletions(-)

diff --cc bin/misc-functions.sh
index 416e2bf,e08c228..22ab339
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@@ -170,18 -168,21 +170,22 @@@ install_qa_check() 
                local EPREFIX= ED=${D}
        fi
  
 +      [[ -d "${ED}" ]] || return 0
        cd "${ED}" || die "cd failed"
  
-       # Run QA checks from install-qa-check.d.
-       # Note: checks need to be run *before* stripping.
-       local f
-       # TODO: handle nullglob-like
-       for f in "${PORTAGE_BIN_PATH}"/install-qa-check.d/*; do
-               # Run in a subshell to treat it like external script,
-               # but use 'source' to pass all variables through.
-               (
-                       source "${f}" || eerror "Post-install QA check ${f##*/} 
failed to run"
+       # Collect the paths for QA checks, highest prio first.
+       paths=(
+               # sysadmin overrides
+               "${PORTAGE_OVERRIDE_EPREFIX}"/usr/local/lib/install-qa-check.d
+               # system-wide package installs
+               "${PORTAGE_OVERRIDE_EPREFIX}"/usr/lib/install-qa-check.d
+       )
+ 
+       # Now repo-specific checks.
+       # (yes, PORTAGE_ECLASS_LOCATIONS contains repo paths...)
+       for d in "${PORTAGE_ECLASS_LOCATIONS[@]}"; do
+               paths+=(
+                       "${d}"/metadata/install-qa-check.d
                )
        done
  
diff --cc pym/portage/package/ebuild/config.py
index a7e8bd6,59e239b..f9603e7
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@@ -880,13 -915,8 +915,15 @@@ class config(object)
                        # initialize self.features
                        self.regenerate()
  
 +                      if 'force-multilib' in self.features:
 +                              #add multilib_abi internally to list of 
USE_EXPANDed vars
 +                              self["USE_EXPAND"] = "MULTILIB_ABI" + " " + 
self.get("USE_EXPAND", "")
 +                              self.backup_changes("USE_EXPAND")
 +                              default_abi = 
self.configdict["defaults"].get('DEFAULT_ABI', '').strip()
 +                              if default_abi:
 +                                      self.configdict["defaults"]["USE"] = 
self.configdict["defaults"].get("USE", "") + " multilib_abi_" + default_abi
+                       if unprivileged:
+                               self.features.add('unprivileged')
  
                        if bsd_chflags:
                                self.features.add('chflags')

Reply via email to