summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-06-21 11:46:00 +0200
committerNicholas Clark <nick@ccl4.org>2011-06-21 11:46:00 +0200
commit88fb56ecc95f23db1630e96a259c1febfbe98e20 (patch)
tree634968a0b338335ed60788448bf260fd4a917298
parent8af7af075ba5ee1cc1b075ac71fc302610499e4c (diff)
downloadperl-88fb56ecc95f23db1630e96a259c1febfbe98e20.tar.gz
No need for D and d flags in pod.lst - source is fixed, and contains the target
As the edited perldelta is now always pod/perldelta.pod (instead of a file with version numbers in it), we don't need a 'D' flag to mark it. As perldelta.pod contains within itself the number of the version it refers to, we can use that to infer the 'd' flag for the target filename. This simplifies the release manager's tasklist for version bumping.
-rw-r--r--Porting/release_managers_guide.pod7
-rw-r--r--pod.lst6
-rw-r--r--pod/buildtoc40
3 files changed, 21 insertions, 32 deletions
diff --git a/Porting/release_managers_guide.pod b/Porting/release_managers_guide.pod
index f155391e30..d93d21aa49 100644
--- a/Porting/release_managers_guide.pod
+++ b/Porting/release_managers_guide.pod
@@ -938,12 +938,7 @@ version numbers. Then commit the move and the new file.
Now you need to update various tables of contents related to perldelta,
most of which can be generated automatically.
-Edit F<pod.lst>: add the new entry, flagged as 'd', and unflag the previous
-entry from being 'd'; for example:
-
- -d perl5101delta Perl changes in version 5.10.1
- +d perl5102delta Perl changes in version 5.10.2
- + perl5101delta Perl changes in version 5.10.1
+Edit F<pod.lst>: add the new entry
Manually create a temporary link to the new delta file; normally this is
done from the Makefile, but the Makefile is updated by buildtoc, and
diff --git a/pod.lst b/pod.lst
index 7e8d832508..7891e849a8 100644
--- a/pod.lst
+++ b/pod.lst
@@ -4,8 +4,6 @@
# g - other autogenerated pods
# a - for auxiliary documentation
# number - indent by
-# D - this version's perldelta
-# d - copied to this name
h Overview
@@ -140,8 +138,8 @@ h Miscellaneous
perldoc Look up Perl documentation in Pod format
perlhist Perl history records
-D perldelta Perl changes since previous version
-d perl5150delta Perl changes in version 5.15.0
+ perldelta Perl changes since previous version
+ perl5150delta Perl changes in version 5.15.0
perl5140delta Perl changes in version 5.14.0
perl51311delta Perl changes in version 5.13.11
perl51310delta Perl changes in version 5.13.10
diff --git a/pod/buildtoc b/pod/buildtoc
index 15127119f1..9e1245d95f 100644
--- a/pod/buildtoc
+++ b/pod/buildtoc
@@ -117,13 +117,28 @@ if ($Verbose) {
print "I will be building $_\n" foreach keys %Build;
}
+my $delta_target;
+
+{
+ my $source = 'perldelta.pod';
+ open my $fh, '<', "pod/$source" or my_die "Can't open pod/$source: $!";
+ local $/;
+ my $contents = <$fh>;
+ my @want =
+ $contents =~ /perldelta - what is new for perl v5\.(\d+)\.(\d+)\n/;
+ die "Can't extract version from pod/$source" unless @want;
+ $delta_target = "perl5$want[0]$want[1]delta.pod";
+
+ # This way round so that keys can act as a MANIFEST skip list
+ # Targets will always be in the pod directory. Currently we can only cope
+ # with sources being in the same directory.
+ $Copies{$delta_target} = $source;
+}
# process pod.lst
open my $master, '<', $masterpodfile or my_die "Can't open $masterpodfile: $!";
-my ($delta_source, $delta_target);
-
foreach (<$master>) {
next if /^\#/;
@@ -146,15 +161,8 @@ foreach (<$master>) {
$flags{indent} = $1 if $flags =~ s/(\d+)//;
$flags{toc_omit} = 1 if $flags =~ tr/o//d;
$flags{aux} = 1 if $flags =~ tr/a//d;
+ $flags{perlpod_omit} = "$filename.pod" eq $delta_target;
- if ($flags =~ tr/D//d) {
- $flags{manifest_omit} = 1;
- $delta_source = "$filename.pod";
- }
- if ($flags =~ tr/d//d) {
- $flags{perlpod_omit} = 1;
- $delta_target = "$filename.pod";
- }
$Generated{"$filename.pod"}++ if $flags =~ tr/g//d;
if ($flags =~ tr/r//d) {
@@ -175,18 +183,6 @@ foreach (<$master>) {
my_die "Malformed line: $_" if $1 =~ tr/A-Z//;
}
}
-if (defined $delta_source) {
- if (defined $delta_target) {
- # This way round so that keys can act as a MANIFEST skip list
- # Targets will aways be in the pod directory. Currently we can only cope
- # with sources being in the same directory.
- $Copies{$delta_target} = $delta_source;
- } else {
- my_die "delta source defined but not target";
- }
-} elsif (defined $delta_target) {
- my_die "delta target defined but not source";
-}
close $master;