logo       

[perl #32245] [BUG] Makefile $(TOUCH), doesn't: msg#00653

lang.perl.perl6.internals

Subject: [perl #32245] [BUG] Makefile $(TOUCH), doesn't

# New Ticket Created by Jeff Clites
# Please include the string: [perl #32245]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=32245 >


The Makefile uses this in place of the 'touch' command:

perl -e 'open(A,qq{>>$_}) or die foreach @ARGV'

On Mac OS X at least, this doesn't result in updating the timestamp of
the passed-in files. (Also, by my reading of the POSIX/SUSv3 spec, this
is correct behavior--open() isn't supposed to update the timestamp of
an existing file.)

I wonder if this works on any platform--maybe Win32?

I suggest that the value of TOUCH be configurable, defaulting to the
'touch' command on Unix-like systems--not sure what to use for other
systems. Or we could try this, which might work for all systems:

perl -e '$now = time; open(A,qq{>>$_}) && utime($now, $now, $_) or die
foreach @ARGV'

I don't know the origin of what we currently have, so I thought I'd
send this in for comment before supplying a patch.

(I noticed this because the "ast" part of the Makefile was firing for
me every time.)

JEff




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise