38166eb58b
The first version bump with the new split ebuilds, that use a post cleanup script at the end of src_install. Thanks to this, there were only a few conflicts per ebuild (when merged from Gentoo 2.17.0 on top of 2.16.2) and conflict resolution was strightforward: related to KEYWORDS, PN -> MY_PN and the block that was changed in gitweb. Updating the "spec" file isn't the most friendly thing ever but it could be advanced further as needed.
452 lines
14 KiB
Diff
452 lines
14 KiB
Diff
From 3baea661143aaddb285f1ac7c50f6e4af76c8aed Mon Sep 17 00:00:00 2001
|
|
From: Robin Johnson <robbat2@gentoo.org>
|
|
Date: Fri, 23 Mar 2018 10:05:05 +0100
|
|
Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
|
|
utilities
|
|
|
|
Forward-ported from 1.7.12 to current git.git v1.8.4
|
|
Forward-ported from v1.8.4 to v1.8.5.1
|
|
Forward-ported from v1.8.5.3 to v1.9.0_rc3
|
|
Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
|
|
Forward-ported from v2.0.0_rc0 to v2.0.0
|
|
Forward-ported from v2.0.0 to v2.2.2
|
|
Forward-ported from v2.2.2 to v2.8.4
|
|
Forward-ported from v2.8.4 to v2.10.0
|
|
Forward-ported from v2.10.0 to v2.12.0
|
|
Forward-ported from v2.12.0 to v2.17.0-rc1
|
|
|
|
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
|
|
---
|
|
Makefile | 50 ++++++++++++++++++++++++++++----------
|
|
t/t9200-git-cvsexportcommit.sh | 5 ++++
|
|
t/t9400-git-cvsserver-server.sh | 8 +++++-
|
|
t/t9401-git-cvsserver-crlf.sh | 15 ++++++++----
|
|
t/t9600-cvsimport.sh | 41 +++++++++++++++++++------------
|
|
t/t9601-cvsimport-vendor-branch.sh | 11 +++++++++
|
|
t/t9602-cvsimport-branches-tags.sh | 11 +++++++++
|
|
t/t9603-cvsimport-patchsets.sh | 11 +++++++++
|
|
t/test-lib.sh | 1 +
|
|
9 files changed, 119 insertions(+), 34 deletions(-)
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index a1d8775adb..4264475ad1 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -312,6 +312,8 @@ all::
|
|
# Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
|
|
# and egrep that are pickier when their input contains non-ASCII data.
|
|
#
|
|
+# 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'.
|
|
@@ -543,6 +545,7 @@ LIB_OBJS =
|
|
PROGRAM_OBJS =
|
|
PROGRAMS =
|
|
SCRIPT_PERL =
|
|
+SCRIPT_PERL_CVS =
|
|
SCRIPT_PYTHON =
|
|
SCRIPT_SH =
|
|
SCRIPT_LIB =
|
|
@@ -579,12 +582,13 @@ SCRIPT_LIB += git-sh-i18n
|
|
|
|
SCRIPT_PERL += git-add--interactive.perl
|
|
SCRIPT_PERL += git-archimport.perl
|
|
-SCRIPT_PERL += git-cvsexportcommit.perl
|
|
-SCRIPT_PERL += git-cvsimport.perl
|
|
-SCRIPT_PERL += git-cvsserver.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-p4.py
|
|
|
|
NO_INSTALL += git-remote-testgit
|
|
@@ -592,24 +596,26 @@ NO_INSTALL += git-remote-testgit
|
|
# Generated files for scripts
|
|
SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
|
|
SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
|
|
+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
|
|
SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
|
|
|
|
SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
|
|
SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
|
|
+SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
|
|
SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
|
|
|
|
# Individual rules to allow e.g.
|
|
# "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
|
|
# from subdirectories like contrib/*/
|
|
.PHONY: build-perl-script build-sh-script build-python-script
|
|
-build-perl-script: $(SCRIPT_PERL_GEN)
|
|
+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
|
|
build-sh-script: $(SCRIPT_SH_GEN)
|
|
build-python-script: $(SCRIPT_PYTHON_GEN)
|
|
|
|
.PHONY: install-perl-script install-sh-script install-python-script
|
|
install-sh-script: $(SCRIPT_SH_INS)
|
|
$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
|
-install-perl-script: $(SCRIPT_PERL_INS)
|
|
+install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
|
|
$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
|
install-python-script: $(SCRIPT_PYTHON_INS)
|
|
$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
|
@@ -618,12 +624,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
|
|
clean-sh-script:
|
|
$(RM) $(SCRIPT_SH_GEN)
|
|
clean-perl-script:
|
|
- $(RM) $(SCRIPT_PERL_GEN)
|
|
+ $(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
|
|
clean-python-script:
|
|
$(RM) $(SCRIPT_PYTHON_GEN)
|
|
|
|
SCRIPTS = $(SCRIPT_SH_INS) \
|
|
$(SCRIPT_PERL_INS) \
|
|
+ $(SCRIPT_PERL_CVS_INS) \
|
|
$(SCRIPT_PYTHON_INS) \
|
|
git-instaweb
|
|
|
|
@@ -1972,13 +1979,26 @@ git.res: git.rc GIT-VERSION-FILE
|
|
-DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
|
|
|
|
# This makes sure we depend on the NO_PERL setting itself.
|
|
-$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
|
|
+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
|
|
+
|
|
+_SCRIPT_PERL_GEN =
|
|
+_SCRIPT_PERL_NOGEN =
|
|
|
|
ifndef NO_PERL
|
|
-$(SCRIPT_PERL_GEN):
|
|
+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
|
|
+
|
|
+ifndef NO_CVS
|
|
+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
|
|
+else
|
|
+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
|
|
+_REASON = NO_CVS
|
|
+_REASON_CONTENT = $(NO_CVS)
|
|
+endif # NO_CVS
|
|
+
|
|
+$(_SCRIPT_PERL_GEN):
|
|
|
|
PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ):$(perllibdir_SQ)
|
|
-$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-VERSION-FILE
|
|
+$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-VERSION-FILE
|
|
$(QUIET_GEN)$(RM) $@ $@+ && \
|
|
INSTLIBDIR='$(perllibdir_SQ)' && \
|
|
INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
|
|
@@ -2012,14 +2032,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
|
|
chmod +x $@+ && \
|
|
mv $@+ $@
|
|
else # NO_PERL
|
|
-$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
|
|
+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
|
|
+_REASON = NO_PERL
|
|
+_REASON_CONTENT = $(NO_PERL)
|
|
+endif # NO_PERL
|
|
+
|
|
+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
|
|
$(QUIET_GEN)$(RM) $@ $@+ && \
|
|
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
|
|
- -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
|
|
+ -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
|
|
unimplemented.sh >$@+ && \
|
|
chmod +x $@+ && \
|
|
mv $@+ $@
|
|
-endif # NO_PERL
|
|
|
|
# This makes sure we depend on the NO_PYTHON setting itself.
|
|
$(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
|
|
@@ -2258,7 +2282,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
|
|
LOCALIZED_SH += git-parse-remote.sh
|
|
LOCALIZED_SH += git-rebase--interactive.sh
|
|
LOCALIZED_SH += git-sh-setup.sh
|
|
-LOCALIZED_PERL = $(SCRIPT_PERL)
|
|
+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
|
|
|
|
ifdef XGETTEXT_INCLUDE_TESTS
|
|
LOCALIZED_C += t/t0200/test.c
|
|
diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
|
|
index 1319415ba8..34ac8e28e2 100755
|
|
--- a/t/t9200-git-cvsexportcommit.sh
|
|
+++ b/t/t9200-git-cvsexportcommit.sh
|
|
@@ -11,6 +11,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 --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
|
|
index 06742748e9..51d474d94b 100755
|
|
--- a/t/t9400-git-cvsserver-server.sh
|
|
+++ b/t/t9400-git-cvsserver-server.sh
|
|
@@ -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 --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
|
|
index 84787eee9a..eecba88527 100755
|
|
--- a/t/t9401-git-cvsserver-crlf.sh
|
|
+++ b/t/t9401-git-cvsserver-crlf.sh
|
|
@@ -57,15 +57,20 @@ check_status_options() {
|
|
return $stat
|
|
}
|
|
|
|
-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 -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
|
|
diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
|
|
index 804ce3850f..c53c50e432 100755
|
|
--- a/t/t9600-cvsimport.sh
|
|
+++ b/t/t9600-cvsimport.sh
|
|
@@ -8,14 +8,25 @@ if ! test_have_prereq NOT_ROOT; then
|
|
test_done
|
|
fi
|
|
|
|
-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 &&
|
|
@@ -47,23 +58,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 <<EOF >o_fortuna &&
|
|
O Fortune,
|
|
@@ -91,7 +102,7 @@ EOF
|
|
)
|
|
'
|
|
|
|
-test_expect_success PERL 'update git module' '
|
|
+test_expect_success 'update git module' '
|
|
|
|
(cd module-git &&
|
|
git config cvsimport.trackRevisions true &&
|
|
@@ -102,7 +113,7 @@ test_expect_success PERL 'update git module' '
|
|
|
|
'
|
|
|
|
-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^ &&
|
|
@@ -110,7 +121,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
|
|
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 &&
|
|
@@ -119,7 +130,7 @@ test_expect_success PERL 'update cvs module' '
|
|
)
|
|
'
|
|
|
|
-test_expect_success PERL 'cvsimport.module config works' '
|
|
+test_expect_success 'cvsimport.module config works' '
|
|
|
|
(cd module-git &&
|
|
git config cvsimport.module module &&
|
|
@@ -131,7 +142,7 @@ test_expect_success PERL 'cvsimport.module config works' '
|
|
|
|
'
|
|
|
|
-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^^ &&
|
|
@@ -140,7 +151,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
|
|
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 &&
|
|
@@ -153,12 +164,12 @@ test_expect_success PERL 'import from a CVS working tree' '
|
|
|
|
'
|
|
|
|
-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 --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
|
|
index 827d39f5bf..d730a41f67 100755
|
|
--- a/t/t9601-cvsimport-vendor-branch.sh
|
|
+++ b/t/t9601-cvsimport-vendor-branch.sh
|
|
@@ -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 --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
|
|
index e1db323f54..68f097401f 100755
|
|
--- a/t/t9602-cvsimport-branches-tags.sh
|
|
+++ b/t/t9602-cvsimport-branches-tags.sh
|
|
@@ -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 --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
|
|
index c4c3c49546..9b2957d4f0 100755
|
|
--- a/t/t9603-cvsimport-patchsets.sh
|
|
+++ b/t/t9603-cvsimport-patchsets.sh
|
|
@@ -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 PERL 'import with criss cross times on revisions' '
|
|
diff --git a/t/test-lib.sh b/t/test-lib.sh
|
|
index 7740d511d2..9b26b78359 100644
|
|
--- a/t/test-lib.sh
|
|
+++ b/t/test-lib.sh
|
|
@@ -1062,6 +1062,7 @@ case $uname_s in
|
|
esac
|
|
|
|
( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
|
|
+test -z "$NO_CVS" && test_set_prereq CVS
|
|
test -z "$NO_PERL" && test_set_prereq PERL
|
|
test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
|
|
test -z "$NO_PYTHON" && test_set_prereq PYTHON
|
|
--
|
|
2.16.3
|
|
|