On Thu, May 12, 2005 at 08:01:23PM +0100, Stroller wrote: > >>>* Unique ID strings for packages, zynot style. Messy as hell though, > >>>DEPEND="foo/bar {12379812AD7382164BD87678652438FC65E43A2}" doesn't > >>>have > >>>the same kind of ring to it... > >> > >>Maybe I'm just a messy person, but I really like this. > >So does Microsoft. The registry has many entries where 128bit (?) > >object-IDs are used. Very interesting to debug. > > I'm going to ignore that. This thread started because the current > category/name naming convention causes interesting conditions. I > appreciate that generally Microsoft Are Not Our Favourite Software > Company, but giving them as an example doesn't inherently make unique > IDs bad, and 128-bit ones are not necessary in this case. I suspect his point was that a 128-bit ID is holy hell on frail humans, versus a category/package string (which isn't).
> >> It prevents upstream naming collisions > >But reduces readability for humans to zero. We don't want that. > > Humans are used to dealing with indexes - we remember phone numbers > easily Majority of the population don't have 1000+ phone numbers memorized though (which is roughly what we're talking about here for the package equiv). > and if we're looking up several things in a large volume, then > we're used to using bookmarks or noting down page numbers. A six figure > decimal packageID allows for a million packages in the Portage tree > (and I'm assuming versions will be separate, anyway), a five figure hex > ID would allow far more. Heh, counter example. Consider cell phones, people search for numbers based upon arbitrary names associated with the digits (one could view our category/package bit as the same). > Yes, arbitrary unique IDs would require an index tool to access ebuild > name / category data, but surely there is little choice if > naming-collisions are to be avoided and multiple categories are > desired? Surely any human-focused naming convention will cause > collisions and introduce potential for confusion? The current > categories divide collisions into separate spaces, but they don't solve > the problem of foo-player being eligible for both the media-CDplayers > and audio-mp3rippers categories. One problem, still need to resort to a human readable representation for specifying depends. Stating DEPEND="mpeg? ( \d{16} ) \d{16}" would be hell on devs. An automated approach could be leveled, but would need a *really* good reason to explain the loss of DEPEND readability via an editor. > >At least you haven't tried to optimize it all by using XML ... Antarus, was that you who tried the cache backend using xml? ;) > >>but the rest of us will use > >>`esearch -o "%p\n" "" | grep -e category -e keyword`. > >*head explodes* > >No. > That's the first time I used that command, but it only took me two > minutes to look up & test. Since a dedicated index tool would clearly > be required, I'm sure it would have better & more useful syntax. > Currently I assume that Mr Harring searches for all the applications in > a category by typing `ls -d /usr/portage/app-category/*` - wouldn't it > be easier to use `esearch --category country`. Not only would it list > them all, but multiple categories per package would also allow those to > be shown that might debatably be categorised as "western". actually... I use emerge -s @category emerge's speed is an issue granted, but not a reason to restructure (the speed issue isn't related to it, it's initialization overhead of import portage). > >...It might make portage more resilient to one kind of problem, > >but forget debugging then. > > Do we have 65000 unique packages in the tree? Would a four figure hex > "part number" be that hard to remember when you're debugging package > names? Yeah, imo. What gain is there in having to memorize 1623 is openssh, just so I can comprehend the DEPEND string when glancing over an ebuild? > Again: I know I'm not qualified to advocate this as a serious > suggestion for adoption by Gentoo, so I'm just explaining _why I like > it_. content is what matters, not the speaker or his/her qualifications :) ~brian -- gentoo-dev@gentoo.org mailing list