Automate current perldelta entry in vms/descrip_mms.template.
authorCraig A. Berry <craigberry@mac.com>
Fri, 21 Jan 2011 21:55:32 +0000 (15:55 -0600)
committerCraig A. Berry <craigberry@mac.com>
Fri, 21 Jan 2011 23:06:56 +0000 (17:06 -0600)
pod/buildtoc knows which one is current, so we might as well
substitute it in one place and be done with it.

Porting/release_managers_guide.pod
pod/buildtoc
vms/descrip_mms.template

index 0ea0ba4..5df693b 100644 (file)
@@ -948,13 +948,6 @@ the following files:
     win32/makefile.mk
     win32/pod.mak
 
-Then manually edit (F<vms/descrip_mms.template> to bump the version
-in the following entry:
-
-    [.pod]perl5101delta.pod : [.pod]perldelta.pod
-
-XXX this previous step needs to fixed to automate it in pod/buildtoc.
-
 Finally, commit:
 
     $ git commit -a -m 'update TOC for perlNNNdelta'
index 1a4e02c..6d4b6ab 100644 (file)
@@ -162,7 +162,7 @@ if (defined $delta_source) {
     die "$0: delta source defined but not target";
   }
 } elsif (defined $delta_target) {
-  die "$0: delta target defined but not target";
+  die "$0: delta target defined but not source";
 }
 
 close MASTER;
@@ -572,11 +572,6 @@ SNIP
    sort keys %Pods, keys %Readmepods;
 }
 
-sub generate_descrip_mms_3 {
-  map qq{\t- If F\$Search("[.pod]$_").nes."" Then Delete/NoConfirm/Log [.pod]$_;*},
-    sort keys %Generated, keys %Copies;
-}
-
 sub generate_nmake_1 {
   # XXX Fix this with File::Spec
   (map {sprintf "\tcopy ..\\README.%-8s ..\\pod\\perl$_.pod\n", $_}
@@ -682,6 +677,14 @@ sub do_vms {
 
   die "$0: $name contains NUL bytes" if $makefile =~ /\0/;
 
+# Looking for the macro defining the current perldelta:
+#PERLDELTA_CURRENT = [.pod]perl5139delta.pod
+
+  $makefile =~ s/\nPERLDELTA_CURRENT\s+=\s+\Q[.pod]perl\E\d+delta\.pod\n
+                   /\0/sx;
+  verify_contiguous($name, $makefile, 'current perldelta macro');
+  $makefile =~ s/\0+/join "\n", '', "PERLDELTA_CURRENT = [.pod]$delta_target", ''/se;
+
 # Looking for rules like this
 # [.lib.pods]perl.pod : [.pod]perl.pod
 #      @ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
@@ -694,12 +697,6 @@ sub do_vms {
   verify_contiguous($name, $makefile, 'copy rules');
   $makefile =~ s/\0+/join "\n", '', &generate_descrip_mms_2/se;
 
-# Looking for rules like this:
-#      - If F$Search("[.pod]perldelta.pod").nes."" Then Delete/NoConfirm/Log [.pod]perldelta.pod;*
-  $makefile =~ s!(?:\t- If F\$Search\("\[\.pod\]perl\d*[a-z]+\Q.pod").nes."" Then Delete/NoConfirm/Log [.pod]perl\E\d*[a-z]+\.pod;\*\n)+!\0!sg;
-  verify_contiguous($name, $makefile, 'delete rules');
-  $makefile =~ s/\0+/join "\n", &generate_descrip_mms_3, ''/se;
-
   $makefile;
 }
 
index ea70c32..9d08eaa 100644 (file)
@@ -435,9 +435,9 @@ pod32 = [.lib.pods]perluts.pod [.lib.pods]perlvar.pod [.lib.pods]perlvmesa.pod [
 pod33 = [.lib.pods]perlxs.pod [.lib.pods]perlxstut.pod
 pod = $(pod0) $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) $(pod9) $(pod10) $(pod11) $(pod12) $(pod13) $(pod14) $(pod15) $(pod16) $(pod17) $(pod18) $(pod19) $(pod20) $(pod21) $(pod22) $(pod23) $(pod24) $(pod25) $(pod26) $(pod27) $(pod28) $(pod29) $(pod30) $(pod31) $(pod32) $(pod33)
 
-# Would be useful to automate the generation of this rule from pod/buildtoc
-# Plus its corresponding delete in the clean target.
-[.pod]perl5139delta.pod : [.pod]perldelta.pod
+PERLDELTA_CURRENT = [.pod]perl5139delta.pod
+
+$(PERLDELTA_CURRENT) : [.pod]perldelta.pod
        Copy/NoConfirm/Log $(MMS$SOURCE) $(MMS$TARGET)
 
 [.pod]perlapi.pod : embed.fnc autodoc.pl $(MINIPERL_EXE)
@@ -449,7 +449,7 @@ pod = $(pod0) $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) $(
 [.pod]perlintern.pod : embed.fnc autodoc.pl $(MINIPERL_EXE)
        $(MINIPERL) autodoc.pl
 
-[.pod]perltoc.pod : [.pod]perl5136delta.pod [.pod]perlapi.pod [.pod]perlintern.pod  [.pod]perlmodlib.pod extra.pods $(PERL_EXE)
+[.pod]perltoc.pod : $(PERLDELTA_CURRENT) [.pod]perlapi.pod [.pod]perlintern.pod  [.pod]perlmodlib.pod extra.pods $(PERL_EXE)
        @ define/user_mode $(DBG)PERLSHR SYS$DISK:[]$(DBG)perlshr$(E)
        $(PERL) "-f" [.pod]buildtoc "-q" "--build-toc"
 
@@ -1888,7 +1888,7 @@ clean : tidy cleantest
        - If F$Search("[.vms.ext...]*.C").nes."" Then Delete/NoConfirm/Log [.vms.ext...]*.C;*
        - If F$Search("[.vms.ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.vms.ext...]*$(O);*
        - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
-       - If F$Search("[.pod]perl5139delta.pod").nes."" Then Delete/NoConfirm/Log [.pod]perl5139delta.pod;*
+       - If F$Search("$(PERLDELTA_CURRENT)").nes."" Then Delete/NoConfirm/Log $(PERLDELTA_CURRENT);*
        - If F$Search("[.pod]perlapi.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlapi.pod;*
        - If F$Search("[.pod]perlintern.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlintern.pod;*
        - If F$Search("[.pod]perlmodlib.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlmodlib.pod;*