I<You MUST SKIP this step for SNAPSHOT>
-Update patchlevel.h to add a C<-RC1>-or-whatever string; or, if this is a
-final release, remove it. For example:
+Update F<patchlevel.h> to add a C<-RC1>-or-whatever string; or, if this is
+a final release, remove it. For example:
static const char * const local_patches[] = {
NULL
Build perl, then make sure it passes its own test suite, and installs:
$ git clean -xdf
+ $ ./Configure -des -Dprefix=/tmp/perl-5.x.y-pretest
+
+ # or if it's an odd-numbered version:
$ ./Configure -des -Dusedevel -Dprefix=/tmp/perl-5.x.y-pretest
+
$ make test install
=item *
=item *
+Clean up the temporary directory, e.g.
+
+ $ rm -rf ../perl-x.y.z-RC1
+
+=item *
+
Copy the tarballs (.gz and possibly .bz2) to a web server somewhere you
have access to.
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
=item *
=item *
-Install Inline.pm
+Try installing a popular CPAN module that's reasonably complex and that
+has dependencies; for example:
- $ ./bin/perl -MCPAN -e'install Inline'
+ CPAN> install Inline
+ CPAN> quit
Check that your perl can run this:
- $ ./bin/perl -lwe 'use Inline C => "int answer() { return 42;} "; print answer'
+ $ ./bin/perl -lwe 'use Inline C => "int f() { return 42;} "; print f'
+ 42
+ $
=item *
$ ./bin/cpanp
-
=item *
-Install an XS module.
-
-=item *
+Install an XS module, for example:
-If all is well, announce the snapshot to p5p. (For a release candidate,
-instead follow the further steps described later.)
+ CPAN Terminal> i DBI
+ CPAN Terminal> quit
+ $ bin/perl -MDBI -e 1
=item *
If anything goes wrong after this point, you will need to re-prepare
a new release with a new minor version or RC number.
-You may wish to create a .bz2 version of the tarball and upload that too.
+Upload both the .gz and .bz2 versions of the tarball.
=item *
I<You MUST SKIP this step for SNAPSHOT>
-Disarm the patchlevel.h change; for example,
+Disarm the F<patchlevel.h> change; for example,
static const char * const local_patches[] = {
NULL