Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging
This makes the Git perl scripts check $GITPERLLIB instead of $RUNNING_GIT_TESTS, which makes more sense if you are setting up your shell environment to use a non-installed Git instance. It also weeds out the @INC munging from the individual scripts and makes Makefile add it during the .perl files processing, so that we can change just a single place when we modify this shared logic. It looks ugly in the scripts, too. ;-) And instead of doing arcane things with the @INC array, we just do 'use lib' instead, which is essentialy the same thing anyway. I first want to do three separate patches but it turned out that it's quite a lot neater when bundled together, so I hope it's ok. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>maint
parent
3c767a0824
commit
6fcca938b0
4
INSTALL
4
INSTALL
|
@ -39,8 +39,8 @@ Issues of note:
|
||||||
|
|
||||||
GIT_EXEC_PATH=`pwd`
|
GIT_EXEC_PATH=`pwd`
|
||||||
PATH=`pwd`:$PATH
|
PATH=`pwd`:$PATH
|
||||||
PERL5LIB=`pwd`/perl/blib/lib:`pwd`/perl/blib/arch/auto/Git
|
GITPERLLIB=`pwd`/perl/blib/lib:`pwd`/perl/blib/arch/auto/Git
|
||||||
export GIT_EXEC_PATH PATH PERL5LIB
|
export GIT_EXEC_PATH PATH GITPERLLIB
|
||||||
|
|
||||||
- Git is reasonably self-sufficient, but does depend on a few external
|
- Git is reasonably self-sufficient, but does depend on a few external
|
||||||
programs and libraries:
|
programs and libraries:
|
||||||
|
|
4
Makefile
4
Makefile
|
@ -550,7 +550,9 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/Makefile
|
||||||
$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
|
$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
|
||||||
rm -f $@ $@+
|
rm -f $@ $@+
|
||||||
INSTLIBDIR=`$(MAKE) -C perl -s --no-print-directory instlibdir` && \
|
INSTLIBDIR=`$(MAKE) -C perl -s --no-print-directory instlibdir` && \
|
||||||
sed -e '1s|#!.*perl\(.*\)|#!$(PERL_PATH_SQ)\1|' \
|
sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|1' \
|
||||||
|
-e '2i\
|
||||||
|
use lib (split(/:/, $$ENV{GITPERLLIB} || '\'"$$INSTLIBDIR"\''));' \
|
||||||
-e 's|@@INSTLIBDIR@@|'"$$INSTLIBDIR"'|g' \
|
-e 's|@@INSTLIBDIR@@|'"$$INSTLIBDIR"'|g' \
|
||||||
-e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
|
-e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
|
||||||
$@.perl >$@+
|
$@.perl >$@+
|
||||||
|
|
|
@ -5,11 +5,6 @@
|
||||||
# Read .git/FETCH_HEAD and make a human readable merge message
|
# Read .git/FETCH_HEAD and make a human readable merge message
|
||||||
# by grouping branches and tags together to form a single line.
|
# by grouping branches and tags together to form a single line.
|
||||||
|
|
||||||
BEGIN {
|
|
||||||
unless (exists $ENV{'RUNNING_GIT_TESTS'}) {
|
|
||||||
unshift @INC, '@@INSTLIBDIR@@';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
use strict;
|
use strict;
|
||||||
use Git;
|
use Git;
|
||||||
use Error qw(:try);
|
use Error qw(:try);
|
||||||
|
|
|
@ -6,11 +6,6 @@
|
||||||
# This file is licensed under the GPL v2, or a later version
|
# This file is licensed under the GPL v2, or a later version
|
||||||
# at the discretion of Linus Torvalds.
|
# at the discretion of Linus Torvalds.
|
||||||
|
|
||||||
BEGIN {
|
|
||||||
unless (exists $ENV{'RUNNING_GIT_TESTS'}) {
|
|
||||||
unshift @INC, '@@INSTLIBDIR@@';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
use warnings;
|
use warnings;
|
||||||
use strict;
|
use strict;
|
||||||
use Getopt::Std;
|
use Getopt::Std;
|
||||||
|
|
|
@ -206,9 +206,8 @@ PYTHON=`sed -e '1{
|
||||||
PYTHONPATH=$(pwd)/../compat
|
PYTHONPATH=$(pwd)/../compat
|
||||||
export PYTHONPATH
|
export PYTHONPATH
|
||||||
}
|
}
|
||||||
RUNNING_GIT_TESTS=YesWeAre
|
GITPERLLIB=$(pwd)/../perl/blib/lib:$(pwd)/../perl/blib/arch/auto/Git
|
||||||
PERL5LIB=$(pwd)/../perl/blib/lib:$(pwd)/../perl/blib/arch/auto/Git
|
export GITPERLLIB
|
||||||
export PERL5LIB RUNNING_GIT_TESTS
|
|
||||||
test -d ../templates/blt || {
|
test -d ../templates/blt || {
|
||||||
error "You haven't built things yet, have you?"
|
error "You haven't built things yet, have you?"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue