Integrate perlio:
[p5sagit/p5-mst-13.2.git] / Porting / makerel
index f2e1f97..4c50085 100644 (file)
@@ -20,19 +20,14 @@ die "Must be in root of the perl source tree.\n"
 open PATCHLEVEL,"<patchlevel.h" or die;
 my @patchlevel_h = <PATCHLEVEL>;
 close PATCHLEVEL;
-my $patchlevel_h = join "", grep { /^#define/ } @patchlevel_h;
+my $patchlevel_h = join "", grep { /^#\s*define/ } @patchlevel_h;
 print $patchlevel_h;
-$patchlevel = $1 if $patchlevel_h =~ /PATCHLEVEL\s+(\d+)/;
-$subversion = $1 if $patchlevel_h =~ /SUBVERSION\s+(\d+)/;
+$revision = $1 if $patchlevel_h =~ /PERL_REVISION\s+(\d+)/;
+$patchlevel = $1 if $patchlevel_h =~ /PERL_VERSION\s+(\d+)/;
+$subversion = $1 if $patchlevel_h =~ /PERL_SUBVERSION\s+(\d+)/;
 die "Unable to parse patchlevel.h" unless $subversion >= 0;
-$vers = sprintf("5.%03d", $patchlevel);
-$vms_vers = sprintf("5_%03d", $patchlevel);
-if ($subversion) {
-    $vers.= sprintf( "_%02d", $subversion);
-    $vms_vers.= sprintf( "%02d", $subversion);
-} else {
-    $vms_vers.= "  ";
-}
+$vers = sprintf("%d.%d.%d", $revision, $patchlevel, $subversion);
+$vms_vers = sprintf("%d_%d_%d", $revision, $patchlevel, $subversion);
 
 # fetch list of local patches
 my (@local_patches, @lpatch_tags, $lpatch_tags);
@@ -41,7 +36,7 @@ my (@local_patches, @lpatch_tags, $lpatch_tags);
 @lpatch_tags   = map  {  /^\s*,"(\w+)/ } @local_patches;
 $lpatch_tags   = join "-", @lpatch_tags;
 
-$perl = "perl$vers";
+$perl = "perl-$vers";
 $reldir = "$perl";
 $reldir .= "-$lpatch_tags" if $lpatch_tags;
 
@@ -83,8 +78,8 @@ print "\n";
 chdir "$relroot/$reldir" or die $!;
 
 print "Setting file permissions...\n";
-system("find . -type f -print     | xargs chmod -w");
-system("find . -type d -print     | xargs chmod g-s");
+system("find . -type f -print     | xargs chmod 0444");
+system("find . -type d -print     | xargs chmod 0755");
 system("find t -name '*.t' -print | xargs chmod +x");
 my @exe = qw(
     Configure
@@ -93,7 +88,6 @@ my @exe = qw(
     installperl
     installman
     keywords.pl
-    myconfig
     opcode.pl
     perly.fixer
     t/TEST
@@ -107,6 +101,38 @@ my @exe = qw(
 );
 system("chmod +x @exe");
 
+my @writables = qw(
+    keywords.h
+    opcode.h
+    opnames.h
+    pp_proto.h
+    pp.sym
+    proto.h
+    embed.h
+    embedvar.h
+    global.sym
+    pod/perlintern.pod
+    pod/perlapi.pod
+    objXSUB.h
+    perlapi.h
+    perlapi.c
+    ext/ByteLoader/byterun.h
+    ext/ByteLoader/byterun.c
+    ext/B/B/Asmdata.pm
+    regnodes.h
+    warnings.h
+    lib/warnings.pm
+    vms/perly_c.vms
+    vms/perly_h.vms
+    win32/Makefile
+    win32/makefile.mk
+    win32/config_H.bc
+    win32/config_H.bc
+    win32/config_H.gc
+    win32/config_H.vc
+);
+system("chmod +w @writables");
+
 print "Adding CRs to DOSish files...\n";
 my @crlf = qw(
     djgpp/configure.bat
@@ -115,7 +141,7 @@ my @crlf = qw(
     win32/Makefile
     win32/makefile.mk
 );
-system("perl -pi -e 's/\$/\\r/' @crlf");
+system("perl -pi -e 's/\015*\012/\015\012/' @crlf");
 print "\n";
 
 chdir ".." or die $!;