diff options
author | Steve Hay <steve.m.hay@googlemail.com> | 2010-02-21 20:30:34 +0000 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2010-02-21 20:30:34 +0000 |
commit | e8c01f9236ea4602ba3a3ae8c20a55bda36d89a2 (patch) | |
tree | 4dd3bbf14b0b3d1b5e2b39b809f338f525f82398 /Porting/makerel | |
parent | 85a8e0aaee230b817a160ce67bf1d057b9962c62 (diff) | |
download | perl-e8c01f9236ea4602ba3a3ae8c20a55bda36d89a2.tar.gz |
Update Porting/release_managers_guide.pod and Porting/makerel
In the course of releasing perl-5.11.5 I found a few things that are not
quite correct or no longer relevant:
- Add comments on the problems with doing this on Win32
- There are no longer Roman numerals in README.vms (since eb505c2afb6b5ac2aaba7935878ae6494d44732a)
- Note that Module::CoreList's Changes and META.yml files need updating too
- Fix Porting/makerel's null device redirection
One bigger problem remains to be resolved: when run in a normal cmd.exe
shell on Win32, the Porting/makerel script currently generates tarballs
containing world-writable files and directories, which the PAUSE indexer
then rejects as a possible security risk.
Diffstat (limited to 'Porting/makerel')
-rw-r--r-- | Porting/makerel | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Porting/makerel b/Porting/makerel index e4dfdefbc7..d0bf4eff95 100644 --- a/Porting/makerel +++ b/Porting/makerel @@ -3,6 +3,20 @@ # A tool to build a perl release tarball # Very basic but functional - if you're on a unix system. # +# If you're on Win32 then it should still work, but various Unix command-line +# tools will need to be available somewhere. An obvious choice is to install +# Cygwin and ensure its 'bin' folder is on the PATH in the shell where you run +# this script. The Cygwin 'bin' folder needs to precede the Windows 'system32' +# folder so that Cygwin's 'find' command is found in preference to the Windows +# 'find' command. Your Cygwin installation will need to contain at least the +# 'cpio' command, in addition to the commands installed by default, and it will +# also be useful to have 'curl' and 'diffstat' installed too for later stages +# of the release process (namely, Porting\corelist.pl and generating the commit +# statistics for the perlXYZdelta.pod file respectively). Finally, ensure that +# the 'awk' and 'shasum' commands are copies of gawk.exe and sha1sum.exe +# respectively, rather the links to them that only work in a Cygwin bash shell +# which they are by default. +# # No matter how automated this gets, you'll always need to read # and re-read pumpkin.pod and release_managers_guide.pod to # check for things to be done at various stages of the process. @@ -189,8 +203,9 @@ print "\n"; system("ls -ld $perl*"); print "\n"; +my $null = $^O eq 'MSWin32' ? 'NUL' : '/dev/null'; for my $sha (qw(sha1 shasum sha1sum)) { - if (`which $sha 2>/dev/null`) { + if (`which $sha 2>$null`) { system("$sha $perl*.tar.*"); last; } |