commit:     3fc0447f6d36cad9d168c40dad680dbe0876cf38
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  4 19:46:28 2015 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Jun  4 19:46:28 2015 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=3fc0447f

Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix

 NEWS                                             |  15 ++
 RELEASE-NOTES                                    |  59 ++++++
 bin/ebuild-helpers/bsd/sed                       |   4 +-
 bin/ebuild-helpers/doconfd                       |   5 +-
 bin/ebuild-helpers/dodoc                         |   5 +-
 bin/ebuild-helpers/doenvd                        |   5 +-
 bin/ebuild-helpers/doheader                      |   5 +-
 bin/ebuild-helpers/doinitd                       |   5 +-
 bin/ebuild-helpers/dolib.a                       |   3 +-
 bin/ebuild-helpers/dolib.so                      |   3 +-
 bin/ebuild-helpers/emake                         |  27 +--
 bin/ebuild-helpers/portageq                      |   4 +-
 bin/ebuild-helpers/unprivileged/chown            |   4 +-
 bin/ebuild-helpers/xattr/install                 |  14 +-
 bin/ebuild.sh                                    |  10 +-
 bin/egencache                                    |  17 +-
 bin/emerge-webrsync                              |   4 +-
 bin/install-qa-check.d/10executable-issues       | 242 ++++++++++++-----------
 bin/install-qa-check.d/80libraries               | 130 ++++++------
 bin/install-qa-check.d/90gcc-warnings            |   2 +-
 bin/misc-functions.sh                            |  15 +-
 bin/phase-functions.sh                           |   9 +-
 bin/phase-helpers.sh                             |   2 +-
 bin/portageq                                     |  18 +-
 bin/quickpkg                                     |  16 +-
 bin/repoman                                      |  39 ++--
 cnf/make.conf.example                            |   6 +-
 cnf/make.globals                                 |   6 +-
 cnf/repos.conf                                   |   4 +
 man/ebuild.5                                     |  22 ++-
 man/egencache.1                                  |   2 +-
 man/emaint.1                                     |   4 +-
 man/make.conf.5                                  |   8 +-
 man/repoman.1                                    |   7 +-
 pym/_emerge/BinpkgExtractorAsync.py              |   5 +-
 pym/_emerge/EbuildMerge.py                       |   3 +-
 pym/_emerge/JobStatusDisplay.py                  |   4 +-
 pym/_emerge/PackageMerge.py                      |   9 +-
 pym/_emerge/Scheduler.py                         |  20 +-
 pym/_emerge/actions.py                           |   5 +-
 pym/_emerge/search.py                            |  24 ++-
 pym/portage/_emirrordist/Config.py               |   6 +-
 pym/portage/_emirrordist/MirrorDistTask.py       |   4 +-
 pym/portage/checksum.py                          |   2 +-
 pym/portage/const.py                             |   3 +
 pym/portage/dbapi/_MergeProcess.py               |   9 +-
 pym/portage/dbapi/_VdbMetadataDelta.py           |  25 ++-
 pym/portage/dbapi/bintree.py                     |  15 +-
 pym/portage/dbapi/vartree.py                     |  73 +++++--
 pym/portage/dep/soname/multilib_category.py      |   2 +-
 pym/portage/dispatch_conf.py                     |  97 +++++++--
 pym/portage/output.py                            |   4 +-
 pym/portage/package/ebuild/_config/UseManager.py |   8 +-
 pym/portage/package/ebuild/doebuild.py           |  22 ++-
 pym/portage/package/ebuild/fetch.py              |   7 +-
 pym/portage/repository/config.py                 |  15 +-
 pym/portage/sync/controller.py                   |   9 +-
 pym/portage/sync/modules/rsync/rsync.py          |  13 +-
 pym/portage/sync/modules/webrsync/__init__.py    |   4 +-
 pym/portage/sync/modules/webrsync/webrsync.py    |   4 +
 pym/portage/util/__init__.py                     |  24 ++-
 pym/portage/util/_dyn_libs/LinkageMapELF.py      |   5 +-
 pym/portage/util/formatter.py                    |  69 +++++++
 pym/portage/util/writeable_check.py              |  24 ++-
 pym/portage/util/xattr.py                        |  20 ++
 pym/repoman/utilities.py                         |   8 +-
 setup.py                                         |   2 +-
 67 files changed, 888 insertions(+), 377 deletions(-)

diff --cc bin/ebuild-helpers/bsd/sed
index 89f9ec6,9a7f2d4..0be2737
--- a/bin/ebuild-helpers/bsd/sed
+++ b/bin/ebuild-helpers/bsd/sed
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 2007-2012 Gentoo Foundation
+ # Copyright 2007-2015 Gentoo Foundation
  # Distributed under the terms of the GNU General Public License v2
  
  scriptpath=${BASH_SOURCE[0]}
