public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-portage-dev] few more portage-ng "feature proposals"
@ 2003-12-17  8:52 George Shapovalov
  2003-12-17 13:34 ` Pieter Van den Abeele
  0 siblings, 1 reply; 2+ messages in thread
From: George Shapovalov @ 2003-12-17  8:52 UTC (permalink / raw
  To: gentoo-portage-dev

Hi gang.

Here go a few more ideas I decided to throw in. 
I must mention that these are mostly reiterations of some points that were 
raised at different occasions in previous (and often old; yea, I really am 
doing too much of "hey this was discussed like a year ago" stuff lately :)) 
discussions of portage functionality/enhancements. Thus effectively this is 
going to be more of an overview than a new proposal. I did not seem to see 
them mentioned yet, but in case some of them are dups I apologise.
So, here goes:

1. Multilevel categories. For example:
dev-*  =>  dev/langs/{procedural/,functional/...}
                      lib/...
                      util/...
Support for arbitrary "deepness" is preferable.
The tree is getting bigger and bigger and this feature should keep it 
browsable for some time to come. Addition of similar category browser to 
http://packages.gentoo.org/ would be nice too.
(I couldn't get through to it for some reason now to check if its not there. 
So if it is I apologise :)).

2. Support for duplicate package names under different categories.
There was a (mildly) heated discussion some time ago on that one with may be 
only silghtly more people on the pro side. Having dealt with my portion of 
dups and having been in situation when already included package with the same 
name complicates the (naming) issue I arrived to conclusion that it is 
inevitable. The reality is that we already have couple of such dups and we 
have to deal with this anyway (btw, even with present portage things seem to 
work even if in a semisupported fashion).

These two "features" are connected, so I'll put here some common technical 
elaboration. The debate on "dups" one mostly concentrated around flat vs 
categorised namespace or, on the user level, search vs browse paradigm. 
Following the "Gentoo is about choice" line of thought I see only one 
possible decision here, - to provide both features :). The solution may be 
simple - treat the "category path" as a part of package name. For the search 
purposes make the search routines a bit more intelligent, making it to accept 
request for searches in "basename" only or any other part of the 
categorization.

What should happen when the dups are requested or encountered?
If during search - report all matches (just as it does it now anyway),
if during action request (e.g. emerge or unmerge), stop and ask for 
clarification.

One other argument for abandoning categorization was that it is hard to select 
"one true" category for a package in many cases as it really might belong to 
multiple. This immediately suggests the following:

3.  Add search keywords (or some other tags) to packages.
I believe this was considered for the extended metadata format in the future 
and even mentioned not so long ago (although I don't remember where and when 
and I don't see relevant GLEP, should I file one?). I am bringing this up 
largerly to complete "the picture" started in pp 1 and 2.

Taken together these three "enhancements" should make it possible to maintain 
both search and browsing ability for portage database even as it continues to 
grow.


Now last but not least for this email

4. Partial portage checkout.
This also was already touted. One of the variants was even recently proposed 
right here, in this list. I am mentioning this mostly to reiterate and remind 
other possible approaches to this.

4.1 "Thematic" checkouts.
Goes along the (proposed) work on "partitioning" the tree for particular 
tasks. The "corporate" theme was mentioned not so long ago (something along 
these lines had a "server" tag in discussions happened about 6-12 month ago I 
believe). As long as there is work on supporting a thematic tree "partition" 
and as long as it is in a reasonablt consistent state it should be possible 
to provide such thematic checkout functionality

4.2 "Stability" checkouts.
Similar partitioning, but based aroung the presumed stability of packages. 
This may follow the present arch/~arch divide or more levels as/if we 
introduce them. Apparently this should be inclusive, i.e. poeple who want 
"testing" stuff are goind\g to get "stable" as well.

These two seem like a lot of work, but in reality major part of this work is 
done in package maintainership and other regular activity (that would 
otherwise happen anyway). portage-ng would basically just need to provide 
some support functionality for that.

On the contrary the next one (the one that was proposed not so long ago) seems 
to require not as trivial extension to portage, as it would need some 
nontrivial infrastructure support.

4.3 "On demand" checkouts.
I cannot find it right now, but I remember this was proposed on this list just 
a bit over a week ago. Or was it on -dev? Anyway, the idea is to checkout 
some "base" collection by default and then do checkouts of more stuff as user 
requestes (may be indirectly as dependencies).

Oh, and we might consider getting all three (or more if they are requested) of 
them, they don't seem to be mutually exclusive :).

George


--
gentoo-portage-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [gentoo-portage-dev] few more portage-ng "feature proposals"
  2003-12-17  8:52 [gentoo-portage-dev] few more portage-ng "feature proposals" George Shapovalov
@ 2003-12-17 13:34 ` Pieter Van den Abeele
  0 siblings, 0 replies; 2+ messages in thread
