In perl.git, the branch maint-5.20 has been updated <http://perl5.git.perl.org/perl.git/commitdiff/0f4dd660ffb8324a4fd0c8ffe4f377c4556575f4?hp=8b9bf800bf7c4f5da7292562739ad73ff7a62d44>
- Log ----------------------------------------------------------------- commit 0f4dd660ffb8324a4fd0c8ffe4f377c4556575f4 Author: Matthew Horsfall <[email protected]> Date: Tue Jan 20 15:42:09 2015 -0500 Update epigraph with mailing list link (cherry picked from commit 06dcbead485fc1e807acffe0b20d327a1650a5ac) M Porting/epigraphs.pod commit 3a13b2d8da94694cf3eeb8f3ba623fffb31b71ce Author: Matthew Horsfall <[email protected]> Date: Sat Jan 31 17:21:09 2015 +0000 Add epigraph and update release schedule (cherry picked from commit 8917c25b121f1ff10502f69bcd2dde9a3e89edbd) M Porting/epigraphs.pod M Porting/release_schedule.pod commit 8f0152728928abc8e2a8067f1c94603180c2ab4d Author: Matthew Horsfall <[email protected]> Date: Tue Jan 20 13:21:33 2015 -0500 Add new release to perlhist (cherry picked from commit bbd77aa1ffacca671a571e6a7aeaf50161ef49e6) M pod/perlhist.pod commit fed8454a61a20acef79b4229bc239dcdc3a7f3d8 Author: Matthew Horsfall <[email protected]> Date: Mon Jun 23 08:41:09 2014 -0400 RMG: Show that version'd binaries might be used (cherry picked from commit 61a1ab54e45224894ad10a67dd09f076e3ae00ec) M Porting/release_managers_guide.pod commit fb672b4e782a20c19e278cb6b059a47d157f6ccf Author: Matthew Horsfall <[email protected]> Date: Mon Jun 23 11:37:34 2014 -0400 RMG - Per review - only -Dusedevel for development builds (cherry picked from commit e07c44df17d75c0629a4b4810447915ab67996a9) M Porting/release_managers_guide.pod commit 1d668a52de02497361063d86949bae31ed9c4e57 Author: Matthew Horsfall <[email protected]> Date: Mon Jun 23 08:40:08 2014 -0400 RMG: Use -Dusedevel in ./Configure, like everywhere else in the RMG. (cherry picked from commit bf8aad214cb307418f11b7bc35e29edeba6b5de1) M Porting/release_managers_guide.pod commit f549730b0920a447bbfe5a18abc84c24c78970dd Author: Matthew Horsfall <[email protected]> Date: Mon Jun 23 08:15:11 2014 -0400 Update RMG to mention new policy of perlhist containing RMs names. (cherry picked from commit a420fd353d8d17e191cc6bc52683c079112c910c) M Porting/release_managers_guide.pod commit 5f55b50e198d437e598f2c459efc5708bdadcc8a Author: Steve Hay <[email protected]> Date: Wed Jul 9 08:36:32 2014 +0100 Update which stable release series are now "officially" supported (cherry picked from commit cdf175f7f80eedf9ecae198d41dded383592465d) M Porting/release_managers_guide.pod M pod/perlpolicy.pod commit 3afaa6ca7d21664b18a72619e17633339b476fbb Author: Steve Hay <[email protected]> Date: Sat Jan 31 16:55:58 2015 +0000 Update RMG to fix grammar Manually backported from commit 5cd8f091ee4dda468a6e715960d37d7c896af0d5. M Porting/release_managers_guide.pod commit c5b653ddfe3ca07695172035305a6b0961f52a1a Author: Matthew Horsfall <[email protected]> Date: Sat Jan 31 16:53:05 2015 +0000 RMG - Add comment that git clean -xdf after distclean should be no-op (cherry picked from commit c23867c2bfc22f9d37ac8cd60ef076da8f734285) M Porting/release_managers_guide.pod commit ec3db035af05ca7e7c035a8e27d6dfabca19469e Author: Matthew Horsfall <[email protected]> Date: Sat Jan 31 16:51:29 2015 +0000 RMG - Per review - keep make distclean as a test, add comment (cherry picked from commit 3635a175bf00e393e4414789d7380fef1d57067e) M Porting/release_managers_guide.pod commit 4f70f766051937c18fe50a9a1e20550967c40dcf Author: Matthew Horsfall <[email protected]> Date: Sat Jan 31 16:50:26 2015 +0000 RMG: Remove useless 'make distclean', save time (cherry picked from commit f32e93edaa93e78bc9ca7c6d0be0650a8c6d3f88) M Porting/release_managers_guide.pod commit 375904be1233c1ce9a73af36441c195a7c33675a Author: Matthew Horsfall <[email protected]> Date: Mon Jun 23 10:59:03 2014 -0400 RMG - Clarify that updating %released/CAVEATS isn't for RCs (cherry picked from commit f1c895b1d5d94eb3140ca62793fdca667bcc9386) M Porting/release_managers_guide.pod commit 9e664b4efd9ed9b825173bd9a763f1724276b02c Author: James E Keenan <[email protected]> Date: Thu May 29 03:04:05 2014 +0200 Grammatical correction. (cherry picked from commit e158965ad6bbaafab0b6b312c8e97a21fe11bf74) M Porting/release_managers_guide.pod commit 3e9a0ed53fd3ca67775de0b6ed28a4bbba472d61 Author: Steve Hay <[email protected]> Date: Sat Jan 31 16:38:07 2015 +0000 RMG - Consistent four-space indent; wrap all lines to 79 characters (cherry picked from commit 78a6230914951e5879c967c6dc849b747a0f9c72) M Porting/release_managers_guide.pod ----------------------------------------------------------------------- Summary of changes: Porting/epigraphs.pod | 13 ++++ Porting/release_managers_guide.pod | 148 +++++++++++++++++++++---------------- Porting/release_schedule.pod | 2 +- pod/perlhist.pod | 1 + pod/perlpolicy.pod | 6 +- 5 files changed, 101 insertions(+), 69 deletions(-) diff --git a/Porting/epigraphs.pod b/Porting/epigraphs.pod index e628ea6..aced4ff 100644 --- a/Porting/epigraphs.pod +++ b/Porting/epigraphs.pod @@ -17,6 +17,19 @@ Consult your favorite dictionary for details. =head1 EPIGRAPHS +=head2 v5.21.8 - Bill Watterson, "Scientific Progress Goes 'Boink': A Calvin and Hobbes Collection" + +L<Announced on 2015-01-20 by Matthew Horsfall|http://www.nntp.perl.org/group/perl.perl5.porters/2015/01/msg224869.html> + +Calvin: OK Hobbes, press the button and duplicate me. +Hobbes: Are you sure this is such a good idea? +Calvin: Brother! You doubting Thomases get in the way of more scientific advances with your stupid ethical questions! This is a *BRILLIANT* idea! Hit the button, will ya? +Hobbes: I'd hate to be accused of inhibiting scientific progress... Here you go. +[Box]: *BOINK* +Hobbes: Scientific progress goes "BOINK"? +Calvin?: It worked! It worked! I'm a genius! +Cavlin??: No you're not, you liar! *I* invented this! + =head2 v5.21.7 - Robert Heinlein, The Number of the Beast L<Announced on 2014-12-20 by Max Maischein|http://www.nntp.perl.org/group/perl.perl5.porters/2014/12/msg223774.html> diff --git a/Porting/release_managers_guide.pod b/Porting/release_managers_guide.pod index cb0c894..af49194 100644 --- a/Porting/release_managers_guide.pod +++ b/Porting/release_managers_guide.pod @@ -15,14 +15,14 @@ document that starts with a checklist for your release. This script is run as: - perl Porting/make-rmg-checklist \ - --type [BLEAD-POINT or MAINT or ...] > /tmp/rmg.pod + perl Porting/make-rmg-checklist \ + --type [BLEAD-POINT or MAINT or ...] > /tmp/rmg.pod You can also pass the C<--html> flag to generate an HTML document instead of POD. - perl Porting/make-rmg-checklist --html \ - --type [BLEAD-POINT or MAINT or ...] > /tmp/rmg.html + perl Porting/make-rmg-checklist --html \ + --type [BLEAD-POINT or MAINT or ...] > /tmp/rmg.html =head1 SYNOPSIS @@ -48,7 +48,7 @@ The checklist of a typical release cycle is as follows: a few weeks before the release, a number of steps are performed, including bumping the version to 5.10.2 - ...a few weeks passes... + ...a few weeks pass... perl-5.10.2-RC1 is released @@ -321,23 +321,23 @@ C<nmake> instead. Ensure dual-life CPAN modules are stable, which comes down to: - for each module that fails its regression tests on $current - did it fail identically on $previous? - if yes, "SEP" (Somebody Else's Problem) - else work out why it failed (a bisect is useful for this) + for each module that fails its regression tests on $current + did it fail identically on $previous? + if yes, "SEP" (Somebody Else's Problem) + else work out why it failed (a bisect is useful for this) - attempt to group failure causes + attempt to group failure causes - for each failure cause - is that a regression? - if yes, figure out how to fix it - (more code? revert the code that broke it) - else - (presumably) it's relying on something un-or-under-documented - should the existing behaviour stay? - yes - goto "regression" - no - note it in perldelta as a significant bugfix - (also, try to inform the module's author) + for each failure cause + is that a regression? + if yes, figure out how to fix it + (more code? revert the code that broke it) + else + (presumably) it's relying on something un-or-under-documented + should the existing behaviour stay? + yes - goto "regression" + no - note it in perldelta as a significant bugfix + (also, try to inform the module's author) =head3 monitor smoke tests for failures @@ -377,7 +377,7 @@ bump the version further. There is a tool to semi-automate this process: - $ ./perl -Ilib Porting/bump-perl-version -i 5.10.0 5.10.1 + $ ./perl -Ilib Porting/bump-perl-version -i 5.10.0 5.10.1 Remember that this tool is largely just grepping for '5.10.0' or whatever, so it will generate false positives. Be careful not change text like @@ -390,6 +390,10 @@ C<5.10.0>-type strings, some of which need bumping on every release, and some of which need to be left unchanged. See below in L<"update INSTALL"> for more details. +For the first RC release leading up to a BLEAD-FINAL release, update the +description of which releases are now "officially" supported in +F<pod/perlpolicy.pod>. + When doing a BLEAD-POINT or BLEAD-FINAL release, also make sure the C<PERL_API_*> constants in F<patchlevel.h> are in sync with the version you're releasing, unless you're absolutely sure the release you're about to @@ -400,7 +404,7 @@ to guarantee binary compatibility in maint branches. After editing, regenerate uconfig.h (this must be run on a system with a /bin/sh available): - $ perl regen/uconfig_h.pl + $ perl regen/uconfig_h.pl This might not cause any new changes. @@ -410,18 +414,18 @@ If so, you must up their version numbers as well. Test your changes: - $ git clean -xdf # careful if you don't have local files to keep! - $ ./Configure -des -Dusedevel - $ make - $ make test + $ git clean -xdf # careful if you don't have local files to keep! + $ ./Configure -des -Dusedevel + $ make + $ make test Commit your changes: - $ git status - $ git diff - B<review the delta carefully> + $ git status + $ git diff + B<review the delta carefully> - $ git commit -a -m 'Bump the perl version in various places for 5.x.y' + $ git commit -a -m 'Bump the perl version in various places for 5.x.y' At this point you may want to compare the commit with a previous bump to see if they look similar. See commit f7cf42bb69 for an example of a @@ -454,7 +458,7 @@ release (so for 5.15.3 this would be 5.15.2). Check that the copyright years are up to date by running: - $ ./perl t/porting/copyright.t --now + $ ./perl t/porting/copyright.t --now Remedy any test failures by editing README or perl.c accordingly (search for the "Copyright"). If updating perl.c, check if the file's own copyright date in @@ -515,7 +519,7 @@ need to freeze blead during the release. This is less important for BLEAD-FINAL, MAINT, and RC releases, since blead will already be frozen in those cases. Create the branch by running - git checkout -b release-5.xx.yy + git checkout -b release-5.xx.yy =head3 build a clean perl @@ -547,8 +551,8 @@ maintainer for 'cpan' upstream modules. =head4 Bump Module::CoreList* $VERSIONs -If necessary, bump C<$Module::CoreList::VERSION> (there's no need to do this for -every RC; in RC1, bump the version to a new clean number that will +If necessary, bump C<$Module::CoreList::VERSION> (there's no need to do this +for every RC; in RC1, bump the version to a new clean number that will appear in the final release, and leave as-is for the later RCs and final). It may also happen that C<Module::CoreList> has been modified in blead, and hence has a new version number already. (But make sure it is not the same @@ -626,7 +630,7 @@ Add a perldelta entry for the new Module::CoreList version. =head4 Update C<%Module::CoreList::released> and C<CAVEATS> -In addition, if this is a final release (rather than a release candidate): +For any release except an RC: =over 4 @@ -642,27 +646,33 @@ Finally, commit the new version of Module::CoreList: (unless this is for MAINT; in which case commit it to blead first, then cherry-pick it back). - $ git commit -m 'Update Module::CoreList for 5.x.y' dist/Module-CoreList/Changes dist/Module-CoreList/lib/Module/CoreList.pm dist/Module-CoreList/lib/Module/CoreList/Utils.pm + $ git commit -m 'Update Module::CoreList for 5.x.y' \ + dist/Module-CoreList/Changes \ + dist/Module-CoreList/lib/Module/CoreList.pm \ + dist/Module-CoreList/lib/Module/CoreList/Utils.pm =head4 Rebuild and test -Build and test to get the changes into the currently built lib directory and to ensure -all tests are passing. +Build and test to get the changes into the currently built lib directory and to +ensure all tests are passing. =head3 finalize perldelta Finalize the perldelta. In particular, fill in the Acknowledgements section, which can be generated with something like: - $ perl Porting/acknowledgements.pl v5.15.0..HEAD + $ perl Porting/acknowledgements.pl v5.15.0..HEAD -Fill in the "New/Updated Modules" sections now that Module::CoreList is updated: +Fill in the "New/Updated Modules" sections now that Module::CoreList is +updated: - $ ./perl -Ilib Porting/corelist-perldelta.pl --mode=update pod/perldelta.pod + $ ./perl -Ilib Porting/corelist-perldelta.pl \ + --mode=update pod/perldelta.pod For a MAINT release use something like this instead: - $ ./perl -Ilib Porting/corelist-perldelta.pl 5.020001 5.020002 --mode=update pod/perldelta.pod + $ ./perl -Ilib Porting/corelist-perldelta.pl 5.020001 5.020002 \ + --mode=update pod/perldelta.pod Ideally, also fill in a summary of the major changes to each module for which an entry has been added by F<corelist-perldelta.pl>. @@ -678,7 +688,8 @@ run through pod and spell checkers, e.g. Also, you may want to generate and view an HTML version of it to check formatting, e.g. - $ ./perl -Ilib ext/Pod-Html/bin/pod2html pod/perldelta.pod > /tmp/perldelta.html + $ ./perl -Ilib ext/Pod-Html/bin/pod2html pod/perldelta.pod > \ + /tmp/perldelta.html Another good HTML preview option is http://search.cpan.org/pod2html @@ -765,10 +776,9 @@ Add an entry to F<pod/perlhist.pod> with the release date, e.g.: David 5.10.1 2009-Aug-06 -Make sure that the correct pumpking is listed in the left-hand column, and -if this is the first release under the stewardship of a new pumpking, make -sure that his or her name is listed in the section entitled -C<THE KEEPERS OF THE PUMPKIN>. +List yourself in the left-hand column, and if this is the first release +that you've ever done, make sure that your name is listed in the section +entitled C<THE KEEPERS OF THE PUMPKIN>. I<If you're making a BLEAD-FINAL release>, also update the "SELECTED RELEASE SIZES" section with the output of @@ -825,7 +835,7 @@ directory, they will still identify themselves using git tags and commits. (Note that for an odd-numbered version, perl will install itself as C<perl5.x.y>). C<perl -v> will identify itself as: - This is perl 5, version X, subversion Y (v5.X.Y (v5.X.Z-NNN-gdeadbeef)) + This is perl 5, version X, subversion Y (v5.X.Y (v5.X.Z-NNN-gdeadbeef)) where 5.X.Z is the latest tag, NNN the number of commits since this tag, and C<< deadbeef >> commit of that tag. @@ -859,13 +869,14 @@ up. Create a tarball. Use the C<-s> option to specify a suitable suffix for the tarball and directory name: - $ cd root/of/perl/tree - $ make distclean - $ git clean -xdf # make sure perl and git agree on files - $ git status # and there's nothing lying around + $ cd root/of/perl/tree + $ make distclean # make sure distclean works + $ git clean -xdf # make sure perl and git agree on files + # git clean should not output anything! + $ git status # and there's nothing lying around - $ perl Porting/makerel -b -s RC1 # for a release candidate - $ perl Porting/makerel -b # for a final release + $ perl Porting/makerel -b -s RC1 # for a release candidate + $ perl Porting/makerel -b # for a final release This creates the directory F<../perl-x.y.z-RC1> or similar, copies all the MANIFEST files into it, sets the correct permissions on them, then @@ -906,6 +917,9 @@ Check that basic configuration and tests work on each test machine: $ ./Configure -des && make all test + # Or for a development release: + $ ./Configure -Dusedevel -des && make all test + =head4 Run the test harness and install Check that the test harness and install work on each test machine: @@ -951,6 +965,9 @@ Bootstrap the CPAN client on the clean install: $ bin/cpan + # Or, perhaps: + $ bin/cpan5.xx.x + =head4 Install the Inline module with CPAN and test it Try installing a popular CPAN module that's reasonably complex and that @@ -1075,11 +1092,11 @@ Send a carbon copy to C<[email protected]> Merge the (local) release branch back into master now, and delete it. - git checkout blead - git pull - git merge release-5.xx.yy - git push - git branch -d release-5.xx.yy + git checkout blead + git pull + git merge release-5.xx.yy + git push + git branch -d release-5.xx.yy Note: The merge will create a merge commit if other changes have been pushed to blead while you've been working on your release branch. Do NOT rebase your @@ -1214,7 +1231,7 @@ Run a clean build and test to make sure nothing obvious is broken. In particular, F<Porting/perldelta_template.pod> is intentionally exempted from podchecker tests, to avoid false positives about placeholder text. However, once it's copied to F<pod/perldelta.pod> the contents can now -cause test failures. Problems should resolved by doing one of the +cause test failures. Problems should be resolved by doing one of the following: =over @@ -1282,9 +1299,9 @@ I<You MUST SKIP this step for RC, BLEAD-POINT> Copy the perldelta.pod for this release into blead; for example: - $ cd ..../blead - $ cp -i ../5.10.x/pod/perldelta.pod pod/perl5101delta.pod # for example - $ git add pod/perl5101delta.pod + $ cd ..../blead + $ cp -i ../5.10.x/pod/perldelta.pod pod/perl5101delta.pod # for example + $ git add pod/perl5101delta.pod Don't forget to set the NAME correctly in the new file (e.g. perl5101delta rather than perldelta). @@ -1309,7 +1326,7 @@ Finally, commit and push: Make sure any recent F<pod/perlhist.pod> entries are copied to F<perlhist.pod> on blead. e.g. - 5.8.9 2008-Dec-14 + 5.8.9 2008-Dec-14 =head3 bump RT version number @@ -1388,7 +1405,8 @@ test_porting makefile target to check that they're ok. Run - $ ./perl -Ilib -MModule::CoreList -le 'print Module::CoreList->find_version($]) ? "ok" : "not ok"' + $ ./perl -Ilib -MModule::CoreList \ + -le 'print Module::CoreList->find_version($]) ? "ok" : "not ok"' and check that it outputs "ok" to prove that Module::CoreList now knows about blead's current version. diff --git a/Porting/release_schedule.pod b/Porting/release_schedule.pod index d7bfb29..f0c62eb 100644 --- a/Porting/release_schedule.pod +++ b/Porting/release_schedule.pod @@ -59,7 +59,7 @@ you should reset the version numbers to the next blead series. 2014-10-20 5.21.5 â Abigail 2014-11-20 5.21.6 â Chris "BinGOs" Williams 2014-12-20 5.21.7 â Max Maischein - 2015-01-20 5.21.8 Matthew Horsfall + 2015-01-20 5.21.8 â Matthew Horsfall 2015-02-20 5.21.9 ? 2015-03-20 5.21.10 ? 2015-04-20 5.21.11 ? diff --git a/pod/perlhist.pod b/pod/perlhist.pod index 9f01589..9d9c821 100644 --- a/pod/perlhist.pod +++ b/pod/perlhist.pod @@ -547,6 +547,7 @@ the strings?). Abigail 5.21.5 2014-Oct-20 BinGOs 5.21.6 2014-Nov-20 Max M 5.21.7 2014-Dec-20 + Matthew H 5.21.8 2015-Jan-20 =head2 SELECTED RELEASE SIZES diff --git a/pod/perlpolicy.pod b/pod/perlpolicy.pod index 1998e26..c6e0bbd 100644 --- a/pod/perlpolicy.pod +++ b/pod/perlpolicy.pod @@ -84,9 +84,9 @@ the Perl community should expect from Perl's developers: =item * -We "officially" support the two most recent stable release series. 5.12.x -and earlier are now out of support. As of the release of 5.18.0, we will -"officially" end support for Perl 5.14.x, other than providing security +We "officially" support the two most recent stable release series. 5.14.x +and earlier are now out of support. As of the release of 5.20.0, we will +"officially" end support for Perl 5.16.x, other than providing security updates as described below. =item * -- Perl5 Master Repository