diff --cc bin/ebuild-helpers/dodoc
index 1b508df,6ccf0a4..20f15bb
--- a/bin/ebuild-helpers/dodoc
+++ b/bin/ebuild-helpers/dodoc
@@@ -2,13 -2,10 +2,10 @@@
  # Copyright 1999-2012 Gentoo Foundation
  # Distributed under the terms of the GNU General Public License v2
  
 -source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh
 +source "${PORTAGE_BIN_PATH:-@PORTAGE_BASE@/bin}"/isolated-functions.sh
  
  if ___eapi_dodoc_supports_-r; then
-       exec \
-       env \
-       __PORTAGE_HELPER="dodoc" \
-       doins "$@"
+       __PORTAGE_HELPER='dodoc' exec doins "$@"
  fi
  
  if [ $# -lt 1 ] ; then
diff --cc bin/ebuild-helpers/emake
index dcb64a3,2a3c2f0..4b98aec
--- a/bin/ebuild-helpers/emake
+++ b/bin/ebuild-helpers/emake
@@@ -1,19 -1,23 +1,22 @@@
 -#!/bin/bash
 -# Copyright 1999-2015 Gentoo Foundation
 +#!@PORTAGE_BASH@
- # Copyright 1999-2010 Gentoo Foundation
  # Distributed under the terms of the GNU General Public License v2
  #
- # emake: Supplies some default parameters to GNU make. At the moment the
- #        only parameter supplied is -jN, where N is a number of
- #        parallel processes that should be ideal for the running host
- #        (e.g. on a single-CPU machine, N=2).  The MAKEOPTS variable
- #        is set in make.globals. We don't source make.globals
- #        here because emake is only called from an ebuild.
+ # emake: Run make and automatically pass along flags set in the env.  We 
support
+ # MAKEOPTS & EXTRA_EMAKE which allows the user to customize behavior (such as
+ # parallel builds and load limiting).  The latter overrides the ebuild and 
thus
+ # should be used with caution (more a debugging knob).
+ #
+ # With newer EAPIs, we also automatically fail the build if make itself fails.
  
 -source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh
 +source "${PORTAGE_BIN_PATH:-@PORTAGE_BASE@/bin}"/isolated-functions.sh
  
- if [[ $PORTAGE_QUIET != 1 ]] ; then
+ cmd=(
 -      ${MAKE:-make} ${MAKEOPTS} "$@" ${EXTRA_EMAKE}
++      ${MAKE:-make} SHELL="${BASH:-/bin/bash}" ${MAKEOPTS} "$@" ${EXTRA_EMAKE}
+ )
+ 
+ if [[ ${PORTAGE_QUIET} != 1 ]] ; then
        (
-       for arg in ${MAKE:-make} $MAKEOPTS "$@" $EXTRA_EMAKE ; do
+       for arg in "${cmd[@]}" ; do
                [[ ${arg} == *" "* ]] \
                        && printf "'%s' " "${arg}" \
                        || printf "%s " "${arg}"
diff --cc bin/ebuild-helpers/portageq
index 935f548,ba889eb..4f3e4e5
--- a/bin/ebuild-helpers/portageq
+++ b/bin/ebuild-helpers/portageq
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 2009-2013 Gentoo Foundation
+ # Copyright 2009-2015 Gentoo Foundation
  # Distributed under the terms of the GNU General Public License v2
  
  scriptpath=${BASH_SOURCE[0]}
@@@ -15,9 -15,11 +15,11 @@@ set -f # in case ${PATH} contains any s
  
  for path in ${PATH}; do
        [[ -x ${path}/${scriptname} ]] || continue
+       [[ ${path} == ${PORTAGE_OVERRIDE_EPREFIX}/usr/lib*/portage/* ]] && 
continue
+       [[ ${path} == */._portage_reinstall_.* ]] && continue
        [[ ${path}/${scriptname} -ef ${scriptpath} ]] && continue
        PYTHONPATH=${PORTAGE_PYTHONPATH:-${PORTAGE_PYM_PATH}} \
 -              exec "${PORTAGE_PYTHON:-/usr/bin/python}" \
 +              exec "${PORTAGE_PYTHON:-@PREFIX_PORTAGE_PYTHON@}" \
                        "${path}/${scriptname}" "$@"
  done
  
diff --cc bin/ebuild-helpers/unprivileged/chown
index 86b87c2,2f1f161..4705bca
--- a/bin/ebuild-helpers/unprivileged/chown
+++ b/bin/ebuild-helpers/unprivileged/chown
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 2012-2013 Gentoo Foundation
+ # Copyright 2012-2015 Gentoo Foundation
  # Distributed under the terms of the GNU General Public License v2
  
  scriptpath=${BASH_SOURCE[0]}
diff --cc bin/ebuild-helpers/xattr/install
index 233459f,2d2a693..bc1bab9
--- a/bin/ebuild-helpers/xattr/install
+++ b/bin/ebuild-helpers/xattr/install
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 2013 Gentoo Foundation
+ # Copyright 2013-2015 Gentoo Foundation
  # Distributed under the terms of the GNU General Public License v2
  
  PORTAGE_BIN_PATH=${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}
diff --cc bin/ebuild.sh
index 8d1b947,4e26f87..8a815ab
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@@ -1,9 -1,9 +1,9 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2013 Gentoo Foundation
+ # Copyright 1999-2015 Gentoo Foundation
  # Distributed under the terms of the GNU General Public License v2
  
 -PORTAGE_BIN_PATH="${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"
 -PORTAGE_PYM_PATH="${PORTAGE_PYM_PATH:-/usr/lib/portage/pym}"
 +PORTAGE_BIN_PATH="${PORTAGE_BIN_PATH:-@PORTAGE_BASE@/bin}"
 +PORTAGE_PYM_PATH="${PORTAGE_PYM_PATH:-@PORTAGE_BASE@/pym}"
  
  # Prevent aliases from causing portage to act inappropriately.
  # Make sure it's before everything so we don't mess aliases that follow.
diff --cc bin/misc-functions.sh
index 4928575,24941af..a8a07f4
mode 100644,100755..100644
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
diff --cc bin/phase-functions.sh
index f447fca,7bf4d63..013cc43
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2013 Gentoo Foundation
+ # Copyright 1999-2015 Gentoo Foundation
  # Distributed under the terms of the GNU General Public License v2
  
  # Hardcoded bash lists are needed for backward compatibility with
diff --cc bin/repoman
index 943a61f,7cb32ce..afc26c3
--- a/bin/repoman
+++ b/bin/repoman
@@@ -1,5 -1,5 +1,5 @@@
 -#!/usr/bin/python -bO
 +#!@PREFIX_PORTAGE_PYTHON@ -bO
- # Copyright 1999-2014 Gentoo Foundation
+ # Copyright 1999-2015 Gentoo Foundation
  # Distributed under the terms of the GNU General Public License v2
  
  # Next to do: dep syntax checking in mask files
diff --cc cnf/make.globals
index 880fed5,82d8cc1..3518180
--- a/cnf/make.globals
+++ b/cnf/make.globals
@@@ -152,24 -123,12 +152,26 @@@ PORTAGE_ELOG_MAILFROM="@portageuser@@lo
  PORTAGE_GPG_SIGNING_COMMAND="gpg --sign --digest-algo SHA256 --clearsign 
--yes --default-key \"\${PORTAGE_GPG_KEY}\" --homedir \"\${PORTAGE_GPG_DIR}\" 
\"\${FILE}\""
  
  # btrfs.* attributes are irrelevant, see bug #527636.
- # Security labels are special, see bug #461868.
+ # security.* attributes may be special (see bug 461868), but
+ # security.capability is specifically not excluded (bug 548516).
  # system.nfs4_acl attributes are irrelevant, see bug #475496.
- PORTAGE_XATTR_EXCLUDE="btrfs.* security.* system.nfs4_acl"
+ PORTAGE_XATTR_EXCLUDE="btrfs.* security.evm security.ima
+       security.selinux system.nfs4_acl"
  
 +# Writeable paths for Mac OS X seatbelt sandbox
 +#
 +# If path ends in a slash (/), access will recursively be allowed to directory
 +# contents (using a regex), not the directory itself. Without a slash, access
 +# to the directory or file itself will be allowed (using a literal), so it can
 +# be created, removed and changed. If both is needed, the directory needs to 
be
 +# given twice, once with and once without the slash. Obviously this only makes
 +# sense for directories, not files.
 +#
 +# An empty value for either variable will disable all restrictions on the
 +# corresponding operation.
 +MACOSSANDBOX_PATHS="/dev/fd/ /private/tmp/ /private/var/tmp/ 
@@PORTAGE_BUILDDIR@@/ @@PORTAGE_ACTUAL_DISTDIR@@/"
 +MACOSSANDBOX_PATHS_CONTENT_ONLY="/dev/null /dev/dtracehelper /dev/tty 
/private/var/run/syslog"
 +
  #            *****************************
  #            **  DO NOT EDIT THIS FILE  **
  # ***************************************************
diff --cc cnf/repos.conf
index 4433546,062fc0d..b27d5c6
--- a/cnf/repos.conf
+++ b/cnf/repos.conf
@@@ -1,8 -1,12 +1,12 @@@
  [DEFAULT]
 -main-repo = gentoo
 +main-repo = gentoo_prefix
  
 -[gentoo]
 -location = /usr/portage
 +[gentoo_prefix]
 +location = @PORTAGE_EPREFIX@/usr/portage
  sync-type = rsync
 -sync-uri = rsync://rsync.gentoo.org/gentoo-portage
 +sync-uri = rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix
  auto-sync = yes
+ 
+ # for daily squashfs snapshots
+ #sync-type = squashdelta
+ #sync-uri = mirror://gentoo/../snapshots/squashfs
diff --cc pym/portage/dbapi/vartree.py
index a037200,62d880e..f5527b6
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@@ -33,13 -33,11 +33,14 @@@ portage.proxy.lazyimport.lazyimport(glo
        'portage.util.env_update:env_update',
        'portage.util.listdir:dircache,listdir',
        'portage.util.movefile:movefile',
-       'portage.util.path:first_existing',
+       'portage.util.path:first_existing,iter_parents',
        'portage.util.writeable_check:get_ro_checker',
+       'portage.util:xattr@_xattr',
        'portage.util._dyn_libs.PreservedLibsRegistry:PreservedLibsRegistry',
        'portage.util._dyn_libs.LinkageMapELF:LinkageMapELF@LinkageMap',
 +      'portage.util._dyn_libs.LinkageMapMachO:LinkageMapMachO',
 +      'portage.util._dyn_libs.LinkageMapPeCoff:LinkageMapPeCoff',
 +      'portage.util._dyn_libs.LinkageMapXCoff:LinkageMapXCoff',
        'portage.util._async.SchedulerInterface:SchedulerInterface',
        'portage.util._eventloop.EventLoop:EventLoop',
        'portage.util._eventloop.global_event_loop:global_event_loop',
diff --cc pym/portage/dispatch_conf.py
index fe2a85b,ed9a64a..97a79d8
--- a/pym/portage/dispatch_conf.py
+++ b/pym/portage/dispatch_conf.py
@@@ -20,7 -21,7 +21,8 @@@ from portage import _encodings, os, shu
  from portage.env.loaders import KeyValuePairFileLoader
  from portage.localization import _
  from portage.util import shlex_split, varexpand
+ from portage.util.path import iter_parents
 +from portage.const import EPREFIX
  
  RCS_BRANCH = '1.1.1'
  RCS_LOCK = 'rcs -ko -M -l'
diff --cc pym/portage/package/ebuild/doebuild.py
index 9ff635e,5e4d7b1..77c92fd
--- a/pym/portage/package/ebuild/doebuild.py
+++ b/pym/portage/package/ebuild/doebuild.py
@@@ -209,29 -211,31 +212,33 @@@ def _doebuild_path(settings, eapi=None)
        prefixes.append("/")
  
        path = overrides
 +      # PREFIX LOCAL: use DEFAULT_PATH and EXTRA_PATH from make.globals
 +      defaultpath = [x for x in settings.get("DEFAULT_PATH", "").split(":") 
if x]
 +      extrapath = [x for x in settings.get("EXTRA_PATH", "").split(":") if x]
  
        if "xattr" in settings.features:
-               path.append(os.path.join(portage_bin_path, "ebuild-helpers", 
"xattr"))
+               for x in portage_bin_path:
+                       path.append(os.path.join(x, "ebuild-helpers", "xattr"))
  
        if uid != 0 and \
                "unprivileged" in settings.features and \
                "fakeroot" not in settings.features:
-               path.append(os.path.join(portage_bin_path,
-                       "ebuild-helpers", "unprivileged"))
+               for x in portage_bin_path:
+                       path.append(os.path.join(x,
+                               "ebuild-helpers", "unprivileged"))
  
        if settings.get("USERLAND", "GNU") != "GNU":
-               path.append(os.path.join(portage_bin_path, "ebuild-helpers", 
"bsd"))
+               for x in portage_bin_path:
+                       path.append(os.path.join(x, "ebuild-helpers", "bsd"))
  
-       path.append(os.path.join(portage_bin_path, "ebuild-helpers"))
+       for x in portage_bin_path:
+               path.append(os.path.join(x, "ebuild-helpers"))
        path.extend(prerootpath)
 -
 -      for prefix in prefixes:
 -              for x in ("usr/local/sbin", "usr/local/bin", "usr/sbin", 
"usr/bin", "sbin", "bin"):
 -                      path.append(os.path.join(prefix, x))
 -
 +      path.extend(defaultpath)
        path.extend(rootpath)
 +      path.extend(extrapath)
 +      # END PREFIX LOCAL
 +
        settings["PATH"] = ":".join(path)
  
  def doebuild_environment(myebuild, mydo, myroot=None, settings=None,

Reply via email to