From: Pieter Van den Abeele @ 2003-12-17 13:34 UTC (permalink / raw
  To: gentoo-portage-dev

On 17 Dec 2003, at 09:52, George Shapovalov wrote:

> 1. Multilevel categories. For example:
> dev-*  =>  dev/langs/{procedural/,functional/...}
>                       lib/...
>                       util/...
> Support for arbitrary "deepness" is preferable.
> The tree is getting bigger and bigger and this feature should keep it
> browsable for some time to come. Addition of similar category browser 
> to
> http://packages.gentoo.org/ would be nice too.
> (I couldn't get through to it for some reason now to check if its not 
> there.
> So if it is I apologise :)).

I'd support this by considering system components to have unique names 
and consider categories to be syntactic sugar, however if names are not 
unique :

> 2. Support for duplicate package names under different categories.
> There was a (mildly) heated discussion some time ago on that one with 
> may be
> only silghtly more people on the pro side. Having dealt with my 
> portion of
> dups and having been in situation when already included package with 
> the same
> name complicates the (naming) issue I arrived to conclusion that it is
> inevitable. The reality is that we already have couple of such dups 
> and we
> have to deal with this anyway (btw, even with present portage things 
> seem to
> work even if in a semisupported fashion).
>
> These two "features" are connected, so I'll put here some common 
> technical
> elaboration. The debate on "dups" one mostly concentrated around flat 
> vs
> categorised namespace or, on the user level, search vs browse paradigm.
> Following the "Gentoo is about choice" line of thought I see only one
> possible decision here, - to provide both features :). The solution 
> may be
> simple - treat the "category path" as a part of package name.

when names aren't unique, create a unique name simply by taking into 
account category. (category no longer is syntactic sugar, but gets a 
semantic.

> 3.  Add search keywords (or some other tags) to packages.
> I believe this was considered for the extended metadata format in the 
> future
> and even mentioned not so long ago (although I don't remember where 
> and when
> and I don't see relevant GLEP, should I file one?). I am bringing this 
> up
> largerly to complete "the picture" started in pp 1 and 2.
>
> Taken together these three "enhancements" should make it possible to 
> maintain
> both search and browsing ability for portage database even as it 
> continues to
> grow.

that would be trivial to implement, but it does have a (small) impact 
on finding packages for which a given keyword matches. But there are 
many ways to overcome this :-)

> Now last but not least for this email
>
> 4. Partial portage checkout.
> This also was already touted. One of the variants was even recently 
> proposed
> right here, in this list. I am mentioning this mostly to reiterate and 
> remind
> other possible approaches to this.

Storing the 'knowledge base' in a database (such as Mysql) or in a 
ports dir which allows for partial checkout should all be options 
available to the user, or at least implementable.

> 4.1 "Thematic" checkouts.
> Goes along the (proposed) work on "partitioning" the tree for 
> particular
> tasks. The "corporate" theme was mentioned not so long ago (something 
> along
> these lines had a "server" tag in discussions happened about 6-12 
> month ago I
> believe). As long as there is work on supporting a thematic tree 
> "partition"
> and as long as it is in a reasonablt consistent state it should be 
> possible
> to provide such thematic checkout functionality

see previous answer. What exactly do you mean by 'checkout'? I'd 
interpret checkout as: updating (through rsync or whatever) only the 
relevant (using thema) part of the tree.
This might be difficult to implement server wise. I see no problems 
client wise.

> 4.2 "Stability" checkouts.
> Similar partitioning, but based aroung the presumed stability of 
> packages.
> This may follow the present arch/~arch divide or more levels as/if we
> introduce them. Apparently this should be inclusive, i.e. poeple who 
> want
> "testing" stuff are goind\g to get "stable" as well.

A keyword can be seen as a tag,

Do you mean only for instance: updating only the stable packages and/or 
tagged 'foo'? This might become a problem server-side, but 
theoretically it should be possible.

> These two seem like a lot of work, but in reality major part of this 
> work is
> done in package maintainership and other regular activity (that would
> otherwise happen anyway). portage-ng would basically just need to 
> provide
> some support functionality for that.
>
> On the contrary the next one (the one that was proposed not so long 
> ago) seems
> to require not as trivial extension to portage, as it would need some
> nontrivial infrastructure support.
>
> 4.3 "On demand" checkouts.
> I cannot find it right now, but I remember this was proposed on this 
> list just
> a bit over a week ago. Or was it on -dev? Anyway, the idea is to 
> checkout
> some "base" collection by default and then do checkouts of more stuff 
> as user
> requestes (may be indirectly as dependencies).

That would also be possible, the problem is server side. No problem at 
all client side.

> Oh, and we might consider getting all three (or more if they are 
> requested) of
> them, they don't seem to be mutually exclusive :).

sure. I only see problems server wise, if I remember it correctly the 
current mirrors have much bandwidth to spare but less storage and 
computing power.

Pieter

> George
>
>
> --
> gentoo-portage-dev@gentoo.org mailing list


--
gentoo-portage-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-12-17 13:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-17  8:52 [gentoo-portage-dev] few more portage-ng "feature proposals" George Shapovalov
2003-12-17 13:34 ` Pieter Van den Abeele

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox