Re: [PATCH] Makefile: fix misdetection of relative pathnames
Show 43 quoted lines
> A Large Angry SCM <gitzilla@gmail.com> writes:
>
>> In 026fa0d5ad9538ca76838070861531c037d7b9ba, "Move computation of
>> absolute paths from Makefile to runtime (in preparation for
>> RUNTIME_PREFIX)", the following change was made to the Makefile. The
>> problem is that $(abspath names...) is a relatively recent addition to
>> GNU make and when used in an older GNU make, the test always fails
>> resulting incorrect installation dirs for the templates and commands.
>>
>> The new test is also wrong; (for *nix systems) in that it really wants
>> to test if the first character is a '/'
>
> Ok, here is the final one from me that I am considering to commit, but it
> would be nice to hear success/failure feedback from people who had trouble
> with Steffen's changes. I'd also like to hear from people who have been
> happy with Steffen's changes that this does not break things for them.
>
> -- >8 --
>
> The installation rules wanted to differentiate between a template_dir that
> is given as an absolute path (e.g. /usr/share/git-core/templates) and a
> relative one (e.g. share/git-core/templates) but it was done by checking
> if $(abspath $(template_dir)) and $(template_dir) yield the same string.
>
> This was wrong in number of ways.
>
> * The user can give template_dir with a trailing slash from the command
> line to invoke make, or in the included config.mak. A directory path
> ought to mean the same thing with or without such a trailing slash but
> use of $(abspath) means with an absolute path with a trailing slash
> fails the test.
>
> * The compilation could be done inside /usr directory with a relative
> pathname share/git-core/templates and it will be mistaken as an
> absolute path.
>
> * Versions of GNU make older than 3.81 do not have $(abspath) to begin
> with.
>
> This changes the detection logic to see if the given path begins with a
> slash.
>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Tested-by: A Large Angry SCM <gitzilla@gmail.com>