_pkg_use_enabled: return frozenset (531112)

Since commit 9ba4f2aa6a2755a73fb652b4557919047d649fd1, _pkg_use_enabled
needs to consistently return a frozenset, so that the result is
hashable.

Fixes: 9ba4f2aa6a27 ("_slot_operator_update_probe: memoize use_reduce (529660)")
X-Gentoo-Bug: 531112
X-Gentoo-Url: https://bugs.gentoo.org/show_bug.cgi?id=531112
Acked-by: Brian Dolbec <dolsen@gentoo.org>
emerge: warn about @installed, don't deprecate (387059)

The @installed set may have some legitimate uses. Therefore, change
the deprecation warning to a warning about unsolved blockers. The
warning will now appear as follows:

 * The @installed set is not recommended when updating
 * packages because it will often introduce unsolved blocker
 * conflicts. Please refer to bug #387059 for details.

X-Gentoo-Bug: 387059
X-Gentoo-Url: https://bugs.gentoo.org/show_bug.cgi?id=387059
Acked-by: Brian Dolbec <dolsen@gentoo.org>
ebuild.sh: force fresh env for pkg_setup (528274)

In ebuild.sh, $T/environment is loaded for most phases, but it should
always start with a fresh environment for pkg_setup. Therefore, skip
environment loading for pkg_setup, and force the ebuild to be sourced.

This also requires a change in the config.environ method, in order
to ensure that the calling environment is inherited by pkg_setup
(even though $T/environment may exist).

X-Gentoo-Bug: 528274
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=528274
Acked-by: Brian Dolbec <dolsen@gentoo.org>
emerge --info: show /bin/sh provider (527996)

Searching contents for the /bin/sh provider is somewhat slow.
Therefore, use the basename of the symlink target to locate the
package. If this fails, then only the basename of the symlink target
will be displayed. So, typical output is something like
"sh bash 4.2_p53". Since realpath is used to resolve symlinks
recursively, this approach is also able to handle multiple levels of
symlinks such as /bin/sh -> bb -> busybox. Note that we do not parse
the output of "/bin/sh --version" because many shells do not have
a --version option.

The relevant section of the emerge --info output will now look
something like this:

Timestamp of tree: Fri, 28 Nov 2014 00:45:01 +0000
sh bash 4.2_p53
ld GNU ld (Gentoo 2.23.2 p1.0) 2.23.2

X-Gentoo-Bug: 527996
X-Gentoo-Url: https://bugs.gentoo.org/show_bug.cgi?id=527996
Acked-by: Brian Dolbec <dolsen@gentoo.org>
Support all install-qa-check.d locations and overrides

Update the install-qa-check.d handling code to conform to GLEP 65.
Collect files from all defined locations, order them lexically by name
and run each uniquely named script once. Make scripts in higher priority
locations override lower priority locations properly.
Fix TypeError when using `emerge -C` without package name.
ebuild.sh: fix pkg_setup env for binary packages (528274)

In commit 743b3337644fbb3ea461d3a9137c9ac85e163f03, support for binary
packages broke, since binary packages must load the environment from
$T/environment. This patch fixes the logic to handle binary packages
correctly.

Fixes: 743b3337644f ("ebuild.sh: force fresh env for pkg_setup (528274)")
X-Gentoo-Bug: 528274
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=528274
Acked-by: Brian Dolbec <dolsen@gentoo.org>
install-qa-check.d/90world-writable: fix usage of missing function

Fixes: 6dafdc28897682f7b8c77b7863b5713634974647
Subject: Remove __eqalog & __eqawarnlog
Author: Michał Górny <mgorny@gentoo.org> (Sun 02 Nov 2014 11:16:04 AM PST)

As per Zmedico:
This file also contains an invalid IFS=OLDIFS setting (which should
really be IFS=$OLDIFS).
portage/util/writeable_check.py: Fix IndexError:  bug 527486

X-Gentoo-Bug: 527486
X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=527486
Do not try to source stray directories in bashrc paths

Check whether a particular bashrc path is not a directory before trying
to source it. Avoids unnecessary 'is a directory' errors.
Restore sbindir install support

Restore the ability to install sbin-tools into sbindir since it works
fine with pure distutils. The issue is python-exec/eclass-specific and
therefore all the relevant workarounds belong in the ebuild.
portage.os.waitpid: handle EINTR for bug #525552

Use a new _eintr_func_wrapper class to wrap waitpid calls and handle
EINTR by calling the function as many times as necessary (until it
returns without raising EINTR).

X-Gentoo-Bug: 525552
X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=525552
Acked-by: Alexander Berntsen <bernalex@gentoo.org>
Update RELEASE-NOTES and version
repoman: Add check for missing slot values/slot operators

The idea if that a particular dependency atom matches more than one slot
of a package, you are supposed to either use := or :* operator
(or a specific :slot dependency), whichever is appropriate.

This will help catching mistakes (when packages become slotted) and make
cross-slot behavior clear (it is undefined with no slot operator). I
will estimate the amount of new warnings later.
Respect nonfatal in unpack(), econf() and einstall()
Apply 'nonfatal' to helpers only

Make 'nonfatal' modifier affect helpers only rather than disabling 'die'
completely. This improves the PMS conformance.
Support EAPI=6_pre1 for testing EAPI6 features
Add tentative support for EAPI6 --docdir and --htmldir

Pass --docdir and --htmldir to configure scripts that support it.
Add tentative support for EAPI6 get_libdir()

Add get_libdir() function to obtain the basename of libdir using
the same algorithm that econf uses.
Add tentative support for EAPI6 einstalldocs function

Add the einstalldocs function to conveniently install documentation
using the default patterns or DOCS and HTML_DOCS variables.