Gentoo Archives: gentoo-user

From: Mick <michaelkintzios@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: Aw: Re: [gentoo-user] keywords vs use variables
Date: Mon, 20 May 2019 22:02:30
Message-Id: 2436519.L6zmM0efzU@dell_xps
In Reply to: Re: Aw: Re: [gentoo-user] keywords vs use variables by Dale
1 Some additional explanation below:
2
3 On Monday, 20 May 2019 21:52:51 BST Dale wrote:
4
5 > This may help:
6 >
7 > https://wiki.gentoo.org/wiki/Knowledge_Base:Accepting_a_keyword_for_a_single
8 > _package
9 >
10 >
11 > https://wiki.gentoo.org/wiki/USE_flag/en
12 >
13 > Those words are common so it is hard to search for them. After all, USE
14 > means something a bit different in Gentoo than it does outside Gentoo.
15 >
16 > Hope that helps.
17 >
18 > Dale
19 >
20 > :-) :-)
21
22 As was already explained, accept.keywords can be defined to accept a package
23 currently in testing to be installed in an otherwise stable system. The links
24 provided above explains the nomenclature and portage files where this can be
25 defined to suit your needs.
26
27 You would need to set package.accept_keywords if for example you want to try
28 out a later version of a particular package, which portage advises has not yet
29 been stabilised. For example, firefox shows this:
30
31 $ equery keywords firefox
32 Keywords for www-client/firefox:
33 | a | |
34 | m | |
35 | d x | |
36 | 6 8 | |
37 | 4 6 | u |
38 | a a a p r s | | | n |
39 | l m r i p i h m s p f m f | e u s | r
40 | p d a m a p c s x p 6 3 a b i b | a s l | e
41 | h 6 r 6 6 p 6 c 8 p 8 9 s r s p s | p e o | p
42 | a 4 m 4 4 c 4 v 6 a k 0 h c d s d | i d t | o
43 ----------+-----------------------------------+-------+-------
44 [M]52.9.0 | ~ + ~ ~ ~ ~ ~ o + o o o o o o o o | 6 o 0 | gentoo
45 [I]60.6.2 | o + o ~ o o o o + o o o o o o o o | 6 o | gentoo
46 66.0.5 | o ~ o o o o o o ~ o o o o o o o o | 6 o | gentoo
47
48 So, we can see in the above table version 60.6.2 is stable for the amd64
49 architecture and already installed on my stable system, but if I wanted to
50 test 66.0.5 I would have to specify this in package.accept_keywords file for
51 portage to emerge it.
52
53
54 Firefox comes with various USE flags which are compilation options:
55
56 $ equery uses firefox
57 [ Legend : U - final flag setting for installation]
58 [ : I - package is installed with flag ]
59 [ Colors : set, unset ]
60 * Found these USE flags for www-client/firefox-60.6.2:
61 U I
62 - - bindist : Disable official Firefox branding (icons, name)
63 which are not binary-redistributable according to
64 upstream.
65 - - clang : Use Clang compiler instead of GCC
66 - - custom-cflags : Build with user-specified CFLAGS (unsupported)
67 - - custom-optimization : Build with user-specified compiler optimizations
68 (-Os, -O0, -O1, -O2, -O3) from CFLAGS
69 (unsupported)
70 + + dbus : Enable dbus support for anything that needs it
71 (gpsd, gnomemeeting, etc)
72 - - debug : Enable extra debug codepaths, like asserts and
73 extra output. If you want to get meaningful
74 backtraces see https://wiki.gentoo.org/wiki/
75 Project
76 :Quality_Assurance/Backtraces
77 - - eme-free : Disable EME (DRM plugin) cabability at build time
78 - - geckodriver : Enable WebDriver support
79 + + gmp-autoupdate : Allow Gecko Media Plugins (binary blobs) to be
80 automatically downloaded and kept up-to-date in
81 user profiles
82 - - hardened : Activate default security enhancements for
83 toolchain (gcc, glibc, binutils)
84 - - hwaccel : Force-enable hardware-accelerated rendering
85 (Mozilla bug 594876)
86 - - jack : Add support for the JACK Audio Connection Kit
87
88 [snip ...]
89
90
91 Say I wanted to add support in my firefox for JACK, then I would need to add
92 the "jack" USE flag in package.use and firefox would be compiled to work with
93 jack, while at the same time it would bring in the next emerge run any
94 necessary additional package dependencies, e.g. it would probably also emerge
95 jack related packages. Some use flags are set by default according to your
96 emerge profile, others are optional and you can chose to add or remove them.
97
98 Things could get more involved when adding a particular USE flag brings in
99 some package as a dependency, which is not yet in the stable portage tree of
100 packages. Then portage would suggest you have to keyword the particular
101 dependency package if you want to emerge the original with the chosen USE flag
102 - or you could wait for while until the dependency matures and is migrated to
103 the stable tree. Things could also get messy when switch a flag, or
104 keywording a later version of a package creates blockages.
105
106 Over time you'll start making sense of what portage is telling you and switch
107 USE flags on/off depending on your desired course of action.
108
109 HTH.
110 --
111 Regards,
112 Mick

Attachments

File name MIME type
signature.asc application/pgp-signature