From: "Andreas K. Huettel" <dilfridge@gentoo.org>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Profile listings
Date: Sun, 14 Jun 2015 22:40:37 +0200 [thread overview]
Message-ID: <201506142240.41496.dilfridge@gentoo.org> (raw)
In-Reply-To: <loom.20150614T204438-759@post.gmane.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Hi James ,
> As a minimalist I'm trying to ferret out the differences in some of the
> more minimal profiles versus potential embedded profiles, across several
> different architectures: (arm32, arm64 x63_32 x86_64 ppc etc). I am also
> quite curious to find a tool that will clearly list the complete set of
> packages a given (eselected) profile will yield and the best ways to
> customize that list of minimal (critical) packages.
You're venturing into wonderland. Expect some mad hatters to pop up.
> So in /etc/portage/profiles, we have lots of good information.
You probably mean /usr/portage/profiles?
> For example
> the 'base' dir currently lists 77 packages found in most profiles (?). The
> '/usr/portage/profiles/arch.list' dir lists not only the recognized arches
> but also "Prefix Keywords". I'm not exactly sure how all of this profile
> stuff works; who decides what's (packages) in and out, package_masks etc
> etc.
> So my questions related to how does gentoo actually determines the exact
> list of programs that are minimally installed, with the specific
> arch and the profile selected? In previous times, I just put USE='-*' in
> the make.conf file and built upwards from there.
Don't, it breaks things.
> Still there were baseline
> packages in the most minimal of stage based gentoo builds. I'm looking for
> a current approach to bridging between a baseline default profile (for
> amd64 that would be: [1] default/linux/amd64/13.0 *) and an embedded
> amd64 profile (if one currently exist? How do I find the potential
> profiles for say another arch (ppc for example), from an amd64 based
> gentoo system? Tools? Recommended scripts to review?
Your best bet is the (undocumented) portage python API. I guess the question
is specific enough that you can pop into #gentoo-portage and ask.
> 'eselect profile list' currently shows 21 amd64 choices:
>
> [1] default/linux/amd64/13.0 *
> [2] default/linux/amd64/13.0/selinux
> [3] default/linux/amd64/13.0/desktop
> [4] default/linux/amd64/13.0/desktop/gnome
> [5] default/linux/amd64/13.0/desktop/gnome/systemd
> [6] default/linux/amd64/13.0/desktop/kde
> [7] default/linux/amd64/13.0/desktop/kde/systemd
> [8] default/linux/amd64/13.0/desktop/plasma
> [9] default/linux/amd64/13.0/desktop/plasma/systemd
> [10] default/linux/amd64/13.0/developer
> [11] default/linux/amd64/13.0/no-multilib
> [12] default/linux/amd64/13.0/systemd
> [13] default/linux/amd64/13.0/x32
> [14] hardened/linux/amd64
> [15] hardened/linux/amd64/selinux
> [16] hardened/linux/amd64/no-multilib
> [17] hardened/linux/amd64/no-multilib/selinux
> [18] hardened/linux/amd64/x32
> [19] hardened/linux/musl/amd64
> [20] default/linux/uclibc/amd64
> [21] hardened/linux/uclibc/amd64
>
>
>
> But looking here at the files and directories ( ls /usr/portage/profiles)
>
> I see an organization structure that differs from the profile listing
> semantics. So is there a script(s) that shows me what is being read from
> the directory tree that yields those 21 choices? It seems a bit convoluted
> to me, but I could easily have missed the documents that organize and
> discuss such details? Or at least a listing of the scripts that build these
> profile lists? Or is this adhoc?
The choices from eselect come from /usr/portage/profiles/profiles.desc
About what each of these profiles does - you can find that out by starting
with the directory given in profiles.desc (e.g.,
/usr/portage/profiles/hardened/linux/amd64 for choice [14]) and follow the
content of the "parent" files in the directories for inheritance.
> The next thought is how then to best (succinctly) determine the complete
> list of packages that will be pulled into any given (arch) profile. Is this
> a fiefdom situation where those devs that maintain that arch (tongue in
> cheek) quasi-use these scripts, config files and the /usr/portage/profiles
> tree structure, consistently or as they wish? I'm not looking for emotional
> responses, just clarity on where we are.
Basically you have to follow the inheritance tree as defined by the parent
files, and add stuff up. For the detailed algorithms, see app-doc/pms (good
bedtime reading).
The targets (systemd, desktop, kde, gnome) are more or less maintained by the
respective teams.
The arch dirs are maintained by the arch teams.
Since changes to any of these dirs may affect a lot, they are usually done
with care and rather minimally.
> Finally. What if I want to "roll my own profiles"; should I just build on
> one of the minimal ones or create something anew that exists only on my
> systems?
You *can* roll your own profiles, but it's non-trivial and can cause pain.
You'll probably end up asking a lot of questions before it works. It took me a
while to figure it out even when already knowing how the main profile tree
more or less works.
For an example, check my dev overlay (it adds one profile for x86 and for
amd64).
Your safest bet would be to inherit the arch main profile (e.g.
default/linux/amd64/13.0) and maybe remove some stuff. However, there's not
too much to remove left there. So I'm not sure if it's really worth the
effort.
Cheers, Andreas
- --
Andreas K. Huettel
Gentoo Linux developer (council, perl, libreoffice)
dilfridge@gentoo.org
http://www.akhuettel.de/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCgAGBQJVfebGAAoJEB9VdM6hupKVj88P/RZ5WB3y0LJSVt+bffjawAHb
dGENbzGx0MCqlr+yAlxkzbY8fVfpS0w9j4+p2/rWeqVv1VZLxqA0SOWKUD9wZ61W
ScxLMq9Xe7juBwmOdNE+83QVRSNJUlPP4spBDhDf89qLlYVEgNCaOo/8nbWaQzjM
JR7e6Jjhf/QI/2ySkYybRhXVAatw+u9E++VsucBY17+qq/gIES2U3Rnuajq6OSFR
acv2lrVYA6MujX/5dWqypDLVE2xuuUgr1SHn+BWdOReI4ON7kMrrlkxa1W+/AUxm
2ByZc0LF3Xtdsxrnbd0wJuqdp0j4Fk3WX7VOU1appqt4bAG0GkXfwTUt0XVn7Wa9
0fJAlo/LYURie/xBRh4E0pNUys0///r8iR9d0ikXQmL1/UjC1OzHTNW1s5K3P1o8
1/3urkIMUQz2iFOJ29Rx6Iwn3862yYEkb2fn3CHGO6T/6rc8KiwjKT+mybCVn5lv
qp4AWzXwOm8jILYrqdYcwwhoDKtaHylJM2iVCVTI0wKf/BOor/I/QyyPXryZP0Jm
yNn3ybaHQX2V++PNH6DZK1l71BTmyJcvau7Jl8lQZ9EVZNoAheMyfng8rzKduulE
tIQ300wZJOXqqRyRpG22TMEuGG0EkV8d3fdP0I596nW7QyzPhRcjyQGMNOWFioZl
g5xt/rezdqCDhvd6saFx
=VlVg
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2015-06-14 20:37 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-14 19:22 [gentoo-user] Profile listings James
2015-06-14 20:40 ` Andreas K. Huettel [this message]
2015-06-14 22:21 ` [gentoo-user] " James
2015-06-14 23:38 ` Andreas K. Huettel
2015-06-15 4:27 ` James
2015-06-14 23:12 ` [gentoo-user] " Andrew Savchenko
2015-06-15 4:37 ` [gentoo-user] " James
2015-06-15 12:15 ` Martin Vaeth
2015-06-15 15:25 ` James
2015-06-16 17:42 ` James
2015-06-16 20:26 ` Neil Bothwick
2015-06-17 8:18 ` Martin Vaeth
2015-06-17 16:11 ` James
2015-06-18 7:05 ` Martin Vaeth
2015-06-18 15:21 ` James
2015-06-18 17:33 ` Martin Vaeth
2015-06-18 18:44 ` James
2015-06-18 19:59 ` Martin Vaeth
2015-06-19 19:46 ` James
2015-06-21 3:29 ` Jonathan Callen
2015-06-21 16:17 ` James
2015-06-19 2:27 ` Bruce Schultz
2015-06-19 19:56 ` James
2015-06-19 20:38 ` Neil Bothwick
2015-06-20 2:51 ` James
2015-06-21 16:09 ` James
2015-06-21 17:49 ` Neil Bothwick
2015-06-21 20:02 ` Alan McKinnon
2015-06-21 23:53 ` Peter Humphrey
2015-06-22 13:38 ` James
2015-06-22 14:47 ` Martin Vaeth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201506142240.41496.dilfridge@gentoo.org \
--to=dilfridge@gentoo.org \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox