Re: Categorization of packages (was Re: Aptitude, ARs)
On Fri, Mar 14, 2003 at 05:03:22PM -0800, Osamu Aoki <email@example.com> was heard to say:
> On Fri, Mar 14, 2003 at 05:14:41PM -0500, Daniel Burrows wrote:
> > On Fri, Mar 14, 2003 at 11:54:41AM -0800, Osamu Aoki <firstname.lastname@example.org> was heard to say:
> > > I usually have patience to look at up to 25 (1 screen).
> > >
> > > 25*25*25 = 15625 branch ends.
> > That's only true if it's balanced; remember that about half those
> > packages are editors ;-) Also, some leaves might appear in multiple
> > places.
> Yes. That is why at least 3 levels are needed for current Debian
> archive. You always made a small sub group if the belong to both
> branch. But since these cross over sub-category are created manually,
> it is not much used. In Daniels sub-categorization, I was observing
> something like:
> editor-wordprocessor-tex node contain lyx package
> editor-wordprocessor and tex-tools nodes both contain
> editor-wordprocessor-tex node as sub-node
> Also some sub-category can cross over (tex and editor) but some are just
> subdivision of the other (game --> game-action, game-tetris, ...).
> Anyway, freshmeet categorization is interesting. I extracted its keys
> from the source of its web page :-) Instead of pushin current
> categorization, I may choose to use that one.
I'm not quite sure what you mean. There are some subgroups that
belong to multiple groups, but I can assure you that individual packages
can belong to multiple groups as well. (incidentally, I assume the LyX
example is hypothetical? LyX belongs to the TeX group and the Word
Processors group as far as I can see/remember)
I generally created specialized subgroups when I found large numbers
of packages which where related; if they all happened to reasonably
belong to two groups as well, I put the newly created group under both
Anyway, there are (according to apt-cache stats) exactly 12585 binary
packages TODAY. I think that you're being too optimistic if you believe
a natural (ie, easy to navigate) categorization exists which is balanced
enough to squeeze this into 3 levels and 25 leaves in each lowest
I'm not sure about the freshmeat categorization system -- I haven't
used it enough to really be familiar with it.
> > > Can you change [?] in New categorical browser to display this
> > > information. Also please add pointer to 'l' in menu.
> > Which information?
> > "l" isn't in the menu for technical reasons :(
> As you said in document:
> > PACKAGES ===> LIMIT ===> GROUP POLICY 1 ===> (GROUP POLICIES 2..N) ==> TREE
> > Packages come from the package cache (on the left) and are filtered
> > through the tree's display limit, followed by any number of grouping
> > policies. Each grouping policy will take action on a package based
> > on the rules for that policy: it may discard the package altogether,
> > it may insert it into a tree, or it may pass it onto the next
> > grouping policy. These policies are produced by "grouping policy
> > factories". Grouping policy factories are classes which, as the name
> > suggests, have a method which produces a grouping policy when called
> > They are essentially closures hacked into C++.
> I thought 'l' gives some way to "limit". Where is its documentation
> other than the source code. Or you mesn it does not work yet?
Oh. They're documented in the section "SEARCHING, LIMITING, AND EXPRESSIONS".
I think that for the full documentation, it might help if it were
written in some structured format with a table-of-contents. I'm not
sure if I want to include a viewer for something like that in aptitude
or if I should ship HTML and spawn a web browser, but the README is a
bit unwieldly right now.
/-------------------- Daniel Burrows <email@example.com> -------------------\
| "You see, I've already stolen the spork of wisdom |
| and the spork of courage.. together with the spork |
| of power, they form the mighty...TRI-SPORK!" -- Fluble |
\---------------------- A duck! -- http://www.python.org ---------------------/