--- git-1.7.3.5.orig/Makefile 2011-01-06 20:32:54.512331834 +0000 +++ git-1.7.3.5/Makefile 2011-01-07 08:22:04.682967076 +0000 @@ -183,6 +183,8 @@ all:: # # Define NO_TCLTK if you do not want Tcl/Tk GUI. # +# Define NO_CVS if you do not want any CVS interface utilities. +# # The TCL_PATH variable governs the location of the Tcl interpreter # used to optimize git-gui for your system. Only used if NO_TCLTK # is not set. Defaults to the bare 'tclsh'. @@ -339,6 +341,7 @@ LIB_OBJS = PROGRAM_OBJS = PROGRAMS = SCRIPT_PERL = +SCRIPT_PERL_CVS = SCRIPT_PYTHON = SCRIPT_SH = SCRIPT_LIB = @@ -376,17 +379,18 @@ SCRIPT_LIB += git-sh-setup SCRIPT_PERL += git-add--interactive.perl SCRIPT_PERL += git-difftool.perl SCRIPT_PERL += git-archimport.perl -SCRIPT_PERL += git-cvsexportcommit.perl -SCRIPT_PERL += git-cvsimport.perl -SCRIPT_PERL += git-cvsserver.perl SCRIPT_PERL += git-relink.perl SCRIPT_PERL += git-send-email.perl SCRIPT_PERL += git-svn.perl +SCRIPT_PERL_CVS += git-cvsexportcommit.perl +SCRIPT_PERL_CVS += git-cvsimport.perl +SCRIPT_PERL_CVS += git-cvsserver.perl + SCRIPT_PYTHON += git-remote-testgit.py SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \ - $(patsubst %.perl,%,$(SCRIPT_PERL)) \ + $(patsubst %.perl,%,$(SCRIPT_PERL) $(SCRIPT_PERL_CVS)) \ $(patsubst %.py,%,$(SCRIPT_PYTHON)) \ git-instaweb @@ -1676,13 +1680,25 @@ $(SCRIPT_LIB) : % : %.sh $(QUIET_GEN)$(cmd_munge_script) && \ mv $@+ $@ +_SCRIPT_PERL_BUILD = +_SCRIPT_PERL_NOBUILD = + ifndef NO_PERL -$(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak + +_SCRIPT_PERL_BUILD += $(SCRIPT_PERL) + +ifndef NO_CVS +_SCRIPT_PERL_BUILD += $(SCRIPT_PERL_CVS) +else # NO_CVS +_SCRIPT_PERL_NOBUILD += $(SCRIPT_PERL_CVS) +endif # NO_CVS + +$(patsubst %.perl,%,$(_SCRIPT_PERL_BUILD)): perl/perl.mak perl/perl.mak: GIT-CFLAGS perl/Makefile perl/Makefile.PL $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F) -$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl +$(patsubst %.perl,%,$(_SCRIPT_PERL_BUILD)): % : %.perl $(QUIET_GEN)$(RM) $@ $@+ && \ INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \ sed -e '1{' \ @@ -1738,14 +1754,17 @@ git-instaweb: git-instaweb.sh gitweb/git chmod +x $@+ && \ mv $@+ $@ else # NO_PERL -$(patsubst %.perl,%,$(SCRIPT_PERL)) git-instaweb: % : unimplemented.sh +_SCRIPT_PERL_NOBUILD += $(SCRIPT_PERL) $(SCRIPT_PERL_CVS) git-instaweb +endif # NO_PERL + +# This is any perl scripts that were disabled it might be empty... +$(patsubst %.perl,%,$(_SCRIPT_PERL_NOBUILD)): % : unimplemented.sh $(QUIET_GEN)$(RM) $@ $@+ && \ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \ unimplemented.sh >$@+ && \ chmod +x $@+ && \ mv $@+ $@ -endif # NO_PERL ifndef NO_PYTHON $(patsubst %.py,%,$(SCRIPT_PYTHON)): GIT-CFLAGS @@ -1780,7 +1799,7 @@ configure: configure.ac # These can record GIT_VERSION git.o git.spec \ $(patsubst %.sh,%,$(SCRIPT_SH)) \ - $(patsubst %.perl,%,$(SCRIPT_PERL)) \ + $(patsubst %.perl,%,$(SCRIPT_PERL) $(SCRIPT_PERL_CVS)) \ : GIT-VERSION-FILE TEST_OBJS := $(patsubst test-%$X,test-%.o,$(TEST_PROGRAMS)) diff -Nuarp git-1.7.3.5.orig/t/t9200-git-cvsexportcommit.sh git-1.7.3.5/t/t9200-git-cvsexportcommit.sh --- git-1.7.3.5.orig/t/t9200-git-cvsexportcommit.sh 2011-01-06 00:08:33.000000000 +0000 +++ git-1.7.3.5/t/t9200-git-cvsexportcommit.sh 2011-01-07 08:41:46.478972459 +0000 @@ -12,6 +12,11 @@ if ! test_have_prereq PERL; then test_done fi +if ! test_have_prereq CVS; then + skip_all='skipping git cvsexportcommit tests, cvs not available' + test_done +fi + cvs >/dev/null 2>&1 if test $? -ne 1 then diff -Nuarp git-1.7.3.5.orig/t/t9400-git-cvsserver-server.sh git-1.7.3.5/t/t9400-git-cvsserver-server.sh --- git-1.7.3.5.orig/t/t9400-git-cvsserver-server.sh 2011-01-06 00:08:33.000000000 +0000 +++ git-1.7.3.5/t/t9400-git-cvsserver-server.sh 2011-01-07 08:42:28.033449530 +0000 @@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server' . ./test-lib.sh if ! test_have_prereq PERL; then - skip_all='skipping git cvsserver tests, perl not available' + skip_all='skipping git-cvsserver tests, perl not available' test_done fi + +if ! test_have_prereq CVS; then + skip_all='skipping git-cvsserver tests, cvs not available' + test_done +fi + cvs >/dev/null 2>&1 if test $? -ne 1 then diff -Nuarp git-1.7.3.5.orig/t/t9401-git-cvsserver-crlf.sh git-1.7.3.5/t/t9401-git-cvsserver-crlf.sh --- git-1.7.3.5.orig/t/t9401-git-cvsserver-crlf.sh 2011-01-06 00:08:33.000000000 +0000 +++ git-1.7.3.5/t/t9401-git-cvsserver-crlf.sh 2011-01-07 08:42:59.907660136 +0000 @@ -38,15 +38,20 @@ not_present() { fi } -cvs >/dev/null 2>&1 -if test $? -ne 1 +if ! test_have_prereq PERL then - skip_all='skipping git-cvsserver tests, cvs not found' + skip_all='skipping git-cvsserver tests, perl not available' test_done fi -if ! test_have_prereq PERL +if ! test_have_prereq CVS then - skip_all='skipping git-cvsserver tests, perl not available' + skip_all='skipping git-cvsserver tests, cvs not available' + test_done +fi +cvs >/dev/null 2>&1 +if test $? -ne 1 +then + skip_all='skipping git-cvsserver tests, cvs not found' test_done fi "$PERL_PATH" -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || { diff -Nuarp git-1.7.3.5.orig/t/t9600-cvsimport.sh git-1.7.3.5/t/t9600-cvsimport.sh --- git-1.7.3.5.orig/t/t9600-cvsimport.sh 2011-01-06 00:08:33.000000000 +0000 +++ git-1.7.3.5/t/t9600-cvsimport.sh 2011-01-07 08:44:34.960276512 +0000 @@ -3,14 +3,25 @@ test_description='git cvsimport basic tests' . ./lib-cvs.sh -test_expect_success PERL 'setup cvsroot environment' ' +if ! test_have_prereq PERL +then + skip_all='skipping git cvsimport tests, perl not available' + test_done +fi +if ! test_have_prereq CVS +then + skip_all='skipping git cvsimport tests, cvs not available' + test_done +fi + +test_expect_success 'setup cvsroot environment' ' CVSROOT=$(pwd)/cvsroot && export CVSROOT ' -test_expect_success PERL 'setup cvsroot' '$CVS init' +test_expect_success 'setup cvsroot' '$CVS init' -test_expect_success PERL 'setup a cvs module' ' +test_expect_success 'setup a cvs module' ' mkdir "$CVSROOT/module" && $CVS co -d module-cvs module && @@ -42,23 +53,23 @@ EOF ) ' -test_expect_success PERL 'import a trivial module' ' +test_expect_success 'import a trivial module' ' git cvsimport -a -R -z 0 -C module-git module && test_cmp module-cvs/o_fortuna module-git/o_fortuna ' -test_expect_success PERL 'pack refs' '(cd module-git && git gc)' +test_expect_success 'pack refs' '(cd module-git && git gc)' -test_expect_success PERL 'initial import has correct .git/cvs-revisions' ' +test_expect_success 'initial import has correct .git/cvs-revisions' ' (cd module-git && git log --format="o_fortuna 1.1 %H" -1) > expected && test_cmp expected module-git/.git/cvs-revisions ' -test_expect_success PERL 'update cvs module' ' +test_expect_success 'update cvs module' ' (cd module-cvs && cat <o_fortuna && O Fortune, @@ -86,7 +97,7 @@ EOF ) ' -test_expect_success PERL 'update git module' ' +test_expect_success 'update git module' ' (cd module-git && git cvsimport -a -R -z 0 module && @@ -96,7 +107,7 @@ test_expect_success PERL 'update git mod ' -test_expect_success PERL 'update has correct .git/cvs-revisions' ' +test_expect_success 'update has correct .git/cvs-revisions' ' (cd module-git && git log --format="o_fortuna 1.1 %H" -1 HEAD^ && @@ -104,7 +115,7 @@ test_expect_success PERL 'update has cor test_cmp expected module-git/.git/cvs-revisions ' -test_expect_success PERL 'update cvs module' ' +test_expect_success 'update cvs module' ' (cd module-cvs && echo 1 >tick && @@ -113,7 +124,7 @@ test_expect_success PERL 'update cvs mod ) ' -test_expect_success PERL 'cvsimport.module config works' ' +test_expect_success 'cvsimport.module config works' ' (cd module-git && git config cvsimport.module module && @@ -124,7 +135,7 @@ test_expect_success PERL 'cvsimport.modu ' -test_expect_success PERL 'second update has correct .git/cvs-revisions' ' +test_expect_success 'second update has correct .git/cvs-revisions' ' (cd module-git && git log --format="o_fortuna 1.1 %H" -1 HEAD^^ && @@ -133,7 +144,7 @@ test_expect_success PERL 'second update test_cmp expected module-git/.git/cvs-revisions ' -test_expect_success PERL 'import from a CVS working tree' ' +test_expect_success 'import from a CVS working tree' ' $CVS co -d import-from-wt module && (cd import-from-wt && @@ -145,12 +156,12 @@ test_expect_success PERL 'import from a ' -test_expect_success PERL 'no .git/cvs-revisions created by default' ' +test_expect_success 'no .git/cvs-revisions created by default' ' ! test -e import-from-wt/.git/cvs-revisions ' -test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master' +test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master' test_done diff -Nuarp git-1.7.3.5.orig/t/t9601-cvsimport-vendor-branch.sh git-1.7.3.5/t/t9601-cvsimport-vendor-branch.sh --- git-1.7.3.5.orig/t/t9601-cvsimport-vendor-branch.sh 2011-01-06 00:08:33.000000000 +0000 +++ git-1.7.3.5/t/t9601-cvsimport-vendor-branch.sh 2011-01-07 08:45:11.251279877 +0000 @@ -34,6 +34,17 @@ test_description='git cvsimport handling of vendor branches' . ./lib-cvs.sh +if ! test_have_prereq PERL +then + skip_all='skipping git cvsimport tests, perl not available' + test_done +fi +if ! test_have_prereq CVS +then + skip_all='skipping git cvsimport tests, cvs not available' + test_done +fi + setup_cvs_test_repository t9601 test_expect_success PERL 'import a module with a vendor branch' ' diff -Nuarp git-1.7.3.5.orig/t/t9602-cvsimport-branches-tags.sh git-1.7.3.5/t/t9602-cvsimport-branches-tags.sh --- git-1.7.3.5.orig/t/t9602-cvsimport-branches-tags.sh 2011-01-06 00:08:33.000000000 +0000 +++ git-1.7.3.5/t/t9602-cvsimport-branches-tags.sh 2011-01-07 08:45:17.234778646 +0000 @@ -6,6 +6,17 @@ test_description='git cvsimport handling of branches and tags' . ./lib-cvs.sh +if ! test_have_prereq PERL +then + skip_all='skipping git cvsimport tests, perl not available' + test_done +fi +if ! test_have_prereq CVS +then + skip_all='skipping git cvsimport tests, cvs not available' + test_done +fi + setup_cvs_test_repository t9602 test_expect_success PERL 'import module' ' diff -Nuarp git-1.7.3.5.orig/t/t9603-cvsimport-patchsets.sh git-1.7.3.5/t/t9603-cvsimport-patchsets.sh --- git-1.7.3.5.orig/t/t9603-cvsimport-patchsets.sh 2011-01-06 00:08:33.000000000 +0000 +++ git-1.7.3.5/t/t9603-cvsimport-patchsets.sh 2011-01-07 08:45:24.371642637 +0000 @@ -14,6 +14,17 @@ test_description='git cvsimport testing for correct patchset estimation' . ./lib-cvs.sh +if ! test_have_prereq PERL +then + skip_all='skipping git cvsimport tests, perl not available' + test_done +fi +if ! test_have_prereq CVS +then + skip_all='skipping git cvsimport tests, cvs not available' + test_done +fi + setup_cvs_test_repository t9603 test_expect_failure 'import with criss cross times on revisions' ' diff -Nuarp git-1.7.3.5.orig/t/test-lib.sh git-1.7.3.5/t/test-lib.sh --- git-1.7.3.5.orig/t/test-lib.sh 2011-01-06 00:08:33.000000000 +0000 +++ git-1.7.3.5/t/test-lib.sh 2011-01-07 08:40:05.006179654 +0000 @@ -1015,6 +1015,7 @@ case $(uname -s) in ;; esac +test -z "$NO_CVS" && test_set_prereq CVS test -z "$NO_PERL" && test_set_prereq PERL test -z "$NO_PYTHON" && test_set_prereq PYTHON