I've added a ECVS_LOCALNAME option to the CVS eclass to allow checking out to a directory other than the server's module name. I'm writing an ebuild for the ivtv driver, and this is a helpful feature to have (the driver is in ivtv/ivtv/driver, and I hate having extra directories getting created and more files being downloaded than are necessary). Patch is available at http://www.greyshift.net/gentoo/cvs.eclass.diff . I was going to include it in the additional information box, but I don't trust IE's ability to paste it there properly. Reproducible: Always Steps to Reproduce: 1. 2. 3.
I was thinking about this a little more, and it seems like it may be better to default the checkout dir to ${PN} instead of $ECVS_MODULE. Although this would force another checkout of previously downloaded modules, it seems like it would make the cvs-src directory structure nicer. Even better would be if there was an env var for the package category. (I don't see one in the ebuild documentation) Then the cvs-src tree could store the downloaded sources in directories mimicing the portage tree.
Created attachment 12322 [details, diff] Diff with default set to ECVS_MODULE To change the default to ${PN}, just change the line: [ -z "$ECVS_LOCALNAME" ] && ECVS_LOCALNAME="$ECVS_MODULE" to: [ -z "$ECVS_LOCALNAME" ] && ECVS_LOCALNAME="${PN}" (as if you couldn't figure that one out on your own)
Comment on attachment 12322 [details, diff] Diff with default set to ECVS_MODULE This is my original patch. It's trivial to change the default checkout name to ${PN}.
Created attachment 12333 [details, diff] Fixes updating a checked out module (Sorry about the redundant earlier comments. I didn't see them on the attachment's page, and so I thought they hadn't gotten posted) This is a patch that fixes updating a module that uses ECVS_LOCALNAME. cmdupdate was updating the old checkout dir, which is why I didn't notice it before (I just cleaned out my cvs-src directory, and then updating stopped working)
Comment on attachment 12333 [details, diff] Fixes updating a checked out module Please excuse the stupidity, but I created the patch backwards.
Looks nice. I'll be committing it farily soon...
Back from a short vacation. Reviewed the change again and committed. It can't affect ebuilds that don't set ECVS_LOCALNAME, anyway.