Summary: | case insensitivity in portage | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Matt Boehlig <mboehlig> |
Component: | Unclassified | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED WONTFIX | ||
Severity: | trivial | CC: | fghellar, flash3001, gurligebis, rockoo |
Priority: | Low | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Change command line arguments to lowercase |
Description
Matt Boehlig
2002-04-23 02:14:24 UTC
Seemant: how about tackling these? is any work being done on this or has it been tossed to the backburner ? new packages are being added with the naming problem ... plus ebuilds are using things like 'DEPEND=dev-perl/Net-DNS' if its a matter of not enough time i'd be willing to donate time to taking care of this actually, it seems like case insensitivity is being built into portage at some point Yeah, we (drobbins and me) just discussed that(if you can even call it a discussion :o) We just mentioned it actually, to make Portage case-insensitive some time in the near future. Daniel, since we've mentioned this before that portage itself will have this functionality, I'm reassigning this to you and nick *** Bug 11101 has been marked as a duplicate of this bug. *** if portage is case-insensitive: - a package named Xyz is already in portage - somebody writes a package named - xyZ - coolest software around - everybody wants it. so how can this be added to portage? 1. rename one of them and let everyone know about it? 2. emerge xyz will return multiple packages(will require searching all packages) - prompt user which one she wants 1) Xyz 2) xyZ 3) get-everything One might argue that, no-one will ever name a new package like that. Well making portage case-insensitive could be as simple as converting the command line to lowercase before any other processing is done. I could write a simple patch to do it, but then packages that are improperly named in portage (LinNeightborhood for example) would become untouchable (couldn't install or remove them with emerge). As for the Xyz versus xyZ problem, I seriously doubt such a thing would come up. Other distributions (like <a href="http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Package">Debian</a>) require all names to be lower case too, so it would be an issue that the software's authors had probably already come across. There is also slightly changing the names to avoid a conflict (as in firebird and mozilla-firebird). Created attachment 22564 [details, diff]
Change command line arguments to lowercase
I attached a simple patch that converts every command line argument that
doesn't start with hyphens to lowercase before being processed. This means that
things like
emerge WindowMaker
now work when they didn't before (because windowmaker is lowercase in the
portage tree), but this patch also makes some programs (like LinNeighborhood)
untouchable as I mentioned in my comment above.
Anything new on this? I'd consider this a WONTFIX personally. Does it offer anything other than easing a transition of "misnamed" packages that could be eased in other ways anyway? The reason I originally entered this bug was because I noticed a discrepancy between the recommendation in the documentation (ebuild names should be all lower case) and actual ebuild names. Documentation is now located at http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1#doc_chap2 under the heading "Naming ebuild files". Unless comment #3 is going to come true sometime soon and there is a *real good* reason why we need case insensitivity in portage itself we can close this bug, or keep reading for another idea. The proposed patch would only work if all packages were lowercase and following the docs. I do not think that renaming all packages to lowercase is a good or easy idea. And some packages are more readable mixed case, especially when following upstream naming, such as: perl modules -> Apache-DBI and PHP modules -> PEAR-Net_SMTP. Maybe the best thing to do is to change the documentation. Recommend all lowercase package names except for certain cases such as Apache::DBI and such. But it's hard to know where to draw the line. WindowMaker is now "windowmaker" in portage while LinNeighborhood is still mixed case. Don't try to fix all the existing packages into lowercase, but enforce/recommend it for new packages as already stated in the docs: "We have some packages in Portage that don't follow these rules, but your packages should." Portage isn't going to go case insensitive anytime soon... aside from that, docs recommend doing lower case (which is enough imo). |