This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Prepare the next release schedule
[perl5.git] / Porting / release_managers_guide.pod
index 6c8a769..ceee995 100644 (file)
@@ -246,7 +246,7 @@ Additionally, all files listed as "modified" but not "customized for blead"
 should have entries added under the C<CUSTOMIZED> key in
 F<Porting/Maintainers.pl>, as well as checksums updated via:
 
-    cd t; ./perl -I../lib porting/customized.t --regen
+    cd t; ../perl -I../lib porting/customized.t --regen
 
 =head4 Sync CPAN modules with the corresponding cpanE<sol> distro
 
@@ -435,9 +435,11 @@ 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
-make is 100% binary compatible to an earlier release. When releasing a MAINT
-perl version, the C<PERL_API_*> constants C<MUST NOT> be changed as we aim
-to guarantee binary compatibility in maint branches.
+make is 100% binary compatible to an earlier release. Note: for BLEAD-POINT
+releases the bump should have already occured at the end of the previous release
+and this is somethig you would have to do at the very end.
+When releasing a MAINT perl version, the C<PERL_API_*> constants C<MUST NOT>
+be changed as we aim to guarantee binary compatibility in maint branches.
 
 After editing, regenerate uconfig.h (this must be run on a system with a
 /bin/sh available):
@@ -479,6 +481,7 @@ version number.
 =head3 update INSTALL
 
 Review and update INSTALL to account for the change in version number.
+INSTALL for a BLEAD-POINT release should already contain the expected version.
 The lines in F<INSTALL> about "is not binary compatible with" may require a
 correct choice of earlier version to declare incompatibility with. These are
 in the "Changes and Incompatibilities" and "Coexistence with earlier versions
@@ -501,7 +504,7 @@ blead release, so you may find nothing to do here.
 
 Check that the copyright years are up to date by running:
 
-    $ pushd t; ./perl -I../lib porting/copyright.t --now
+    $ pushd t; ../perl -I../lib 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
@@ -531,6 +534,9 @@ C<-Dusethreads>
 If you have multiple compilers on your machine, you might also consider
 compiling with C<-Dcc=$other_compiler>.
 
+You can also consider pushing the repo to GitHub where Travis CI is enabled
+which would smoke different flavors of Perl for you.
+
 =head3 update perlport
 
 L<perlport> has a section currently named I<Supported Platforms> that
@@ -793,6 +799,13 @@ Then build a clean perl and do a full test
 
 Once all tests pass, commit your changes.
 
+=head3 final check of perldelta placeholders
+
+Check for any 'XXX' leftover section in the perldelta.
+Either fill them or remove these sections appropriately.
+
+    $ git grep XX pod/perldelta.pod
+
 =head3 build a clean perl
 
 If you skipped the previous step (adding/removing perldeltas),
@@ -996,9 +1009,12 @@ Check that basic configuration and tests work on each test machine:
 
 Check that the test harness and install work on each test machine:
 
- $ make distclean
- $ ./Configure -des -Dprefix=/install/path && make all test_harness install
- $ cd /install/path
+    $ make distclean
+    $ ./Configure -des -Dprefix=/install/path && \
+          make all test_harness install
+    $ cd /install/path
+
+(Remember C<-Dusedevel> above, for a development release.)
 
 =head4 Check C<perl -v> and C<perl -V>
 
@@ -1011,7 +1027,9 @@ which is why you should test from the tarball.
 
 =head4 Run the Installation Verification Procedure utility
 
-    $ ./perl utils/perlivp
+    $ ./perl -Ilib ./perlivp
+    # Or, perhaps:
+    $ ./perl5.x.y ./perlivp5.x.y
     ...
     All tests successful.
     $
@@ -1031,6 +1049,13 @@ previous is 5.10.0:
     find . -type f | sort > /tmp/f2
     diff -u /tmp/f[12]
 
+=head4 Disable C<local::lib> if it's turned on
+
+If you're using C<local::lib>, you should reset your environment before
+performing these actions:
+
+    $ unset PERL5LIB PERL_MB_OPT PERL_LOCAL_LIB_ROOT PERL_MM_OPT
+
 =head4 Bootstrap the CPAN client
 
 Bootstrap the CPAN client on the clean install:
@@ -1042,11 +1067,6 @@ Bootstrap the CPAN client on the clean install:
 
 =head4 Install the Inline module with CPAN and test it
 
-If you're using C<local::lib>, you should reset your environment before
-performing these actions:
-
-    $ unset PERL5LIB PERL_MB_OPT PERL_LOCAL_LIB_ROOT PERL_MM_OPT
-
 Try installing a popular CPAN module that's reasonably complex and that
 has dependencies; for example:
 
@@ -1055,7 +1075,7 @@ has dependencies; for example:
 
 Check that your perl can run this:
 
-    $ bin/perl -lwe "use Inline C => q[int f() { return 42;}]; print f"
+    $ bin/perl -Ilib -lwe "use Inline C => q[int f() { return 42;}]; print f"
     42
     $
 
@@ -1074,7 +1094,7 @@ Test L<perlbug> with the following:
     (edit report)
     Action (Send/Display/Edit/Subject/Save to File): f
     Name of file to save message in [perlbug.rep]:
-    Action (Send/Display/Edit/Subject/Save to File): q
+    Action (Send/Display/Edit/Subject/Save to File): Q
 
 and carefully examine the output (in F<perlbug.rep]>), especially
 the "Locally applied patches" section. If everything appears okay, then
@@ -1136,8 +1156,10 @@ you have it configured:
     cpan-upload perl-5.X.Y.tar.xz
 
 Do not proceed any further until you are sure that your tarballs are on CPAN.
-Check your authors directory www.cpan.org (the globally balanced "fast"
-mirror) to confirm that your uploads have been successful.
+Check your authors directory metacpan.org to confirm that your uploads have
+been successful.
+
+    https://metacpan.org/author/YOUR_PAUSE_ID
 
 =for checklist skip RC BLEAD-POINT