_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>