Subject: Re: bug#10878: "make dist" with read-only srcdir generates read-only tarball

From: Stefano Lattarini <[email-masked]>
Date: Sat, 25 Feb 2012 00:11:34 +0100

On 02/24/2012 09:15 PM, Nick Bowler wrote:
>
> On 2012-02-24 20:25 +0100, Stefano Lattarini wrote:
>
>> On 02/24/2012 07:34 PM, Nick Bowler wrote:
>>
>>> (I find it is generally good practice for -hook and -local
>>> targets to use prerequisites with commands instead of putting commands
>>> directly in those targets)
>>>
>> JFTR, I agree.
> 
> Interestingly, I find no mention at all of this trick in the automake
> manual.
>
Because it's not a trick, but a matter of preference :-)  Preference that
we apparently share, but which doesn't necessarily need not to be shared
by other people.

> I'm sure I read about it in _some_ manual, I wonder which it was?
> 
No idea here, sorry.

> So let's actually put some stuff in Makefile.am to demonstrate something
> closer to the problem I'm having.
> 
>   % cat >Makefile.am <<'EOF'
> EXTRA_DIST = foo
> 
> dist-hook:
> 	echo bar > $(distdir)/foo
> EOF
> 
>   % cat >foo <<'EOF'
> EOF
> 
>   % autoreconf -is
>   % ./configure && make distcheck
>   [...]
>   make  \
>     top_distdir="test-1.0" distdir="test-1.0" \
>     dist-hook
>   make[2]: Entering directory `/tmp/testcase/test-1.0/_build'
>   echo bar > test-1.0/foo
>   /bin/sh: test-1.0/foo: Permission denied
>
Ah, this is a better example.  Indeed we have a problem here (at the very
least a documentation one).  I'm thus re-opening this bug report.

>> To stress this again: if *you* had removed the executable bit from your
>> test scripts, would you blame it on automake if "make distcheck" stopped
>> working?  I don't think so.
> 
> No, but if "make distcheck" was doing the removal, as is the case here,
> then I *would* blame automake.
>
Fair enough.  Maybe we should explicitly document the "make distcheck"
behaviour in more details (including your example) ...

Thanks,
  Stefano