Re: Git 1.3.2 on Solaris
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 17, 2006, 09:22 UTC
- Message-ID
- <7v7j4lhup3.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <f3d7535d0605170206y76e24f25w305a688d32f4a0a1@mail.gmail.com>
"Stefan Pfetzing" <stefan.pfetzing@gmail.com> writes:
> Hm, gitexecdir is also the path where git is installed, right? So if I'd > install git with pkgsrc it will be /usr/pkg/bin, right? - If so, > putting symlinks > there _will_ break pkgsrc.
If you look at our Makefile, you will see bindir does not have to be gitexecdir. The suggestion by Linus is that you set bindir to /usr/local/bin or whereever your distribution's packaging scheme wants the locally installed software to be that is on user's PATH, and gitexecdir to /usr/local/libexec/git (again, whereever), _and_ have:
ln -s /usr/bin/gtr /usr/local/libexec/git/tr
ln -s /usr/bin/gxargs /usr/local/libexec/git/xargs
...Then:
(1) git and gitk are available in /usr/local/bin;
(2) while git and gitk runs, /usr/local/libexec/git will
be prepended to the PATH, so when they want xargs,
they will get gxargs; (3) but your users will _not_ have /usr/local/libexec/git
on their PATH, so when they type xargs they will get
the one that barfs on -0 option.and train your users and user's scripts to use the officially sanctioned way to refer to git subprograms. From interactive sessions, say "git foo", not "git-foo". If your script _really_ cares about extra exec git wrapper does, use "git --exec-path" upfront in the script to obtain correct gitexecpath, export GIT_EXEC_PATH environment variable with that value, and prepend it to PATH so that it can find "git-foo" executable (you would probably need to do both, so that git-foo can find git-bar and its friends).