Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- Third version. Changes include - warn users if they have old commands in bindir - update git.spec.in (I did not use, but rpm2targz output seemed correct) Makefile | 3 ++- check_bindir | 13 +++++++++++++ config.mak.in | 2 +- git.spec.in | 13 +++++++------ 4 files changed, 23 insertions(+), 8 deletions(-) create mode 100755 check_bindir diff --git a/Makefile b/Makefile index 313f9a2..3cf791f 100644 --- a/Makefile +++ b/Makefile @@ -154,7 +154,7 @@ STRIP ?= strip prefix = $(HOME) bindir = $(prefix)/bin -gitexecdir = $(bindir) +gitexecdir = $(prefix)/libexec/git-core sharedir = $(prefix)/share template_dir = $(sharedir)/git-core/templates ifeq ($(prefix),/usr) @@ -1034,6 +1034,7 @@ endif ifneq (,$X) $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), $(RM) '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p';) endif + ./check_bindir 'z$(bindir_SQ)' 'z$(gitexecdir_SQ)' '$(DESTDIR_SQ)$(bindir_SQ)/git-shell$X' install-doc: $(MAKE) -C Documentation install diff --git a/check_bindir b/check_bindir new file mode 100755 index 0000000..a1c4c3e --- /dev/null +++ b/check_bindir @@ -0,0 +1,13 @@ +#!/bin/sh +bindir="$1" +gitexecdir="$2" +gitcmd="$3" +if test "$bindir" != "$gitexecdir" -a -x "$gitcmd" +then + echo + echo "!! You have installed git-* commands to new gitexecdir." + echo "!! Old version git-* commands still remain in bindir." + echo "!! Mixing two versions of Git will lead to problems." + echo "!! Please remove old version commands in bindir now." + echo +fi diff --git a/config.mak.in b/config.mak.in index 11d256e..1db0338 100644 --- a/config.mak.in +++ b/config.mak.in @@ -11,7 +11,7 @@ TCLTK_PATH = @TCLTK_PATH@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ -#gitexecdir = @libexecdir@/git-core/ +gitexecdir = @libexecdir@/git-core/ datarootdir = @datarootdir@ template_dir = @datadir@/git-core/templates/ diff --git a/git.spec.in b/git.spec.in index bdb293d..b6637a7 100644 --- a/git.spec.in +++ b/git.spec.in @@ -105,6 +105,7 @@ find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';' (find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files +(find $RPM_BUILD_ROOT%{_libexecdir}/git-core -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@) >> bin-man-doc-files (find $RPM_BUILD_ROOT%{perl_vendorlib} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files %if %{!?_without_docs:1}0 (find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "archimport|svn|git-cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files @@ -120,7 +121,7 @@ rm -rf $RPM_BUILD_ROOT %files svn %defattr(-,root,root) -%{_bindir}/*svn* +%{_libexecdir}/git-core/*svn* %doc Documentation/*svn*.txt %{!?_without_docs: %{_mandir}/man1/*svn*.1*} %{!?_without_docs: %doc Documentation/*svn*.html } @@ -128,28 +129,28 @@ rm -rf $RPM_BUILD_ROOT %files cvs %defattr(-,root,root) %doc Documentation/*git-cvs*.txt -%{_bindir}/*cvs* +%{_libexecdir}/git-core/*cvs* %{!?_without_docs: %{_mandir}/man1/*cvs*.1*} %{!?_without_docs: %doc Documentation/*git-cvs*.html } %files arch %defattr(-,root,root) %doc Documentation/git-archimport.txt -%{_bindir}/git-archimport +%{_libexecdir}/git-core/git-archimport %{!?_without_docs: %{_mandir}/man1/git-archimport.1*} %{!?_without_docs: %doc Documentation/git-archimport.html } %files email %defattr(-,root,root) %doc Documentation/*email*.txt -%{_bindir}/*email* +%{_libexecdir}/git-core/*email* %{!?_without_docs: %{_mandir}/man1/*email*.1*} %{!?_without_docs: %doc Documentation/*email*.html } %files gui %defattr(-,root,root) -%{_bindir}/git-gui -%{_bindir}/git-citool +%{_libexecdir}/git-core/git-gui +%{_libexecdir}/git-core/git-citool %{_datadir}/git-gui/ %{!?_without_docs: %{_mandir}/man1/git-gui.1*} %{!?_without_docs: %doc Documentation/git-gui.html} -- 1.5.3.6.2041.g106f-dirty - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html