Dale posted on Sun, 18 Dec 2011 22:48:27 -0600 as excerpted: > Ulrich Mueller wrote: >> On Sun, 18 Dec 2011, Alexandre Rostovtsev wrote: >>> The problem is that ($PN, $CATEGORY) pairs are not unique.
>> Thinking about it a little more, I believe that ${CATEGORY} shouldn't >> appear anywhere in the path of installed files, for the following >> reasons: >> >> 1. Users may not know the category of a package > I like the logic in #1 as a user. What if two packages have the same > name but different categories tho? It is rare but I do run into this > from time to time. I try to emerge something but am informed by emerge > that I have to include the category for emerge to know exactly which > package I want installed. At present that's semi-accounted-for by including version-revision. Luckily, $PN clashes don't often have the same versions installed at the same time, so including it helps avoid clashes on $PN only. The proposal removes version-revision, which would ordinarily be good, but in the context of $PN clashes causes problems. I believe that's the rock upon which most previous similar proposals have foundered. > I do agree that docs are sometimes hard to find. The only way I have > any success is equery files <package name> then see where it put them or > if there is none to find. For docs, I used to have problems too, but it's been awhile, I think because I've learned to work with the system, in this case, tab- completion (the next point), not against it. I do sometimes use equery files or equery belongs to find where a package put files, but seldom for docs in the docdir, since I know where to look and can tab-complete for them. But for what manpages a package includes, certainly, and over the years I've found a number of commands I didn't know about, that way. =:^) >> 2. It doesn't play well with bash completion. When searching for >> documentation of a specific package (and only knowing PN), one can >> currently type the pathname up to PN and press tab which will >> complete PVR. With CATEGORY _before_ PN this would no longer work. I often find myself doing equery list, simply to find the category, as when reporting bugs or checking to see which binpkg versions I still have around, etc. But the various package trees (ebuild, binpkg, installed- db) are on filesystems that aren't normally mounted unless I'm working on them, on mds that likewise aren't normally assembled, and having to assemble an md and mount a filesystem just to be able to do an equery list, so I can lookup a doc of a package that's under some category name I don't remember, just because someone broke the previously working bash- completion lookup method... Very much ungood! >> 3. CATEGORY and SLOT are Gentoo specific [and n]either of them should >> appear in the directory structure of installed packages. >> Leave things as they are. It's not perfect, but IMHO your approach >> would create at least as many problems as it would solve. Indeed. If a method allowing permanent bookmarking is desired, scripts that create and update a tree of symlinks and/or uses existing portage phase hooks has already been mentioned. Someone can package such a script and as with any other package, people that want/need it can emerge and run it as necessary, without getting into the quagmire of confusing category names, broken tab-completion and potential doc-file collisions that this proposal is opening up. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman