View previous topic :: View next topic |
Author |
Message |
gzoumix n00b
Joined: 22 Dec 2017 Posts: 14
|
Posted: Sat Dec 23, 2017 1:07 am Post subject: Package configuration with Portage: indepth exploration |
|
|
I recently explored in detail the mechanisms portage uses for configuring the core data of a package: its USE flag and visibility (keywords, mask, license).
I didn't see any documentation on the wiki or anywhere compiling this data, so I had a go at it: https://github.com/HyVar/gentoo_to_mspl/blob/master/PORTAGE.md
I'm sure this document can be greatly improved and suggestions for enhancement are very welcome.
Also, I wrote this document on Github for convenience, I will put it on the wiki as soon as possible. |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31371 Location: here
|
Posted: Sat Dec 23, 2017 11:33 am Post subject: |
|
|
First welcome to gentoo forum!
You have see this documentation _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
gzoumix n00b
Joined: 22 Dec 2017 Posts: 14
|
Posted: Sat Dec 23, 2017 1:37 pm Post subject: |
|
|
fedeliallalinea wrote: | First welcome to gentoo forum! |
Thank you
Yes, and indeed this documentation contains much information on package configuration.
However, it is not very clear on which are the data contained in a package, which are configurable, and how portage, not only the user, configures them.
For instance, I discovered that the package IUSE is extended by portage and can be extended by the user (such extension is useless, but possible).
I also discovered that package configuration is done by portage in 7 steps (/etc/portage being just one of them), executed in the order defined in the USE_ORDER variable.
This variable is documented in https://dev.gentoo.org/%7Ezmedico/portage/doc/man/make.conf.5.html and https://wiki.gentoo.org/wiki/USE_ORDER but it took me some time to find this information.
The document I wrote is thus a compilation of many information scattered in manpages and the wiki, trying to give a complete overview of how portage configures its packages.
I didn't find a clear documentation for some information, like how the USE flags are declared in a profile, and I looked it up in portage's implementation.
I guess my document can be interesting for anyone who wants to have a global and detailed overview of portage's package configuration mechanisms.
For me, I needed to compile this document for my project of an alternative dependency solver for emerge. |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31371 Location: here
|
Posted: Sat Dec 23, 2017 1:57 pm Post subject: |
|
|
I haven't read yet your document in detail, but is very interesting.
In my opinion the document mix user and developer concepts making it difficult reading for "new users".
Indeed in wiki usually is for user and devmanual for developer. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
gzoumix n00b
Joined: 22 Dec 2017 Posts: 14
|
Posted: Sun Jan 07, 2018 11:20 pm Post subject: |
|
|
fedeliallalinea wrote: | I haven't read yet your document in detail, but is very interesting.
In my opinion the document mix user and developer concepts making it difficult reading for "new users".
Indeed in wiki usually is for user and devmanual for developer. |
Do you think I should remove the part about the user concerns, refactor the more technical part that goes in depth into the portage configuration mechanism and submit it to the devmanual?
Do you have suggestions for improving the terminology I use?
Also, I would be very interested to know the motivation behind some design choices in the portage configuration mechanism, like why using make.defaults to declare USE flags instead of an eclass, why use.force/use.mask are necessary, why the syntax for keywords is a bit ambiguous, etc. I think having such information in a document would be very useful to understand portage's configuration mechanism, its complexity and how it can be improved.
Does anyone have information on these topics?
Finally, I recently discovered the portage specification: I should compare it to my document... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|