On Wed, Oct 31, 2007 at 04:33:52AM +0100, Andreas J. Koenig wrote: > > >> > I would prefer CPAN.pm be able to acknowlegde this > >> > and rerun the process of 'perl Makefile.PL/make' as appropriate. > >> > >> Depends what you mean by "as appropriate". > > > I was thinking 'touch Makefile.PL' followed by the 'perl > > Makefile.PL/make' process. CPAN.pm could detect whether the unwrapped > > Makefile.PL/Build.PL has a timestamp in the future to the server > > clocktime and attempt to correct this. > > This would work in some situations but not in all. Other files in the > future would also disturb make. Heavily. So we would at least have to > bring all files from the future to NOW(). But two files with the same > timestamp confuse make too. So one would probably try to shift all > timestamps by the same amount of seconds. You see, this sounds more > like a MakeMaker job.
I can see why this might be a problem for all files in the distribution, but I'm still not convinced EU::MM or M::B is the right place for it. > I believe, if we shift all timestamps by the same amount of seconds it > would work reliably. But there will be new edge cases. Agreed. If there is a test to ensure a file in the distribution has a specific timestamp, this could be a problem. An obsure problem and one I'm not aware of in any current CPAN distro. Actually prompted by your examples I have another thought. This would only apply to CPAN Testers, and as such the tools, but as users would likely handle the problem differently, it's probably only CPAN Testers that are likely to raise the problem: <red>Hey, this Makefile.PL has a timestamp in the future.</red> <blue>Bumping test to the end of the queue</blue> ... some time later ... <red>Hey, this Makefile.PL still has a timestamp in the future.</red> <blue>Alerting tester that distribution will not be tested at this time</blue> or more simply: <red>Hey, this Makefile.PL has a timestamp in the future.</red> <blue>Alerting tester that distribution will not be tested at this time</blue> The tester can then decide whether to test in a later run. This perhaps won't work for you, if you're testing as distributions appear, but may work for testers who review distributions to see whether they've tested them in recent test runs. > Or for small amounts of time just sleep until we reach the time of the > Makefile.PL. This may be possible if the timestamp is perhaps 60secs or less, but any more could get annoying for a regular user. > <red>Hey, this Makefile.PL has a timestamp in the future. Hmmm. More > than 120 seconds. Please fix the timestamps or report this as a bug to > the author or build later or build it later</red> It isn't a bug and shouldn't be reported to an author except in extreme cases (perhaps when a year out or several months out). Advising the user of the problem might be an option, but it could equally get annoying for them if they just want to install the distribution and couldn't care less about timestamp problems. Which then brings it back to a CPAN.pm or CPANPLUS problem :( > What do you think? That I've opened a can of worms ;) Will have to put a bit more thought into this :( Cheers, Barbie. -- Birmingham Perl Mongers - http://birmingham.pm.org Miss Barbell Productions - http://www.missbarbell.co.uk
