On 2020-06-07 20:22, Rich Freeman wrote:
On Sun, Jun 7, 2020 at 1:31 PM n952162 <[email protected]> wrote:
When I do an emerge --sync, various ebuilds are loaded onto my system,
co-existing with other ebuilds, possibly from the same package.  What
determines which package version is to be used?

I assumed this was specified by the profile (e.g. 17.1), but I can't
find any version numbers in /etc/portage/make.profile/

The process is exclusionary, not inclusionary, for the most part,
which is why the profiles tend to be simple and not list a lot of
packages or versions.


Okay, that's understandable.


Keywords: A package version can only be installed if it contains an
accepted keyword.  Keywords can be accepted by your profile or by your
make.conf.  Eg, ~amd64 or amd64.  If the package does not declare any
keyword that you are accepting, then it will not be used.  This is the
main mechanism used to determine what version you will get.  Packages
are keyworded based on whether they work (~arch) or are considered
stable (arch) on a particular architecture.


Regarding ~amd64 vs. amd64 - these are both just keywords, reflecting
only  a qualitative difference, not a special syntax understood by
ebuild/emerge?

If you post a specific example I can explain what version will be
installed, assuming you don't have any dependencies with version
restrictions, and you will need to tell me what your ACCEPT_KEYWORDS
and profile are set to.


Please see my following posting on my other, concurrent thread.



Reply via email to