2

Building on my previous question, I'd like a more automatic way of allowing unstable packages when there is no stable version in the tree, but otherwise using stable versions.

My reading of the docs, reinforced by this recent forum thread, indicates that there is no way to do this. One must choose between all stable and all unstable, and then manually override each exception in package.accept_keywords.

This makes for a dilemma in keeping package.accept_keywords up-to-date:

  • If an explicit version is keyworded, it cannot be automatically updated.
  • If no explicit version is keyworded, it cannot be automatically unkeyworded should a version be stabilized in the future.

The latter is the more acceptable choice, but it still means I'm occasionally going through my package.accept_keywords and running eshowkw to see if it ended up getting stabilized.

3
  • 1
    Yep, manual package.accept_keywords management is where it's at + periodic eix-test-obsolete reporting. I'm also still interested in unix.stackexchange.com/questions/106301/… for my binhost, where you lead the way building unstable packages, but to avoid manual keyword management on client hosts, it would be terrific to automatically "stabilize" binpkgs after the build.
    – lkraav
    Commented Oct 17, 2016 at 19:43
  • @lkraav Thanks for the info. It seems like eix-test-obsolete is really critical when you keyword explicit versions. I suppose it's still useful for identifying packages that are no longer required when not keywording explicit versions. Commented Oct 18, 2016 at 22:50
  • the only thing I haven't solved with eix yet is to find out what obsolete USE flags I have. It handles keywords really well though.
    – lkraav
    Commented Oct 19, 2016 at 10:07

1 Answer 1

0

I wrote a script that checks for unnecessary keyworded atoms in package.accept_keywords and uploaded it, along with the rest of my gentoo-scripts. To quote from the header comment in gentoo-check-unstable-keywords:

# This script reports unnecessary unstable keywords in
# /etc/portage/package.accept_keywords.
#
# A keyword is considered unnecessary when:
#     - The atom is not installed. OR
#     - A stable version of the atom is available which
#         - Is not masked by the user's /etc/portage/package.mask. AND
#         - Meets the requirements of any dependent atoms installed.

This resolves the second horn of the central dilemma of my question:

  • If no explicit version is keyworded, it cannot be automatically unkeyworded should a version be stabilized in the future.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .