Gentoo Archives: gentoo-dev

From: Brian Harring <ferringb@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: New category proposal
Date: Wed, 11 May 2005 10:41:49
Message-Id: 20050511104218.GC13132@exodus.wit.org
In Reply to: Re: [gentoo-dev] Re: New category proposal by Georgi Georgiev
1 On Wed, May 11, 2005 at 06:01:17PM +0900, Georgi Georgiev wrote:
2 > maillog: 11/05/2005-03:40:04(-0500): Brian Harring types
3 > > > On Wed, May 11, 2005 at 09:46:03AM +0200, Kevin F. Quinn wrote:
4 > > > Here's my suggestion, for what it's worth :)
5 > > >
6 > > > The layout on disk and the semantics of categories do not need to be related.
7 > > Yes and no. You're assuming that people don't use the layout on disk for digging
8 > > around without calling portage. Personally, I do.
9 > >
10 > > > I like the idea of using the first character of a package name as the
11 > > > sub-directory name. This can be extended more deeply as and when necessary to
12 > > > avoid over-large directories which cause problems on some filesystems. e.g.
13 > > > for sudo you get "s/sudo" and vim-sudo "v/vim-sudo". This is
14 > > > architecture-neutral, rsyncable, scalable, and not too difficult for users to
15 > > > parse manually (see later for searching through categories). If the algorithm
16 > > > portage would use to locate a package is such that it doesn't mandate the depth
17 > > > (i.e. tries "package", "p/package" if "p/" exists, "p/a/package" if "p/a/"
18 > > > exists) then overlays can have a different depth to the rsync tree; if you only
19 > > > have a few packages in overlay then they need not be in subdirectories at all.
20 > > Re-asserting that the fs layout *does* matter, how is that more intuitive when trying
21 > > to track down the ebuild for dev-util/diffball ?
22 >
23 >
24 > The fact that the directory where diffball is is easily deducable by its
25 > name. As it is, I'd be a bit lost if I had to guess whether diffball is
26 > in app-arch or dev-util. Even if I remembered it was something
27 > dev-related I'd still be inclined to look in sys-devel.
28 dev-util is accurate (it's a compressor, but a specialized variant,
29 same as patch is). From it's current fs location/layout, we get thus-
30 quick lookup on the atom, and inference of it's intentions. This is
31 why we have xml at the category level, for example.
32
33 One thing that's being unstated also- it's implicitly stated that this
34 directory structure is somehow easier to look up a package. If you
35 know the _exact_ package name, maybe. Otherwise, you're falling back
36 to a search tool (which defeats to some degree the whole arguement for
37 flattened namespace).
38 Some quicky python, grouping by first char of the package name, and
39 you wind up with (top 8)-
40 421, 521, 571, 582, 657, 663, 664, 746
41 Seperate directories within an individual directory. Say 'd' for
42 example, and we'll pretend 746 is the count of packages that start
43 with 'd'. That's a butload of directories to go digging in.
44
45 The response would be, "well then extend it to the first two chars
46 after the first dir". You narrow it down, but add another layer of
47 dirs, again, for what gain?
48
49 See, the thing I find odd about this thread/request is that
50 essentially breaking it down to first letter groupping, is being
51 argued as being _easier_ for people, while allowing multi cats, or
52 just flat out dropping the category aspect. The example above, imo,
53 proves otherwise.
54
55 Keep in mind at this point, the discussion is whats easiest for
56 _humans_. What's easiest for code/comp is another matter, and (within
57 limits) can work with anything that's thrown at it.
58
59 > > How many directories deep would I have to go before I reached the
60 > > ebuild?
61 >
62 > Does it matter? You know the path exactly. It's p/portage. It's
63 > not ... "was it sys-apps/portage or app-portage/portage"?
64 I know the path as sys-apps/portage already though. Doesn't that
65 count for something? :)
66
67 Or, a bit more likely case, I know the type of the package, the
68 category, but don't recall it's exact name. What y'all are proposing
69 forces the user to use a tool, rather then just a quicky ls.
70
71 > > > Having said that, some things could be done now. If a flat package namespace
72 > > > is desirable, the existing package name clashes could be resolved by renaming
73 > > > the few packages that clash.
74 > > 74 packages, roughly, out of 9429 roughly.
75 >
76 > 76/9295, which is not that bad, considering about half of them are
77 > emacs/xemacs related.
78 'cept either you, or someone else was proposing a totally flat
79 namespace, no cats in the atoms. That means the count of changes (the
80 76 above is just # of conflicting packages) is around 19000, plus a
81 fairly large amount of portage modifications.
82
83 > > > Category could be added as a field in
84 > > > metadata.xml, so that a package could "belong" to multiple categories.
85 > > > The query/search tools could be enhanced to scan this metadata (perhaps including
86 > > > the current category directory as an implied entry in the metadata.xml).
87 > > If that's the goal of the "belong to N categories" thread, strictly searching,
88 > > sure, although I don't like it. It can't become an atom for *DEPEND due to the cpv
89 > > nonconflicting bit.
90 >
91 > I personally want to see the category part *disappear* from the *DEPEND
92 > which is one of the reasons to advocate a flat tree. If the category (or
93 > part of it) goes in the package name, so be it, but at least there will
94 > be no package moves to break older ebuilds or outdated overlays.
95 Frankly, you need to give a *really* damn good reason for why this is
96 better. I don't think it is, convince me otherwise.
97
98 What do we gain from a flat namespace?
99 Right now, I can infer an atom out of a DEPEND string's purpose to
100 some degree, based upon it's category. To head off the "well you
101 don't need to know the category, you should know the packages
102 intentions if you're modifying the ebuild", that dodges the point; via
103 the category portion of an atom, I can infer at least -intention- of a
104 package.
105
106 Ignoring changes required (have stated them already, no point in
107 sniping ya over it), what _exactly_ do we gain from the change?
108 ~brian
109 --
110 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] Re: New category proposal Alec Warner <warnera6@×××××××.edu>