Gentoo Archives: gentoo-dev

From: George Shapovalov <george@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Portage Subcategory Capabilities?
Date: Mon, 04 Oct 2004 07:16:02
Message-Id: 200410040016.10573.george@gentoo.org
In Reply to: Re: [gentoo-dev] Portage Subcategory Capabilities? by Andrew Gaffney
1 On Sunday 03 October 2004 22:34, Andrew Gaffney wrote:
2 > This has been brought up before in the past and been shot down, but I'll
3 > humor you. If support for this were to be added into Portage, there would
4 No it wasn't. Discussion just felt off without leading to any conclusion as it
5 happens quite often. Well, actually such discussions were happening multiple
6 times in the past and while in some it may have felt like "shot down" in
7 others it even went as far as being added to portage-ng features list ;).
8
9 > be a few things to think about:
10 >
11 > 1) this will cause a performance hit no matter how it is done
12 > 2) how will Portage know the difference between a package and another
13 > sub-category when it is walking the tree? It could do something like
14 Grouping both as they are basically the same.
15 Directory walker is a pretty standard piece of code discussed in many text
16 books for various languages. Python has explicit support for some basic
17 dirwalker functionality in its standard library.
18
19 As for distinguishing: in prior discussions there were calls to go the
20 opposite route and flatten namespace. That is to get rid of categories
21 altogether and rely solely on search. Thus one approach would be to make one
22 pass accumulating all package names and then work off that (store path to
23 ebuild dir in the cache for example). However that may not be optimal as this
24 will disallow duplicate package names (which we *have* irrespectively of
25 whether this is good or bad).
26
27 A simpler and more efficient approach may be to simply prepend path to package
28 name, possibly substituting '/' with some other separator if that's a
29 problem. This will give a flat list of effective package names (that include
30 all their categorization) which may even simplify further processing.
31 Actually having a separate pass may be even more of an advantage as portage
32 works off its cache for the most part anyway and this cache is created
33 server-side already. Thus this change might even speed things up :) (well,
34 not really, but shouldn't cause significant performance degradation either).
35
36 Ebuilds will have to specify full category for each dependency with such
37 approach, but that's a policy anyway..
38
39
40 > 3) the many additional directories would cause an 'emerge sync' to take
41 > longer than it does now.
42 Khm, not really sure about this one. If it really becomes that bad there were
43 ways discussed on improving syncing (cvsup or collating small files comes to
44 mind, but that's a separate discussion).
45
46 > Basically, you'd be pissing everyone off with little benefit (except maybe
47 > to developer sanity). Keep in mind that I probably have absolutely no idea
48 I wouldn't call this a small benefit, considering that its not only
49 developers' sanity at stake here, I am pretty sure users would appreciate a
50 more sane portage structure as well :).
51
52 > what I'm talking about and nothing I say should be accepted as fact without
53 > verifying it elsewhere.
54 That's what we are trying to do :).
55
56 George
57
58
59 --
60 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] Portage Subcategory Capabilities? Georgi Georgiev <chutz@×××.net>
[gentoo-dev] Unique package names Georgi Georgiev <chutz@×××.net>