summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-09-09 01:50:33 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-09-09 01:50:33 (GMT)
commitbc6146d2abcf3800eb3683cfe972cabd38ff4796 (patch)
tree061f79e214d9071b392d530ca83d0c12b1ba4200
parent2f0f8b71ee45bcf91c2de480474a26030596fe3c (diff)
downloadgit-bc6146d2abcf3800eb3683cfe972cabd38ff4796.zip
git-bc6146d2abcf3800eb3683cfe972cabd38ff4796.tar.gz
git-bc6146d2abcf3800eb3683cfe972cabd38ff4796.tar.bz2
'build' scripts before installing.
Earlier we renamed git-foo.sh to git-foo while installing, which was mostly done by inertia than anything else. This however made writing tests to use scripts harder. This patch builds the scripts the same way as we build binaries from their sources. As a side effect, you can now specify non-standard paths you have your Perl binary is in when running the make. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Makefile44
-rwxr-xr-xgit.sh (renamed from git.sh.in)0
-rwxr-xr-xt/t1005-read-tree-m-2way-emu23.sh2
-rwxr-xr-xt/t3200-branch.sh6
-rwxr-xr-xt/t5400-send-pack.sh6
5 files changed, 33 insertions, 25 deletions
diff --git a/Makefile b/Makefile
index d3d0855..0f01b5b 100644
--- a/Makefile
+++ b/Makefile
@@ -142,6 +142,13 @@ ifeq ($(shell uname -s),SunOS)
PLATFORM_DEFINES += -DNO_GETDOMAINNAME=1
endif
+ifndef SHELL_PATH
+ SHELL_PATH = /bin/sh
+endif
+ifndef PERL_PATH
+ PERL_PATH = /usr/bin/perl
+endif
+
ifndef NO_OPENSSL
LIB_OBJS += epoch.o
OPENSSL_LIBSSL = -lssl
@@ -179,21 +186,32 @@ endif
DEFINES += '-DSHA1_HEADER=$(SHA1_HEADER)'
-SCRIPTS = $(SCRIPT_SH) $(SCRIPT_PERL) gitk
+SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
+ $(patsubst %.perl,%,$(SCRIPT_PERL)) gitk
### Build rules
-all: $(PROGRAMS) git.sh
+all: $(PROGRAMS) $(SCRIPTS)
all:
$(MAKE) -C templates
-git.sh: git.sh.in Makefile
+git: git.sh Makefile
rm -f $@+ $@
- sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.in >$@+
+ sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.sh >$@+
chmod +x $@+
mv $@+ $@
+$(filter-out git,$(patsubst %.sh,%,$(SCRIPT_SH))) : % : %.sh
+ rm -f $@
+ sed -e '1s|#!.*/sh|#!$(SHELL_PATH)|' $@.sh >$@
+ chmod +x $@
+
+$(patsubst %.perl,%,$(SCRIPT_PERL)) : % : %.perl
+ rm -f $@
+ sed -e '1s|#!.*perl|#!$(PERL_PATH)|' $@.perl >$@
+ chmod +x $@
+
%.o: %.c
$(CC) -o $*.o -c $(ALL_CFLAGS) $<
%.o: %.S
@@ -250,19 +268,8 @@ check:
install: $(PROGRAMS) $(SCRIPTS)
$(INSTALL) -m755 -d $(DESTDIR)$(bindir)
- $(INSTALL) $(PROGRAMS) $(DESTDIR)$(bindir)
- @for s in $(SCRIPTS); \
- do \
- case "$$s" in \
- *.*) \
- e=`expr "$$s" : '\(.*\)\.[^.]*$$'` ;; \
- *) \
- e="$$s" ;; \
- esac && \
- echo ": install $$s $(DESTDIR)$(bindir)/$$e" && \
- $(INSTALL) $$s $(DESTDIR)$(bindir)/$$e || exit; \
- done
- $(INSTALL) git-revert.sh $(DESTDIR)$(bindir)/git-cherry-pick
+ $(INSTALL) $(PROGRAMS) $(SCRIPTS) $(DESTDIR)$(bindir)
+ $(INSTALL) git-revert $(DESTDIR)$(bindir)/git-cherry-pick
sh ./cmd-rename.sh $(DESTDIR)$(bindir)
$(MAKE) -C templates install
@@ -299,7 +306,8 @@ deb: dist
clean:
rm -f *.o mozilla-sha1/*.o ppc/*.o $(PROGRAMS) $(LIB_FILE)
- rm -f git-core.spec git.sh
+ rm -f $(filter-out gitk,$(SCRIPTS))
+ rm -f git-core.spec
rm -rf $(GIT_TARNAME)
rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
rm -f git-core_$(GIT_VERSION)-*.deb git-core_$(GIT_VERSION)-*.dsc
diff --git a/git.sh.in b/git.sh
index 178d0f0..178d0f0 100755
--- a/git.sh.in
+++ b/git.sh
diff --git a/t/t1005-read-tree-m-2way-emu23.sh b/t/t1005-read-tree-m-2way-emu23.sh
index 00c332a..258a372 100755
--- a/t/t1005-read-tree-m-2way-emu23.sh
+++ b/t/t1005-read-tree-m-2way-emu23.sh
@@ -25,7 +25,7 @@ In the test, these paths are used:
read_tree_twoway () {
git-read-tree --emu23 "$1" "$2" &&
git-ls-files --stage &&
- git-merge-index ../../git-merge-one-file.sh -a &&
+ git-merge-index git-merge-one-file -a &&
git-ls-files --stage
}
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index 6e36398..5f98f64 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
@@ -13,12 +13,12 @@ handled. Specifically, that a bogus branch is not created.
test_expect_success \
'prepare an trivial repository' \
'echo Hello > A &&
- ../../git-update-index --add A &&
- ../../git-commit.sh -m "Initial commit."'
+ git-update-index --add A &&
+ git-commit -m "Initial commit."'
test_expect_failure \
'git branch --help should return error code' \
- '../../git-branch.sh --help'
+ 'git-branch --help'
test_expect_failure \
'git branch --help should not have created a bogus branch' \
diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh
index fb8320d..59ce77b 100755
--- a/t/t5400-send-pack.sh
+++ b/t/t5400-send-pack.sh
@@ -21,9 +21,9 @@ test_expect_success setup '
parent=$commit || return 1
done &&
echo "$commit" >.git/HEAD &&
- git-clone.sh -l ./. victim &&
+ git-clone -l ./. victim &&
cd victim &&
- git-log.sh &&
+ git-log &&
cd .. &&
echo $zero >.git/HEAD &&
parent=$zero &&
@@ -35,7 +35,7 @@ test_expect_success setup '
done &&
echo "$commit" >.git/HEAD &&
echo Rebase &&
- git-log.sh'
+ git-log'
test_expect_success \
'pushing rewound head should not barf but require --force' '