* [gentoo-dev] Categories @ 2003-06-03 18:01 Sebastian Werner 2003-06-04 0:32 ` George Shapovalov 0 siblings, 1 reply; 5+ messages in thread From: Sebastian Werner @ 2003-06-03 18:01 UTC (permalink / raw To: gentoo-dev Hi! To continue the story of music-compose a bit... There a some other categories I want to split. For example: net-mail, net-www, ... net-mail -> - net-mail-server (exim, sendmail, ...) - net-mail-clients (sylpheed, evolution, ...) net-www -> - net-www-server (apache, cherokee, ...) - net-www-plugins (netscape-flash, netscape-plugger, ...) - net-www-modules (mode_dav, mod_gzip, ...) - net-www-clients (epiphany, mozilla, opera, ...) Another more advanced solution I think, is to handle categories something like epiphany. "Add one or more categories to a application and find it in all". We must move all apps out of there categories flat in the main-directory - or eventually better in this case one new created dir. Comments? Sebastian -- Sebastian Werner Karlsruhe http://www.sebastian-werner.net -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-dev] Categories 2003-06-03 18:01 [gentoo-dev] Categories Sebastian Werner @ 2003-06-04 0:32 ` George Shapovalov 2003-06-04 14:23 ` Rolf Veen 0 siblings, 1 reply; 5+ messages in thread From: George Shapovalov @ 2003-06-04 0:32 UTC (permalink / raw To: gentoo-dev On Tuesday 03 June 2003 11:01, Sebastian Werner wrote: > net-www -> > - net-www-server (apache, cherokee, ...) > - net-www-plugins (netscape-flash, netscape-plugger, ...) > - net-www-modules (mode_dav, mod_gzip, ...) > - net-www-clients (epiphany, mozilla, opera, ...) So, are we finally getting serious about more than two levels of categorisation? I was watching related topics with interest lately and will try to summarise what has been said so far. If I am missing something, please do comment on it. Basically most of the related proposals were coming down to treating every categorisation level as a dir in order to enhance browsability of the tree. Thus we would get only a handfull top-level categories containing more subcategories, possibly containing more subcategories... Like in this case it would be /net/www/{server,plugins...}. Alternatively there was a question whether we may consider abandoning categorisation altogether and going with a flat namespace (and corresponding lack of categorisation), relying only on search capabilities. More on searches later.. The main objection to this was that categories are actually used and appreciated (by me included) since some people do browse the tree on occasions (its like library access. Sure you can search for pretty much everything, but somethimes nothing beats coming down to the shelves and finding what other books are neaby the one you were able to find). Other complications with such approach include high probability of name clashes in flat namespace (what we already do experience) and the fact that this indirectly contradicts the policy, which requires categories to be listed in [R|P]DEPEND statments.. One downside of purely tree-like structure that was mentioned is the difficulty of unambiguous categorisation of certain packages. Enhancement calls were made, such as the one below: > Another more advanced solution I think, is to handle categories > something like epiphany. "Add one or more categories to a application > and find it in all". We must move all apps out of there categories flat > in the main-directory - or eventually better in this case one new > created dir. I should probably leave it up to Nick to comment on implementation details, however my uderstanding is that it is really beneficial to have a tree-like structure for at least internal data representation, as it makes it easy to traverse and search by particular relation. If this inernal structure is usefull for browsing, so much the better. However the question of multiple logical placement still stands. It has been addressed in general by proposals to add some search keywords to ebuilds or package directory in some way. Well, KEYWORDS are already used (albeit for a different purpose, though IIRC (and I am not rally sure here) originally such use was considered as well, but I think it was decided to narrow the scope in order to avoid overloading it), but it may be possible to introduce some other var, say SEARCHKEYS and add database indexing by these keys functionality to portage (and naturally cache the index tables in addition to what is already being cached). This should allow portage tree to be treated like a "real" database and should cover the requirement of multiple logical adherence. One remark is possible here: that ebuilds themselves are probably not the ideal place for the SEARCHKEYS, as this information will be for the most part duplicated among all the different versions. It would make sence to store this informaation in some "central" to the package place and I seem to remember this mentioned as one of the proposed provisions of "enhanced" ChangeLog's discussed back quite some time.. Ok, this seems to be pretty much it, at least from what I remember being mentioned on this topic. Again, if anybody thinks I ommitted something, please stand up and mention it :). George -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-dev] Categories 2003-06-04 0:32 ` George Shapovalov @ 2003-06-04 14:23 ` Rolf Veen 2003-06-06 16:35 ` Paul de Vrieze 0 siblings, 1 reply; 5+ messages in thread From: Rolf Veen @ 2003-06-04 14:23 UTC (permalink / raw To: gentoo-dev George Shapovalov wrote: > Ok, this seems to be pretty much it, at least from what I remember > being mentioned on this topic. Again, if anybody thinks I ommitted > something, please stand up and mention it :). Namespace orthogonal to categories. Categories change, as packages are being added; if a category has more that N (lets say 50, for example) entries it looses its usefullness. While browsing for packages it is natural to have some level of depth; two or tree levels of categories should be ok. Also a package can fit into more that one category. Let categories be a graph. A symlink hierarchy, for example. But since categories are variable and somewhat arbitrary, don't let the basic system, the core algorithms, depend on them. So take a flat namespace for packages, resolving name conficts in the download (url to local dir) phase, adding the necesary information to the ebuild. Concluding, have a flat namespace for machine interaction, and an arbitrarily complicated category graph on top of that for user interaction. Well, it's an opinion. Rolf. -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-dev] Categories 2003-06-04 14:23 ` Rolf Veen @ 2003-06-06 16:35 ` Paul de Vrieze 2003-06-09 7:30 ` Rolf Veen 0 siblings, 1 reply; 5+ messages in thread From: Paul de Vrieze @ 2003-06-06 16:35 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: signed data --] [-- Type: text/plain, Size: 2191 bytes --] On Wednesday 04 June 2003 16:23, Rolf Veen wrote: > George Shapovalov wrote: > > Ok, this seems to be pretty much it, at least from what I remember > > being mentioned on this topic. Again, if anybody thinks I ommitted > > something, please stand up and mention it :). > > Namespace orthogonal to categories. > > Categories change, as packages are being added; if a category has more > that N (lets say 50, for example) entries it looses its usefullness. > While browsing for packages it is natural to have some level of depth; > two or tree levels of categories should be ok. Also a package can fit > into more that one category. Let categories be a graph. A symlink > hierarchy, for example. Unfortunately CVS does not work well with symlinks, so this is not really an option. Also there is an advantage in being able to have one unique name for a package. > > But since categories are variable and somewhat arbitrary, don't let > the basic system, the core algorithms, depend on them. So take a flat > namespace for packages, resolving name conficts in the download (url > to local dir) phase, adding the necesary information to the ebuild. We need unique names. For me category/name is a good way, and certainly better than UID's (Like microsoft uses) as those are impossible to remember and easy to do wrong. Also we have a central repository, so we don't need to worry about clashes that much. > > Concluding, have a flat namespace for machine interaction, and an > arbitrarily complicated category graph on top of that for user > interaction. Flat namespaces are actually slower in machine interaction. There are allready very many packages in portage currently. Thousands of entries in a directory is NOT fun to look at, or to search for a computer (albeight doable). My suggestion would be an alias list simmilar to the virtuals list, but one that is not allowed inside ebuilds. In those ways packages can still be presented in multiple categories, while the aliasses do not interfere with the inner workings of portage. Paul -- Paul de Vrieze Researcher Mail: pauldv@cs.kun.nl Homepage: http://www.devrieze.net [-- Attachment #2: signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-dev] Categories 2003-06-06 16:35 ` Paul de Vrieze @ 2003-06-09 7:30 ` Rolf Veen 0 siblings, 0 replies; 5+ messages in thread From: Rolf Veen @ 2003-06-09 7:30 UTC (permalink / raw To: gentoo-dev Paul de Vrieze wrote: > Unfortunately CVS does not work well with symlinks, so this is not > really an option. Not unavoidable. Let a script and a descriptor combination reconstruct the whole hierarchy, i.e., ebuild the categories. Starting from a descriptor in XML (for example), you could ebuild a symlink hierarchy, or you could choose other backends too, such as a database (in a distant future). Or you could even include categories in each ebuild descriptor. Each package says to which categories it belongs. > Flat namespaces are actually slower in machine interaction. There are > allready very many packages in portage currently. Thousands of > entries in a directory is NOT fun to look at, or to search for a > computer (albeight doable). Examples of what I'm proposing are Sourceforge and Freshmeat. Both use flat namespaces, and on top of that a search engine and a complex category structure. And they manage a lot of entries ! Sourceforge solves the directory problem in the form /g/ge/gentoo; that can be handled transparently by the tools. Cheers / Groeten. Rolf. -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-06-09 7:33 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2003-06-03 18:01 [gentoo-dev] Categories Sebastian Werner 2003-06-04 0:32 ` George Shapovalov 2003-06-04 14:23 ` Rolf Veen 2003-06-06 16:35 ` Paul de Vrieze 2003-06-09 7:30 ` Rolf Veen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox