X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/2c5d738be772a93cfd7b67a57547f36c84b696f6..cdf175f7f80eedf9ecae198d41dded383592465d:/Porting/release_managers_guide.pod diff --git a/Porting/release_managers_guide.pod b/Porting/release_managers_guide.pod index c1eeff1..873b475 100644 --- a/Porting/release_managers_guide.pod +++ b/Porting/release_managers_guide.pod @@ -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 @@ -203,10 +203,10 @@ be dealt with. You do this by not passing the C<-x> option: $ ./perl -Ilib Porting/core-cpan-diff -a -o /tmp/corediffs -Passing C<-u cpan> (and maybe C<-u undef>) will probably be helpful, since -it limits the search to distributions with those upstream sources. (It's -OK for blead upstream to differ from CPAN because those dual-life releases -usually come I perl is released. +Passing C<-u cpan> will probably be helpful, since it limits the search to +distributions with 'cpan' upstream source. (It's OK for blead upstream to +differ from CPAN because those dual-life releases usually come I perl +is released.) See also the C<-d> and C<-v> options for more detail (and the C<-u> option as mentioned above). You'll probably want to use the C<-c cachedir> option to @@ -215,14 +215,17 @@ you made a local CPAN mirror. Note that a minicpan mirror won't actually work, but can provide a good first pass to quickly get a list of modules which definitely haven't changed, to avoid having to download absolutely everything. -For a BLEAD release with 'cpan' upstream, if a CPAN release appears to be ahead -of blead, then consider updating it (or asking the relevant porter to do so). -If blead contains edits to a 'cpan' upstream module, this is naughty but -sometimes unavoidable to keep blead tests passing. Make sure the affected file -has a CUSTOMIZED entry in F. For 'undef' upstream, -you'll have to use your judgment for whether any delta should be ignored (like -'blead' upstream) or treated like a 'cpan' upstream and flagged. Ask around on -#p5p if you're not sure. +For a BLEAD-POINT or BLEAD-FINAL release with 'cpan' upstream, if a CPAN +release appears to be ahead of blead, then consider updating it (or asking the +relevant porter to do so). (However, if this is a BLEAD-FINAL release or one of +the last BLEAD-POINT releases before it and hence blead is in some kind of +"code freeze" state (e.g. the sequence might be "contentious changes freeze", +then "user-visible changes freeze" and finally "full code freeze") then any +CPAN module updates must be subject to the same restrictions, so it may not be +possible to update all modules until after the BLEAD-FINAL release.) If blead +contains edits to a 'cpan' upstream module, this is naughty but sometimes +unavoidable to keep blead tests passing. Make sure the affected file has a +CUSTOMIZED entry in F. If you are making a MAINT release, run C on both blead and maint, then diff the two outputs. Compare this with what you expect, and if @@ -251,7 +254,7 @@ C in the F directory. =item * Remove files we do not need. That is, remove any files that match the -entries in C<@IGNORE> in F, and anything that +entries in C<@IGNORABLE> in F, and anything that matches the C section of the distro's entry in the C<%Modules> hash. @@ -393,6 +396,10 @@ some of which need to be left unchanged. The line in F about "is binary incompatible with" requires a correct choice of earlier version to declare incompatibility with. +For the first RC release leading up to a BLEAD-FINAL release, update the +description of which releases are now "officially" supported in +F. + When doing a BLEAD-POINT or BLEAD-FINAL release, also make sure the C constants in F are in sync with the version you're releasing, unless you're absolutely sure the release you're about to @@ -606,7 +613,7 @@ Add a perldelta entry for the new Module::CoreList version. =head4 Update C<%Module::CoreList::released> and C -In addition, if this is a final release (rather than a release candidate): +For any release except an RC: =over 4 @@ -751,10 +758,9 @@ Add an entry to F 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. +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. I, also update the "SELECTED RELEASE SIZES" section with the output of @@ -846,8 +852,9 @@ 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 + $ 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 @@ -892,6 +899,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: @@ -937,6 +947,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 @@ -1084,9 +1097,9 @@ earlier too (e.g.): =head3 update epigraphs.pod Add your quote to F and commit it. -Your release announcement will probably not have reached the web-visible -archives yet, so you won't be able to include the customary link to the -release announcement yet. +You can include the customary link to the release announcement even before your +message reaches the web-visible archives by looking for the X-List-Archive +header in your message after receiving it back via perl5-porters. =head3 blog about your epigraph @@ -1252,6 +1265,9 @@ Copy the perldelta.pod for this release into blead; for example: $ 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). + Edit F to add an entry for the file, e.g.: perl5101delta Perl changes in version 5.10.1