Gentoo Archives: gentoo-user

From: "Andreas K. Huettel" <dilfridge@g.o>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Profile listings
Date: Sun, 14 Jun 2015 20:37:04
Message-Id: 201506142240.41496.dilfridge@gentoo.org
In Reply to: [gentoo-user] Profile listings by James
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA512
3
4 Hi James ,
5
6 > As a minimalist I'm trying to ferret out the differences in some of the
7 > more minimal profiles versus potential embedded profiles, across several
8 > different architectures: (arm32, arm64 x63_32 x86_64 ppc etc). I am also
9 > quite curious to find a tool that will clearly list the complete set of
10 > packages a given (eselected) profile will yield and the best ways to
11 > customize that list of minimal (critical) packages.
12
13 You're venturing into wonderland. Expect some mad hatters to pop up.
14
15 > So in /etc/portage/profiles, we have lots of good information.
16
17 You probably mean /usr/portage/profiles?
18
19 > For example
20 > the 'base' dir currently lists 77 packages found in most profiles (?). The
21 > '/usr/portage/profiles/arch.list' dir lists not only the recognized arches
22 > but also "Prefix Keywords". I'm not exactly sure how all of this profile
23 > stuff works; who decides what's (packages) in and out, package_masks etc
24 > etc.
25
26 > So my questions related to how does gentoo actually determines the exact
27 > list of programs that are minimally installed, with the specific
28 > arch and the profile selected? In previous times, I just put USE='-*' in
29 > the make.conf file and built upwards from there.
30
31 Don't, it breaks things.
32
33 > Still there were baseline
34 > packages in the most minimal of stage based gentoo builds. I'm looking for
35 > a current approach to bridging between a baseline default profile (for
36 > amd64 that would be: [1] default/linux/amd64/13.0 *) and an embedded
37 > amd64 profile (if one currently exist? How do I find the potential
38 > profiles for say another arch (ppc for example), from an amd64 based
39 > gentoo system? Tools? Recommended scripts to review?
40
41 Your best bet is the (undocumented) portage python API. I guess the question
42 is specific enough that you can pop into #gentoo-portage and ask.
43
44 > 'eselect profile list' currently shows 21 amd64 choices:
45 >
46 > [1] default/linux/amd64/13.0 *
47 > [2] default/linux/amd64/13.0/selinux
48 > [3] default/linux/amd64/13.0/desktop
49 > [4] default/linux/amd64/13.0/desktop/gnome
50 > [5] default/linux/amd64/13.0/desktop/gnome/systemd
51 > [6] default/linux/amd64/13.0/desktop/kde
52 > [7] default/linux/amd64/13.0/desktop/kde/systemd
53 > [8] default/linux/amd64/13.0/desktop/plasma
54 > [9] default/linux/amd64/13.0/desktop/plasma/systemd
55 > [10] default/linux/amd64/13.0/developer
56 > [11] default/linux/amd64/13.0/no-multilib
57 > [12] default/linux/amd64/13.0/systemd
58 > [13] default/linux/amd64/13.0/x32
59 > [14] hardened/linux/amd64
60 > [15] hardened/linux/amd64/selinux
61 > [16] hardened/linux/amd64/no-multilib
62 > [17] hardened/linux/amd64/no-multilib/selinux
63 > [18] hardened/linux/amd64/x32
64 > [19] hardened/linux/musl/amd64
65 > [20] default/linux/uclibc/amd64
66 > [21] hardened/linux/uclibc/amd64
67 >
68 >
69 >
70 > But looking here at the files and directories ( ls /usr/portage/profiles)
71 >
72 > I see an organization structure that differs from the profile listing
73 > semantics. So is there a script(s) that shows me what is being read from
74 > the directory tree that yields those 21 choices? It seems a bit convoluted
75 > to me, but I could easily have missed the documents that organize and
76 > discuss such details? Or at least a listing of the scripts that build these
77 > profile lists? Or is this adhoc?
78
79 The choices from eselect come from /usr/portage/profiles/profiles.desc
80
81 About what each of these profiles does - you can find that out by starting
82 with the directory given in profiles.desc (e.g.,
83 /usr/portage/profiles/hardened/linux/amd64 for choice [14]) and follow the
84 content of the "parent" files in the directories for inheritance.
85
86 > The next thought is how then to best (succinctly) determine the complete
87 > list of packages that will be pulled into any given (arch) profile. Is this
88 > a fiefdom situation where those devs that maintain that arch (tongue in
89 > cheek) quasi-use these scripts, config files and the /usr/portage/profiles
90 > tree structure, consistently or as they wish? I'm not looking for emotional
91 > responses, just clarity on where we are.
92
93 Basically you have to follow the inheritance tree as defined by the parent
94 files, and add stuff up. For the detailed algorithms, see app-doc/pms (good
95 bedtime reading).
96
97 The targets (systemd, desktop, kde, gnome) are more or less maintained by the
98 respective teams.
99
100 The arch dirs are maintained by the arch teams.
101
102 Since changes to any of these dirs may affect a lot, they are usually done
103 with care and rather minimally.
104
105 > Finally. What if I want to "roll my own profiles"; should I just build on
106 > one of the minimal ones or create something anew that exists only on my
107 > systems?
108
109 You *can* roll your own profiles, but it's non-trivial and can cause pain.
110 You'll probably end up asking a lot of questions before it works. It took me a
111 while to figure it out even when already knowing how the main profile tree
112 more or less works.
113
114 For an example, check my dev overlay (it adds one profile for x86 and for
115 amd64).
116
117 Your safest bet would be to inherit the arch main profile (e.g.
118 default/linux/amd64/13.0) and maybe remove some stuff. However, there's not
119 too much to remove left there. So I'm not sure if it's really worth the
120 effort.
121
122 Cheers, Andreas
123
124 - --
125 Andreas K. Huettel
126 Gentoo Linux developer (council, perl, libreoffice)
127 dilfridge@g.o
128 http://www.akhuettel.de/
129 -----BEGIN PGP SIGNATURE-----
130 Version: GnuPG v2
131
132 iQIcBAEBCgAGBQJVfebGAAoJEB9VdM6hupKVj88P/RZ5WB3y0LJSVt+bffjawAHb
133 dGENbzGx0MCqlr+yAlxkzbY8fVfpS0w9j4+p2/rWeqVv1VZLxqA0SOWKUD9wZ61W
134 ScxLMq9Xe7juBwmOdNE+83QVRSNJUlPP4spBDhDf89qLlYVEgNCaOo/8nbWaQzjM
135 JR7e6Jjhf/QI/2ySkYybRhXVAatw+u9E++VsucBY17+qq/gIES2U3Rnuajq6OSFR
136 acv2lrVYA6MujX/5dWqypDLVE2xuuUgr1SHn+BWdOReI4ON7kMrrlkxa1W+/AUxm
137 2ByZc0LF3Xtdsxrnbd0wJuqdp0j4Fk3WX7VOU1appqt4bAG0GkXfwTUt0XVn7Wa9
138 0fJAlo/LYURie/xBRh4E0pNUys0///r8iR9d0ikXQmL1/UjC1OzHTNW1s5K3P1o8
139 1/3urkIMUQz2iFOJ29Rx6Iwn3862yYEkb2fn3CHGO6T/6rc8KiwjKT+mybCVn5lv
140 qp4AWzXwOm8jILYrqdYcwwhoDKtaHylJM2iVCVTI0wKf/BOor/I/QyyPXryZP0Jm
141 yNn3ybaHQX2V++PNH6DZK1l71BTmyJcvau7Jl8lQZ9EVZNoAheMyfng8rzKduulE
142 tIQ300wZJOXqqRyRpG22TMEuGG0EkV8d3fdP0I596nW7QyzPhRcjyQGMNOWFioZl
143 g5xt/rezdqCDhvd6saFx
144 =VlVg
145 -----END PGP SIGNATURE-----

Replies

Subject Author
[gentoo-user] Re: Profile listings James <wireless@×××××××××××.com>