Some additional explanation below:

On Monday, 20 May 2019 21:52:51 BST Dale wrote:

> This may help:
> 
> https://wiki.gentoo.org/wiki/Knowledge_Base:Accepting_a_keyword_for_a_single
> _package
> 
> 
> https://wiki.gentoo.org/wiki/USE_flag/en
> 
> Those words are common so it is hard to search for them.  After all, USE
> means something a bit different in Gentoo than it does outside Gentoo. 
> 
> Hope that helps.
> 
> Dale
> 
> :-)  :-) 

As was already explained, accept.keywords can be defined to accept a package 
currently in testing to be installed in an otherwise stable system.  The links 
provided above explains the nomenclature and portage files where this can be 
defined to suit your needs.

You would need to set package.accept_keywords if for example you want to try 
out a later version of a particular package, which portage advises has not yet 
been stabilised.  For example, firefox shows this:

$ equery keywords firefox
Keywords for www-client/firefox:
          |                             a     |       |  
          |                             m     |       |  
          |                             d   x |       |  
          |                             6   8 |       |  
          |                             4   6 |   u   |  
          | a a   a     p r           s |   | |   n   |  
          | l m   r i   p i   h m s   p f m f | e u s | r
          | p d a m a p c s x p 6 3   a b i b | a s l | e
          | h 6 r 6 6 p 6 c 8 p 8 9 s r s p s | p e o | p
          | a 4 m 4 4 c 4 v 6 a k 0 h c d s d | i d t | o
----------+-----------------------------------+-------+-------
[M]52.9.0 | ~ + ~ ~ ~ ~ ~ o + o o o o o o o o | 6 o 0 | gentoo
[I]60.6.2 | o + o ~ o o o o + o o o o o o o o | 6 o   | gentoo
   66.0.5 | o ~ o o o o o o ~ o o o o o o o o | 6 o   | gentoo

So, we can see in the above table version 60.6.2 is stable for the amd64 
architecture and already installed on my stable system, but if I wanted to 
test 66.0.5 I would have to specify this in package.accept_keywords file for 
portage to emerge it.


Firefox comes with various USE flags which are compilation options:

$ equery uses firefox
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for www-client/firefox-60.6.2:
 U I
 - - bindist              : Disable official Firefox branding (icons, name)
                            which are not binary-redistributable according to
                            upstream.
 - - clang                : Use Clang compiler instead of GCC
 - - custom-cflags        : Build with user-specified CFLAGS (unsupported)
 - - custom-optimization  : Build with user-specified compiler optimizations
                            (-Os, -O0, -O1, -O2, -O3) from CFLAGS 
(unsupported)
 + + dbus                 : Enable dbus support for anything that needs it
                            (gpsd, gnomemeeting, etc)
 - - debug                : Enable extra debug codepaths, like asserts and
                            extra output. If you want to get meaningful
                            backtraces see https://wiki.gentoo.org/wiki/
Project
                            :Quality_Assurance/Backtraces
 - - eme-free             : Disable EME (DRM plugin) cabability at build time
 - - geckodriver          : Enable WebDriver support
 + + gmp-autoupdate       : Allow Gecko Media Plugins (binary blobs) to be
                            automatically downloaded and kept up-to-date in
                            user profiles
 - - hardened             : Activate default security enhancements for
                            toolchain (gcc, glibc, binutils)
 - - hwaccel              : Force-enable hardware-accelerated rendering
                            (Mozilla bug 594876)
 - - jack                 : Add support for the JACK Audio Connection Kit

[snip ...]


Say I wanted to add support in my firefox for JACK, then I would need to add 
the "jack" USE flag in package.use and firefox would be compiled to work with 
jack, while at the same time it would bring in the next emerge run any 
necessary additional package dependencies, e.g. it would probably also emerge 
jack related packages.  Some use flags are set by default according to your 
emerge profile, others are optional and you can chose to add or remove them.

Things could get more involved when adding a particular USE flag brings in 
some package as a dependency, which is not yet in the stable portage tree of 
packages.  Then portage would suggest you have to keyword the particular 
dependency package if you want to emerge the original with the chosen USE flag 
- or you could wait for while until the dependency matures and is migrated to 
the stable tree.  Things could also get messy when switch a flag, or 
keywording a later version of a package creates blockages.

Over time you'll start making sense of what portage is telling you and switch 
USE flags on/off depending on your desired course of action.

HTH.
-- 
Regards,
Mick

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to