Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 112779

Summary: New and Improved Way to Handle /etc/portage
Product: Portage Development Reporter: illuminata <capitalista>
Component: Enhancement/Feature RequestsAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal CC: chriswhite, codergeek42, curtis119, m.debruijne, whereami
Priority: High Keywords: InVCS
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 115839    

Description illuminata 2005-11-16 22:12:34 UTC
The idea:

To have Portage recognize multiple package.* files. There's at least a couple of
ways that this could be done.

Possibility #1:

To have Portage recognize mutlipe package.* files by the end of the filename,
such as kde.package.unmask.

Possibility #2:

To have subdirectories within /etc/portage for each type of package.* file, such
as /etc/portage/package.unmask/kde.

In both possibilities, the kde part of the filename is unimportant. This idea
would allow for a much cleaner way to manage things within /etc/portage. You
could now make as many separate package.* type files as you wished, Portage
would be able to recognize and handle them all, and the end-user is potentially
saved a huge amount of maintenance work.
Comment 1 Zac Medico gentoo-dev 2005-12-02 17:04:40 UTC
*** Bug 114308 has been marked as a duplicate of this bug. ***
Comment 2 whereami 2005-12-02 22:48:23 UTC
I don't exactly agree that my include directive idea in bug 114308 is the same
as this idea, but i agree that they are related, so i'm content to clump them
together and discuss here.

I like "Possibility #1" better than #2, but I would make the suffix simply
'.unmask' (etc), so you would have something like /etc/portage/kde.unmask. no
need for unneccessarily long file names.

that said, i'm biased, but i still like my include directive idea even more.
Though, nothing would prevent the two from coexisting (ie, all
/etc/portage/*.unmask would be loaded, and any include's in them would be parsed
as well). I like the include because it allows the files to exist outside of
/etc/portage, and keep them near your overlay(s), so they can be associated with
them more easily, and removed more easily if needed.

I do see one potential problem with include: the possibility of recursive
inclusions. This shouldn't be hard to avoid in the implementation though
(maximum include depth, or maintain a list of already-read files).
Comment 3 Marius Mauch (RETIRED) gentoo-dev 2005-12-02 23:04:12 UTC
There won't be an "include" or "source" or whatever directive in pacakge.* files.
The code I added to trunk implements option 2, so you could simply use symlinks
to emulate the desired "include" behavior.
Comment 4 Jason Stubbs (RETIRED) gentoo-dev 2005-12-25 02:39:50 UTC
Released in 2.1_pre1.