"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "Porting/release_managers_guide.pod" between
perl-5.28.2.tar.xz and perl-5.28.3.tar.xz

About: Perl (Practical Extraction and Report Language) is a high-level, general-purpose, interpreted, dynamic programming language. Stable release.

release_managers_guide.pod  (perl-5.28.2.tar.xz):release_managers_guide.pod  (perl-5.28.3.tar.xz)
skipping to change at line 143 skipping to change at line 143
https://pause.perl.org/pause/query?ACTION=request_id https://pause.perl.org/pause/query?ACTION=request_id
Check that your account is allowed to upload perl distros: go to Check that your account is allowed to upload perl distros: go to
L<https://pause.perl.org/pause/authenquery?ACTION=who_pumpkin> and check that L<https://pause.perl.org/pause/authenquery?ACTION=who_pumpkin> and check that
your PAUSE ID is listed there. If not, ask Andreas KE<0xf6>nig to add your ID your PAUSE ID is listed there. If not, ask Andreas KE<0xf6>nig to add your ID
to the list of people allowed to upload something called perl. You can find to the list of people allowed to upload something called perl. You can find
Andreas' email address at: Andreas' email address at:
https://pause.perl.org/pause/query?ACTION=pause_04imprint https://pause.perl.org/pause/query?ACTION=pause_04imprint
=head3 rt.perl.org update access =head3 GitHub issue management access
Make sure you have permission to close tickets on L<http://rt.perl.org/> Make sure you have permission to close tickets on L<https://github.com/Perl/perl 5/issues>
so you can respond to bug reports as necessary during your stint. If you so you can respond to bug reports as necessary during your stint. If you
don't, make an account (if you don't have one) and contact the pumpking don't, make a GitHub account (if you don't have one) and contact the pumpking
with your username to get ticket-closing permission. with your username to get ticket-closing permission.
=head3 git checkout and commit bit =head3 git checkout and commit bit
You will need a working C<git> installation, checkout of the perl You will need a working C<git> installation, checkout of the perl
git repository and perl commit bit. For information about working git repository and perl commit bit. For information about working
with perl and git, see F<pod/perlgit.pod>. with perl and git, see F<pod/perlgit.pod>.
If you are not yet a perl committer, you won't be able to make a If you are not yet a perl committer, you won't be able to make a
release. Have a chat with whichever evil perl porter tried to talk release. Have a chat with whichever evil perl porter tried to talk
skipping to change at line 248 skipping to change at line 248
have some extra changes. have some extra changes.
In any case, any cpan-first distribution that is listed as having files In any case, any cpan-first distribution that is listed as having files
"Customized for blead" in the output of cpan-core-diff should have requests "Customized for blead" in the output of cpan-core-diff should have requests
submitted to the maintainer(s) to make a cpan release to catch up with blead. submitted to the maintainer(s) to make a cpan release to catch up with blead.
Additionally, all files listed as "modified" but not "customized for blead" Additionally, all files listed as "modified" but not "customized for blead"
should have entries added under the C<CUSTOMIZED> key in should have entries added under the C<CUSTOMIZED> key in
F<Porting/Maintainers.pl>, as well as checksums updated via: 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 =head4 Sync CPAN modules with the corresponding cpanE<sol> distro
In most cases, once a new version of a distribution shipped with core has been In most cases, once a new version of a distribution shipped with core has been
uploaded to CPAN, the core version thereof can be synchronized automatically uploaded to CPAN, the core version thereof can be synchronized automatically
with the program F<Porting/sync-with-cpan>. (But see the comments at the with the program F<Porting/sync-with-cpan>. (But see the comments at the
beginning of that program. In particular, it has not yet been exercised on beginning of that program. In particular, it has not yet been exercised on
Windows as much as it has on Unix-like platforms.) Windows as much as it has on Unix-like platforms.)
If, however, F<Porting/sync-with-cpan> does not provide good results, follow If, however, F<Porting/sync-with-cpan> does not provide good results, follow
skipping to change at line 368 skipping to change at line 368
else else
(presumably) it's relying on something un-or-under-documented (presumably) it's relying on something un-or-under-documented
should the existing behaviour stay? should the existing behaviour stay?
yes - goto "regression" yes - goto "regression"
no - note it in perldelta as a significant bugfix no - note it in perldelta as a significant bugfix
(also, try to inform the module's author) (also, try to inform the module's author)
=head3 monitor smoke tests for failures =head3 monitor smoke tests for failures
Similarly, monitor the smoking of core tests, and try to fix. See Similarly, monitor the smoking of core tests, and try to fix. See
L<https://tux.nl/perl5/smoke/index.html>, L<http://perl5.test-smoke.org/> L<https://tux.nl/perl5/smoke/index.html>, L<https://perl5.test-smoke.org/>
and L<http://perl.develop-help.com> for a summary. See also and L<http://perl.develop-help.com> for a summary. See also
L<http://www.nntp.perl.org/group/perl.daily-build.reports/> which has L<https://www.nntp.perl.org/group/perl.daily-build.reports/> which has
the raw reports. the raw reports.
Similarly, monitor the smoking of perl for compiler warnings, and try to Similarly, monitor the smoking of perl for compiler warnings, and try to
fix. fix.
=for checklist skip BLEAD-POINT =for checklist skip BLEAD-POINT
=head3 monitor CPAN testers for failures =head3 monitor CPAN testers for failures
For any release except a BLEAD-POINT: Examine the relevant analysis report(s) For any release except a BLEAD-POINT: Examine the relevant analysis report(s)
at L<http://analysis.cpantesters.org/beforemaintrelease> to see how the at L<http://analysis.cpantesters.org/beforemaintrelease> to see how the
impending release is performing compared to previous releases with impending release is performing compared to previous releases with
regard to building and testing CPAN modules. regard to building and testing CPAN modules.
That page accepts a query parameter, C<pair> that takes a pair of That page accepts a query parameter, C<pair> that takes a pair of
colon-delimited versions to use for comparison. For example: colon-delimited versions to use for comparison. For example:
L<http://analysis.cpantesters.org/beforemaintrelease?pair=5.20.2:5.22.0%20RC1> L<http://analysis.cpantesters.org/beforemaintrelease?pair=5.20.2:5.22.0%20RC1>
=head3 Monitor Continuous Integration smokers
Currently both "Travis CI" and "GitHub Actions" smokers are setup.
Their current status is available at:
L<https://github.com/Perl/perl5/actions>
L<https://travis-ci.org/Perl/perl5>
=head3 update perldelta =head3 update perldelta
Get perldelta in a mostly finished state. Get perldelta in a mostly finished state.
Read F<Porting/how_to_write_a_perldelta.pod>, and try to make sure that Read F<Porting/how_to_write_a_perldelta.pod>, and try to make sure that
every section it lists is, if necessary, populated and complete. Copy every section it lists is, if necessary, populated and complete. Copy
edit the whole document. edit the whole document.
You won't be able to automatically fill in the "Updated Modules" section until You won't be able to automatically fill in the "Updated Modules" section until
after Module::CoreList is updated (as described below in after Module::CoreList is updated (as described below in
skipping to change at line 438 skipping to change at line 446
See below in L<"update INSTALL"> for more details. See below in L<"update INSTALL"> for more details.
For the first RC release leading up to a BLEAD-FINAL release, update the For the first RC release leading up to a BLEAD-FINAL release, update the
description of which releases are now "officially" supported in description of which releases are now "officially" supported in
F<pod/perlpolicy.pod>. F<pod/perlpolicy.pod>.
When doing a BLEAD-POINT or BLEAD-FINAL release, also make sure the 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 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 you're releasing, unless you're absolutely sure the release you're about to
make is 100% binary compatible to an earlier release. Note: for BLEAD-POINT 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 releases the bump should have already occurred at the end of the previous
and this is somethig you would have to do at the very end. release and this is something you would have to do at the very end.
When releasing a MAINT perl version, the C<PERL_API_*> constants C<MUST NOT> 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. 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 After editing, regenerate uconfig.h (this must be run on a system with a
/bin/sh available): /bin/sh available):
$ perl regen/uconfig_h.pl $ perl regen/uconfig_h.pl
This might not cause any new changes. This might not cause any new changes.
skipping to change at line 506 skipping to change at line 514
For BLEAD-POINT releases, it needs to refer to the previous BLEAD-POINT For BLEAD-POINT releases, it needs to refer to the previous BLEAD-POINT
release (so for 5.15.3 this would be 5.15.2). If the last release manager release (so for 5.15.3 this would be 5.15.2). If the last release manager
followed instructions, this should have already been done after the last followed instructions, this should have already been done after the last
blead release, so you may find nothing to do here. blead release, so you may find nothing to do here.
=head3 Check copyright years =head3 Check copyright years
Check that the copyright years are up to date by running: 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 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 the "Copyright"). If updating perl.c, check if the file's own copyright date in
the C comment at the top needs updating, as well as the one printed by C<-v>. the C comment at the top needs updating, as well as the one printed by C<-v>.
=head3 Check more build configurations =head3 Check more build configurations
Try running the full test suite against multiple Perl configurations. Here are Try running the full test suite against multiple Perl configurations. Here are
some sets of Configure flags you can try: some sets of Configure flags you can try:
skipping to change at line 547 skipping to change at line 555
which would smoke different flavors of Perl for you. which would smoke different flavors of Perl for you.
=head3 update perlport =head3 update perlport
L<perlport> has a section currently named I<Supported Platforms> that L<perlport> has a section currently named I<Supported Platforms> that
indicates which platforms are known to build in the current release. indicates which platforms are known to build in the current release.
If necessary update the list and the indicated version number. If necessary update the list and the indicated version number.
=head3 check a readonly build =head3 check a readonly build
Even before other prep work, follow the steps in L<build the tarball> and test Even before other prep work, follow the steps in L</build the tarball> and test
it locally. Because a perl source tarballs sets many files read-only, it could it locally. Because a perl source tarballs sets many files read-only, it could
test differently than tests run from the repository. After you're sure test differently than tests run from the repository. After you're sure
permissions aren't a problem, delete the generated directory and tarballs. permissions aren't a problem, delete the generated directory and tarballs.
=head2 Building a release - on the day =head2 Building a release - on the day
This section describes the actions required to make a release This section describes the actions required to make a release
that are performed near to, or on the actual release day. that are performed near to, or on the actual release day.
=head3 re-check earlier actions =head3 re-check earlier actions
skipping to change at line 653 skipping to change at line 661
If you can devise a workable system, feel free to try it out, and to If you can devise a workable system, feel free to try it out, and to
update the RMG accordingly! update the RMG accordingly!
DAPM May 2013 ] DAPM May 2013 ]
F<corelist.pl> uses ftp.funet.fi to verify information about dual-lived F<corelist.pl> uses ftp.funet.fi to verify information about dual-lived
modules on CPAN. It can use a full, local CPAN mirror and/or fall back modules on CPAN. It can use a full, local CPAN mirror and/or fall back
on HTTP::Tiny to fetch package metadata remotely. on HTTP::Tiny to fetch package metadata remotely.
(If you'd prefer to have a full CPAN mirror, see (If you'd prefer to have a full CPAN mirror, see
L<http://www.cpan.org/misc/cpan-faq.html#How_mirror_CPAN>) L<https://www.cpan.org/misc/cpan-faq.html#How_mirror_CPAN>)
Change to your perl checkout, and if necessary, Change to your perl checkout, and if necessary,
$ make $ make
Then, If you have a local CPAN mirror, run: Then, If you have a local CPAN mirror, run:
$ ./perl -Ilib Porting/corelist.pl ~/my-cpan-mirror $ ./perl -Ilib Porting/corelist.pl ~/my-cpan-mirror
Otherwise, run: Otherwise, run:
skipping to change at line 690 skipping to change at line 698
Also edit Module::CoreList's new version number in its F<Changes> file. Also edit Module::CoreList's new version number in its F<Changes> file.
This file is F<dist/Module-CoreList/Changes>. This file is F<dist/Module-CoreList/Changes>.
(BLEAD-POINT releases should have had this done already as a post-release (BLEAD-POINT releases should have had this done already as a post-release
action from the last commit.) action from the last commit.)
=head4 Add Module::CoreList version bump to perldelta =head4 Add Module::CoreList version bump to perldelta
Add a perldelta entry for the new Module::CoreList version. You only Add a perldelta entry for the new Module::CoreList version. You only
need to do this if you want to add notes about the changes included need to do this if you want to add notes about the changes included
with this version of Module::CoreList. Otherwise, its version bump with this version of Module::CoreList. Otherwise, its version bump
will be automatically filled in below in L<finalize perldelta>. will be automatically filled in below in L</finalize perldelta>.
=for checklist skip RC =for checklist skip RC
=head4 Update C<%Module::CoreList::released> =head4 Update C<%Module::CoreList::released>
For any release except an RC: Update this version's entry in the C<%released> For any release except an RC: Update this version's entry in the C<%released>
hash with today's date. hash with today's date.
=head4 Commit Module::CoreList changes =head4 Commit Module::CoreList changes
skipping to change at line 751 skipping to change at line 759
$ podchecker -warnings -warnings pod/perldelta.pod $ podchecker -warnings -warnings pod/perldelta.pod
$ spell pod/perldelta.pod $ spell pod/perldelta.pod
$ aspell list < pod/perldelta.pod | sort -u $ aspell list < pod/perldelta.pod | sort -u
Also, you may want to generate and view an HTML version of it to check Also, you may want to generate and view an HTML version of it to check
formatting, e.g. formatting, e.g.
$ ./perl -Ilib ext/Pod-Html/bin/pod2html pod/perldelta.pod > \ $ ./perl -Ilib ext/Pod-Html/bin/pod2html pod/perldelta.pod > \
~/perldelta.html ~/perldelta.html
You should add pod links for GitHub issue references thusly:
$ perl -p -i -e'BEGIN{undef $/}; s{(GH\s+#)(\d+)}{L<$1$2|https://github.com/
Perl/perl5/issues/$2>}mg' pod/perldelta.pod
If you make changes, be sure to commit them. If you make changes, be sure to commit them.
=for checklist skip BLEAD-POINT MAINT RC =for checklist skip BLEAD-POINT MAINT RC
=head3 remove stale perldeltas =head3 remove stale perldeltas
For the first RC release that is ONLY for a BLEAD-FINAL, the perldeltas For the first RC release that is ONLY for a BLEAD-FINAL, the perldeltas
from the BLEAD-POINT releases since the previous BLEAD-FINAL should have from the BLEAD-POINT releases since the previous BLEAD-FINAL should have
now been consolidated into the current perldelta, and hence are now just now been consolidated into the current perldelta, and hence are now just
useless clutter. They can be removed using: useless clutter. They can be removed using:
skipping to change at line 915 skipping to change at line 927
where 5.X.Z is the latest tag, NNN the number of commits since this tag, where 5.X.Z is the latest tag, NNN the number of commits since this tag,
and C<< deadbeef >> commit of that tag. and C<< deadbeef >> commit of that tag.
Then delete the temporary installation. Then delete the temporary installation.
=head3 create the release tag =head3 create the release tag
Create the tag identifying this release (e.g.): Create the tag identifying this release (e.g.):
$ git tag v5.11.0 -m "First release of the v5.11 series!" $ git tag v5.11.0 -m 'First release of the v5.11 series!'
It is B<VERY> important that from this point forward, you not push It is B<VERY> important that from this point forward, you not push
your git changes to the Perl master repository. If anything goes your git changes to the Perl master repository. If anything goes
wrong before you publish your newly-created tag, you can delete wrong before you publish your newly-created tag, you can delete
and recreate it. Once you push your tag, we're stuck with it and recreate it. Once you push your tag, we're stuck with it
and you'll need to use a new version number for your release. and you'll need to use a new version number for your release.
=head3 build the tarball =head3 build the tarball
Before you run the following, you might want to install 7-Zip (the Before you run the following, you might want to install 7-Zip (the
skipping to change at line 938 skipping to change at line 950
or the C<advancecomp> port on macports - 7-Zip on Windows is the or the C<advancecomp> port on macports - 7-Zip on Windows is the
same code as AdvanceCOMP, so Windows users get the smallest files same code as AdvanceCOMP, so Windows users get the smallest files
first time). These compress about 5% smaller than gzip and bzip2. first time). These compress about 5% smaller than gzip and bzip2.
Over the lifetime of your distribution this will save a lot of Over the lifetime of your distribution this will save a lot of
people a small amount of download time and disk space, which adds people a small amount of download time and disk space, which adds
up. up.
In order to produce the C<xz> tarball, XZ Utils are required. The C<xz> In order to produce the C<xz> tarball, XZ Utils are required. The C<xz>
utility is included with most modern UNIX-type operating systems and utility is included with most modern UNIX-type operating systems and
is available for Cygwin. A Windows port is available from is available for Cygwin. A Windows port is available from
L<http://tukaani.org/xz/>. L<https://tukaani.org/xz/>.
B<IMPORTANT>: if you are on OS X, you must export C<COPYFILE_DISABLE=1> B<IMPORTANT>: if you are on OS X, you must export C<COPYFILE_DISABLE=1>
to prevent OS X resource files from being included in your tarball. After to prevent OS X resource files from being included in your tarball. After
creating the tarball following the instructions below, inspect it to ensure creating the tarball following the instructions below, inspect it to ensure
you don't have files like F<._foobar>. you don't have files like F<._foobar>.
Create a tarball. Use the C<-s> option to specify a suitable suffix for Create a tarball. Use the C<-s> option to specify a suitable suffix for
the tarball and directory name: the tarball and directory name:
$ cd root/of/perl/tree $ cd root/of/perl/tree
skipping to change at line 1010 skipping to change at line 1022
$ ./Configure -des && make all minitest test $ ./Configure -des && make all minitest test
# Or for a development release: # Or for a development release:
$ ./Configure -Dusedevel -des && make all minitest test $ ./Configure -Dusedevel -des && make all minitest test
=head4 Run the test harness and install =head4 Run the test harness and install
Check that the test harness and install work on each test machine: Check that the test harness and install work on each test machine:
$ make distclean $ make distclean
$ ./Configure -des -Dprefix=/install/path && make all test_harness install $ ./Configure -des -Dprefix=/install/path && \
$ cd /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> =head4 Check C<perl -v> and C<perl -V>
Check that the output of C<perl -v> and C<perl -V> are as expected, Check that the output of C<perl -v> and C<perl -V> are as expected,
especially as regards version numbers, patch and/or RC levels, and @INC especially as regards version numbers, patch and/or RC levels, and @INC
paths. paths.
Note that the results may be different without a F<.git/> directory, Note that the results may be different without a F<.git/> directory,
which is why you should test from the tarball. which is why you should test from the tarball.
=head4 Run the Installation Verification Procedure utility =head4 Run the Installation Verification Procedure utility
$ ./perl ./perlivp $ ./perl -Ilib ./utils/perlivp
# Or, perhaps: # Or, perhaps:
$ ./perl5.x.y ./perlivp5.x.y $ ./perl5.x.y ./utils/perlivp5.x.y
... ...
All tests successful. All tests successful.
$ $
=head4 Compare the installed paths to the last release =head4 Compare the installed paths to the last release
Compare the pathnames of all installed files with those of the previous Compare the pathnames of all installed files with those of the previous
release (i.e. against the last installed tarball on this branch which you release (i.e. against the last installed tarball on this branch which you
have previously verified using this same procedure). In particular, look have previously verified using this same procedure). In particular, look
for files in the wrong place, or files no longer included which should be. for files in the wrong place, or files no longer included which should be.
For example, suppose the about-to-be-released version is 5.10.1 and the For example, suppose the about-to-be-released version is 5.10.1 and the
previous is 5.10.0: previous is 5.10.0:
cd installdir-5.10.0/ cd installdir-5.10.0/
find . -type f | perl -pe's/5\.10\.0/5.10.1/g' | sort > /tmp/f1 find . -type f | perl -pe's/5\.10\.0/5.10.1/g' | sort > /tmp/f1
cd installdir-5.10.1/ cd installdir-5.10.1/
find . -type f | sort > /tmp/f2 find . -type f | sort > /tmp/f2
diff -u /tmp/f[12] 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 =head4 Bootstrap the CPAN client
Bootstrap the CPAN client on the clean install: Bootstrap the CPAN client on the clean install:
$ bin/cpan $ bin/cpan
# Or, perhaps: # Or, perhaps:
$ bin/cpan5.xx.x $ bin/cpan5.xx.x
=head4 Install the Inline module with CPAN and test it =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 Try installing a popular CPAN module that's reasonably complex and that
has dependencies; for example: has dependencies; for example:
CPAN> install Inline::C CPAN> install Inline::C
CPAN> quit CPAN> quit
Check that your perl can run this: 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 42
$ $
=head4 Make sure that perlbug works =head4 Make sure that perlbug works
Test L<perlbug> with the following: Test L<perlbug> with the following:
$ bin/perlbug $ bin/perlbug
... ...
Subject: test bug report Subject: test bug report
skipping to change at line 1093 skipping to change at line 1110
Editor [vi]: Editor [vi]:
Module: Module:
Category [core]: Category [core]:
Severity [low]: Severity [low]:
(edit report) (edit report)
Action (Send/Display/Edit/Subject/Save to File): f Action (Send/Display/Edit/Subject/Save to File): f
Name of file to save message in [perlbug.rep]: 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 and carefully examine the output (in F<perlbug.rep]>), especially
the "Locally applied patches" section. If everything appears okay, then the "Locally applied patches" section.
delete the file, and try it again, this time actually submitting the bug
report. Check that it shows up, then remember to close it!
=for checklist skip BLEAD-POINT =for checklist skip BLEAD-POINT
=head3 monitor smokes =head3 monitor smokes
XXX This is probably irrelevant if working on a release branch, though XXX This is probably irrelevant if working on a release branch, though
MAINT or RC might want to push a smoke branch and wait. MAINT or RC might want to push a smoke branch and wait.
Wait for the smoke tests to catch up with the commit which this release is Wait for the smoke tests to catch up with the commit which this release is
based on (or at least the last commit of any consequence). based on (or at least the last commit of any consequence).
skipping to change at line 1232 skipping to change at line 1247
Add your quote to F<Porting/epigraphs.pod> and commit it. Add your quote to F<Porting/epigraphs.pod> and commit it.
You can include the customary link to the release announcement even before your 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 message reaches the web-visible archives by looking for the X-List-Archive
header in your message after receiving it back via perl5-porters. header in your message after receiving it back via perl5-porters.
=head3 blog about your epigraph =head3 blog about your epigraph
If you have a blog, please consider writing an entry in your blog explaining If you have a blog, please consider writing an entry in your blog explaining
why you chose that particular quote for your epigraph. why you chose that particular quote for your epigraph.
=head3 update the link to the latest perl on perlweb
Submit a pull request to L<https://github.com/perlorg/perlweb> to update the
link in F<docs/dev/perl5/index.html> to point to your release.
=for checklist skip RC =for checklist skip RC
=head3 Release schedule =head3 Release schedule
I<You MUST SKIP this step for RC> I<You MUST SKIP this step for RC>
Tick the entry for your release in F<Porting/release_schedule.pod>. Tick the entry for your release in F<Porting/release_schedule.pod>.
=for checklist skip RC =for checklist skip RC
skipping to change at line 1337 skipping to change at line 1357
calls itself 5.20.2 then much time can be wasted in figuring out why there calls itself 5.20.2 then much time can be wasted in figuring out why there
is a failure from something that "should have been fixed". If the bump is is a failure from something that "should have been fixed". If the bump is
late then there is a much smaller window of time for such confusing bug late then there is a much smaller window of time for such confusing bug
reports to arise. (The opposite problem -- trying to figure out why there reports to arise. (The opposite problem -- trying to figure out why there
*is* a bug in something calling itself 5.20.1 when in fact the bug was *is* a bug in something calling itself 5.20.1 when in fact the bug was
introduced later -- shouldn't arise for MAINT releases since they should, introduced later -- shouldn't arise for MAINT releases since they should,
in theory, only contain bug fixes but never regressions.)) in theory, only contain bug fixes but never regressions.))
=head3 clean build and test =head3 clean build and test
Run a clean build and test to make sure nothing obvious is broken. Run a clean build and test to make sure nothing obvious is broken. This is
very important, as commands run after this point must be run using the perl
executable built with the bumped version number.
$ git clean -xdf
$ ./Configure -des -Dusedevel
$ make
$ make test
In particular, F<Porting/perldelta_template.pod> is intentionally exempted In particular, F<Porting/perldelta_template.pod> is intentionally exempted
from podchecker tests, to avoid false positives about placeholder text. from podchecker tests, to avoid false positives about placeholder text.
However, once it's copied to F<pod/perldelta.pod> the contents can now However, once it's copied to F<pod/perldelta.pod> the contents can now
cause test failures. Problems should be resolved by doing one of the cause test failures. Problems should be resolved by doing one of the
following: following:
=over =over
=item 1 =item 1
skipping to change at line 1490 skipping to change at line 1517
F<dist/Module-CoreList/lib/Module/CoreList/Utils.pm> as it did before, F<dist/Module-CoreList/lib/Module/CoreList/Utils.pm> as it did before,
but this time adding new sections for the next BLEAD-POINT release. but this time adding new sections for the next BLEAD-POINT release.
=item * =item *
Add the new $Module::CoreList::VERSION to Add the new $Module::CoreList::VERSION to
F<dist/Module-CoreList/Changes>. F<dist/Module-CoreList/Changes>.
=item * =item *
Update F<pod/perldelta.pod> to mention the upgrade to Module::CoreList.
=item *
Remake perl to get your changed .pm files propagated into F<lib/> and Remake perl to get your changed .pm files propagated into F<lib/> and
then run at least the F<dist/Module-CoreList/t/*.t> tests and the then run at least the F<dist/Module-CoreList/t/*.t> tests and the
test_porting makefile target to check that they're ok. test_porting makefile target to check that they're ok.
=item * =item *
Run Run
$ ./perl -Ilib -MModule::CoreList \ $ ./perl -Ilib -MModule::CoreList \
-le 'print Module::CoreList->find_version($]) ? "ok" : "not ok"' -le 'print Module::CoreList->find_version($]) ? "ok" : "not ok"'
skipping to change at line 1523 skipping to change at line 1546
=head3 check tarball availability =head3 check tarball availability
Check various website entries to make sure the that tarball has appeared Check various website entries to make sure the that tarball has appeared
and is properly indexed: and is properly indexed:
=over 4 =over 4
=item * =item *
Check your author directory under L<http://www.cpan.org/authors/id/> Check your author directory under L<https://www.cpan.org/authors/id/>
to ensure that the tarballs are available on the website. to ensure that the tarballs are available on the website.
=item * =item *
Check F</src> on CPAN (on a fast mirror) to ensure that links to Check F</src> on CPAN (on a fast mirror) to ensure that links to
the new tarballs have appeared: There should be links in F</src/5.0> the new tarballs have appeared: There should be links in F</src/5.0>
(which is accumulating all new versions), and (for BLEAD-FINAL and (which is accumulating all new versions), and (for BLEAD-FINAL and
MAINT only) an appropriate mention in F</src/README.html> (which describes MAINT only) an appropriate mention in F</src/README.html> (which describes
the latest versions in each stable branch, with links). the latest versions in each stable branch, with links).
The F</src/5.0> links should appear automatically, some hours after upload. The F</src/5.0> links should appear automatically, some hours after upload.
If they don't, or the F</src> description is inadequate, If they don't, or the F</src> description is inadequate,
ask Ask <ask@perl.org>. ask Ask <ask@perl.org>.
=item * =item *
Check L<http://www.cpan.org/src/> to ensure that the F</src> updates Check L<https://www.cpan.org/src/> to ensure that the F</src> updates
have been correctly mirrored to the website. have been correctly mirrored to the website.
If they haven't, ask Ask <ask@perl.org>. If they haven't, ask Ask <ask@perl.org>.
=item * =item *
Check L<http://search.cpan.org> to see if it has indexed the distribution. Check L<https://metacpan.org> to see if it has indexed the distribution.
It should be visible at a URL like C<http://search.cpan.org/dist/perl-5.10.1/>. It should be visible at a URL like C<https://metacpan.org/release/DAPM/perl-5.10
.1>.
=back =back
=head3 update release manager's guide =head3 update release manager's guide
Go over your notes from the release (you did take some, right?) and update Go over your notes from the release (you did take some, right?) and update
F<Porting/release_managers_guide.pod> with any fixes or information that F<Porting/release_managers_guide.pod> with any fixes or information that
will make life easier for the next release manager. will make life easier for the next release manager.
=for checklist end =for checklist end
 End of changes. 28 change blocks. 
37 lines changed or deleted 62 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)