Skip Menu |

This queue is for tickets about the version CPAN distribution.

Report information
The Basics
Id: 91869
Status: rejected
Priority: 0/
Queue: version

People
Owner: Nobody in particular
Requestors: BULKDD [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: a race condition/last mod times from Mercurial/Bitbucket
I've never heard of Mercurial until now, I'm from Git world. When I downloaded from bitbucket the snapshot https://bitbucket.org/jpeacock/version/get/8f1352c79510.zip I get stuck into race condition, since Makefile.PL's last mod time is about 3-4 hours away into the future inside the .zip (1-5-2014 4:31 AM) and therefore on my disk when extracted. According to the log Makefile.PL was last changed in https://bitbucket.org/jpeacock/version/commits/c2cc74f7ebf49c57504f914ede77c3d873e6d70c/raw/ at "# Date 1388893050 18000" which bitbucket is saying is "2 hours ago". I have no idea if the problem is in your client, in bitbucket, or my zip tools (I tried WinRAR, 7zip, and MS Explorer Shell zip tool, all give the same time). I know the solution on my end is to "touch" Makefile.PL, but other less human things will find this to be a problem. --------------------------------------------------- C:\Documents and Settings\Owner\Desktop\cpan libs\jpeacock-version-8f1352c79510> perl makefile.pl Testing if you have a C compiler compilet-yWYCD.c Creating library compilet.lib and object compilet.exp Generating code Finished generating code Checking if your kit is complete... Warning: the following files are missing in your kit: Changes META.yml Please inform the author. Generating a nmake-style Makefile Writing Makefile for version::vxs Writing MYMETA.yml and MYMETA.json Generating a nmake-style Makefile Writing Makefile for version Writing MYMETA.yml and MYMETA.json C:\Documents and Settings\Owner\Desktop\cpan libs\jpeacock-version-8f1352c79510> nmake test Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. Makefile out-of-date with respect to Makefile.PL Cleaning current config before rebuilding Makefile... nmake -f Makefile.old clean > NUL Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. C:\perl519\bin\perl.exe Makefile.PL Testing if you have a C compiler compilet-znyia.c Creating library compilet.lib and object compilet.exp Generating code Finished generating code Checking if your kit is complete... Warning: the following files are missing in your kit: Changes META.yml Please inform the author. Generating a nmake-style Makefile Writing Makefile for version::vxs Writing MYMETA.yml and MYMETA.json Generating a nmake-style Makefile Writing Makefile for version Writing MYMETA.yml and MYMETA.json ==> Your Makefile has been rebuilt. <== ==> Please rerun the nmake command. <== C:\perl519\bin\perl.exe -e "exit 1" -- NMAKE : fatal error U1077: 'C:\perl519\bin\perl.exe' : return code '0x1' Stop. C:\Documents and Settings\Owner\Desktop\cpan libs\jpeacock-version-8f1352c79510> nmake test Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. Makefile out-of-date with respect to Makefile.PL Cleaning current config before rebuilding Makefile... nmake -f Makefile.old clean > NUL Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. C:\perl519\bin\perl.exe Makefile.PL Testing if you have a C compiler compilet-_Q3_r.c Creating library compilet.lib and object compilet.exp Generating code Finished generating code Checking if your kit is complete... Warning: the following files are missing in your kit: Changes META.yml Please inform the author. Generating a nmake-style Makefile Writing Makefile for version::vxs Writing MYMETA.yml and MYMETA.json Generating a nmake-style Makefile Writing Makefile for version Writing MYMETA.yml and MYMETA.json ==> Your Makefile has been rebuilt. <== ==> Please rerun the nmake command. <== C:\perl519\bin\perl.exe -e "exit 1" -- NMAKE : fatal error U1077: 'C:\perl519\bin\perl.exe' : return code '0x1' Stop. C:\Documents and Settings\Owner\Desktop\cpan libs\jpeacock-version-8f1352c79510> dir Volume in drive C has no label. Volume Serial Number is 4C2D-0BFA Directory of C:\Documents and Settings\Owner\Desktop\cpan libs\jpeacock-version -8f1352c79510 01/05/2014 12:51 AM <DIR> . 01/05/2014 12:51 AM <DIR> .. 01/05/2014 04:31 AM 67 .hgignore 01/05/2014 04:31 AM 4,774 .hgtags 01/05/2014 04:31 AM 149 .hg_archival.txt 01/05/2014 04:31 AM 261 .shipit 01/05/2014 12:49 AM <DIR> lib 01/05/2014 12:51 AM 32,797 Makefile 01/05/2014 04:31 AM 4,447 Makefile.PL 01/05/2014 04:31 AM 404 MANIFEST 01/05/2014 04:31 AM 138 MANIFEST.SKIP 01/05/2014 12:51 AM 982 MYMETA.json 01/05/2014 12:51 AM 545 MYMETA.yml 01/05/2014 04:31 AM 9,985 README 01/05/2014 12:49 AM <DIR> t 01/05/2014 12:51 AM 45,056 vc70.pdb 01/05/2014 12:49 AM <DIR> vperl 01/05/2014 12:51 AM <DIR> vutil 12 File(s) 99,605 bytes 6 Dir(s) 1,425,846,272 bytes free C:\Documents and Settings\Owner\Desktop\cpan libs\jpeacock-version-8f1352c79510> -------------------------------------------------- FWIW, (I can't figure out if the same race condition can happen with your CPAN releases if a CPAN smoker tries them within seconds of being uped to PAUSE), looking at your CPAN tarball, PAUSE tail log says 2014-01-04 20:44:40 $$7776 v1049: Info: renamed '/home/ftp/tmp/J/JP/JPEACOCK/version-0.9906.tar.gz' to '/home/ftp/pub/PAUSE/authors/id/J/JP/JPEACOCK/version-0.9906.tar.gz' (paused:789) http://www.cpan.org/authors/id/J/JP/JPEACOCK/ says [ ] version-0.9906.tar.gz 04-Jan-2014 12:44 111K inside the tarball with WinRAR decompression tool says for Makefile.PL last mod 1-4-2014 9:45 AM. Changes is last mod 1-4-2014 3:34PM. I'm not sure how to analyze these 3 different times, (which are UTC and which are local time to someone's machine).
This is a problem with bitbucket's zip snapshot generation. I just downloaded a new snapshot and ALL of the timestamps are as it they were UTC (from my perspective). To make life easier, I've created a mirror on github that you can use instead of trying to fight with foreign tools: https://github.com/JohnPeacock/version Thanks for your help improving version.pm (much of which was written more than 10 years ago)...