Many of the packages in portage do not follow the standard uppercase / lowercase naming convention
specified in "Gentoo Linux Developers HOWTO" [http://www.gentoo.org/doc/gentoo-howto.html]. This is
currently a cosmetic bug which could lead to bigger problems in the future. It is better to attack
the problem quickly so we don't have a backlog of misnamed packages when the list becomes very large.
Also, if the dependcy checker in Portage is case-sensitive, then when a package's name is corrected,
all dependant ebuild files must also change.
There are also differences in the behaviour of emerge. Searches are case-insensitive while installs
are case-sensitive. (seperate bug perhaps, or by design)
An example: x11-wm/WindowMaker
# emerge -s windowmaker finds WindowMaker
# emerge windowmaker cannot find WindowMaker
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
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
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
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
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
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
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).