On 2024-10-13 01:41:06+0200, immeëmosol <will+developer@xxxxxxxxxxx> wrote: > As mentioned, `contrib/diff-highlight` is less like other perl contribs > like `contrib/contacts` and `contrib/credential/netrc`, those two seem to > be git subcommands (`git-*`) where diff-highlight is more of a "standalone" > command. > > My usecase was to peek at what the command does by making it available in a > `$PATH` writable by a non-root user. (Much like what is mentioned in > `contrib/diff-highlight/README#Use`: `git log -p --color | diff-highlight`.= > ) > > ```sh > echo '# Given ~/.local/bin is in $PATH,' > ( export DESTDIR=3D"${HOME?}/.local/bin/" ; make linked-in-destdir ) > echo '# In another already open shell, try suggestion from readme.' > ( export DESTDIR=3D"${HOME?}/.local/bin/" ; make clean ) > ``` Nah, it isn't DESTDIR's usage, it's prefix job! make prefix=${HOME}/.local install > --- > Make git's diff-highlight program immediately available to the command-line= > . > Create a link in DESTDIR that > refers to the generated/concatenated diff-highlight perl script > > Signed-off-by: imme=C3=ABmosol <will+developer@xxxxxxxxxxx> > --- > contrib/diff-highlight/Makefile | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/contrib/diff-highlight/Makefile > b/contrib/diff-highlight/Makefile > index f2be7cc9243719..84f6e65c730380 100644 > --- a/contrib/diff-highlight/Makefile > +++ b/contrib/diff-highlight/Makefile > @@ -10,6 +10,11 @@ diff-highlight: shebang.perl DiffHighlight.pm > diff-highlight.perl > chmod +x $@+ > mv $@+ $@ > > +linked-in-destdir: diff-highlight > + test -n "$(DESTDIR)" && \ > + test -w $(DESTDIR) && \ > + ln -s $(abspath $<) $(DESTDIR) So it would be something like this: install: diff-highlight $(INSTALL) diff-highlight '$(DESTDIR)$(bindir_SQ)' > + > shebang.perl: FORCE > @echo '#!$(PERL_PATH_SQ)' >$@+ > @cmp $@+ $@ >/dev/null 2>/dev/null || mv $@+ $@ > @@ -17,7 +22,13 @@ shebang.perl: FORCE > test: all > $(MAKE) -C t > > -clean: > +unlink-from-destdir: > + test -z "$(DESTDIR)" || \ > + test ! -L $(DESTDIR)/diff-highlight || \ > + $(RM) $(DESTDIR)/diff-highlight > + > +clean: unlink-from-destdir > $(RM) diff-highlight > > .PHONY: FORCE > +.PHONY: linked-in-destdir unlink-from-destdir > -- Danh