Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 268950 - dev-util/git: nocvs support in manner of noperl
Summary: dev-util/git: nocvs support in manner of noperl
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Robin Johnson
URL: http://www.git-scm.com
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-07 16:18 UTC by Bernd Lommerzheim
Modified: 2009-10-04 18:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
git 1.6.3 ebuild patch (on git-1.6.3_rc4.ebuild) (git-1.6.3.ebuild.patch,364 bytes, patch)
2009-05-07 16:19 UTC, Bernd Lommerzheim
Details | Diff
git 1.6.3 nocvs patch (git-1.6.3-nocvs.patch,1.60 KB, patch)
2009-05-07 16:19 UTC, Bernd Lommerzheim
Details | Diff
git 1.6.3 ebuild patch (on git-1.6.3_rc4.ebuild) (git-1.6.3.ebuild.patch,404 bytes, patch)
2009-05-07 17:12 UTC, Bernd Lommerzheim
Details | Diff
git 1.6.3 nocvs patch (git-1.6.3-nocvs.patch,1.63 KB, patch)
2009-05-07 17:13 UTC, Bernd Lommerzheim
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Bernd Lommerzheim 2009-05-07 16:18:44 UTC
Hey, a few hours ago the new feature release git 1.6.3 was released [1,2]. I modified the git 1.6.3_rc4 ebuild and wrote a patch which adds the Makefile parameter NO_CVS. In older versions of the Gentoo git ebuild the git-cvsserver was not installed when setting use=-perl. But since the NO_PERL patch was merged upstream and is included into this new release, the git ebuild installs git-cvsserver even if you set use=-cvs. This new NO_CVS patch prevents building and installing the git-cvsserver but still installs all cvs-related documentations and man-pages:

$ equery files git | grep 'cvs'
/usr/share/doc/git-1.6.3/git-cvsexportcommit.txt.bz2
/usr/share/doc/git-1.6.3/git-cvsimport.txt.bz2
/usr/share/doc/git-1.6.3/git-cvsserver.txt.bz2
/usr/share/doc/git-1.6.3/gitcvs-migration.txt.bz2
/usr/share/man/man1/git-cvsexportcommit.1.bz2
/usr/share/man/man1/git-cvsimport.1.bz2
/usr/share/man/man1/git-cvsserver.1.bz2
/usr/share/man/man7/gitcvs-migration.7.bz2

I will attach a patch of the new git-1.6.3.ebuild (applies on git-1.6.3_rc4.ebuild) and the git-1.6.3-nocvs.patch. I hope that this new patch works for everyone. Have a nice day.

PS: The 20090505-git-1.6.2.5-getopt-fixes.patch was merged upstream and is not needed anymore.

[1] http://git.kernel.org/?p=git/git.git;a=commit;h=f01f1099f40f24fe6f7802185340a6fa3a3d4f35
[2] http://article.gmane.org/gmane.comp.version-control.git/118433

Reproducible: Always

Steps to Reproduce:
Comment 1 Bernd Lommerzheim 2009-05-07 16:19:26 UTC
Created attachment 190631 [details, diff]
git 1.6.3 ebuild patch (on git-1.6.3_rc4.ebuild)
Comment 2 Bernd Lommerzheim 2009-05-07 16:19:46 UTC
Created attachment 190632 [details, diff]
git 1.6.3 nocvs patch
Comment 3 Bernd Lommerzheim 2009-05-07 17:12:08 UTC
I'm sorry. Both patches had mistakes. I will attach both patches in a new version and I hope that they are now working without problems. By the way they are solving the following problem: If you are using "cvs -perl" in one of the current ebuilds the ebuild says that it will ignore the "cvs" flag but the cvs scripts are installed into the system. When executing them they just raise a error that git was compiled with NO_PERL (with "-perl"). Now the "cvs" flag is getting really ignored and no cvs scripts are installed. I hope the new patches are working for everyone. Have a nice day.
Comment 4 Bernd Lommerzheim 2009-05-07 17:12:38 UTC
Created attachment 190635 [details, diff]
git 1.6.3 ebuild patch (on git-1.6.3_rc4.ebuild)
Comment 5 Bernd Lommerzheim 2009-05-07 17:13:19 UTC
Created attachment 190636 [details, diff]
git 1.6.3 nocvs patch
Comment 6 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-05-08 20:23:48 UTC
I had my commit in the tree before I saw this bug (my email is running slow today)

I'm not sure that adding a nocvs patch like this is correctly, I'd rather just get upstream to update the noperl stuff to exclude CVS as well.
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-05-08 20:24:06 UTC
oops, forgot to assign
Comment 8 Bernd Lommerzheim 2009-05-08 21:06:59 UTC
I think this should be seperated. Maybe a user want to install git with the perl stuff, but without the cvs scripts and server. I guess it was an upstream design decision to install these cvs shell scripts saying that the cvs server is not available because git was build with NO_PERL instead of just not installing these shell scripts. But why should the cvs use-flag just be used in src_test and not by the rest of the ebuild? And why does the ebuild says that the +cvs flag is ignored when using "-perl" (which generally means that the ebuild is building the programm without this support) but installs these cvs shell scripts anyway? I think the ebuild should not install these cvs shell scripts when using "-cvs" or "-perl".
If we want these cvs shell scripts when using "+cvs -perl" my ebuild patch can be changed from
> 	if ! use cvs || ! use perl ; then
> 		myopts="${myopts} NO_CVS=YesPlease"
> 	fi
>
to
> 	use cvs || myopts="${myopts} NO_CVS=YesPlease"
What do you think?
Comment 9 Bernd Lommerzheim 2009-05-08 21:15:07 UTC
And by the way: You removed the "files/50git-gentoo.el" file out of the portage which is still used in line 69 and 213 of the current git-1.6.3.ebuild.
Comment 10 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-05-08 21:31:16 UTC
I restored that other file already.

I'm strongly in favour of upstream's decision to install the wrapper saying the command is not available rather than not installing it at all. We could install those wrappers for USE=-cvs as well, would that be suitable?
Comment 11 Bernd Lommerzheim 2009-05-08 22:18:34 UTC
In that case it might be better to leave the ebuild like it is now. If the ebuild installs these cvs files in any case it can directly install the original files from the git release. That should be better than installing some custom shell scripts when using "-cvs perl" which are raising an error that git was built without cvs support and that the user should remerge git with the +cvs use-flag in order to use these scripts.
Comment 12 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-09-16 01:29:38 UTC
It wasn't clear in your last message.
- Can we close this bug, with acceptance of the upstream state?
OR
- Override/modify their "CVS is not available" message with one telling the user to emerge with USE=cvs?
Comment 13 Bernd Lommerzheim 2009-10-04 17:26:12 UTC
You can close this ticket. I think that the upstream message is clear and does not need to be modified. Thanks. Best regards.
Comment 14 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-10-04 18:30:44 UTC
Thanks.