Front page | perl.perl5.changes |
Postings from July 2009
[perl.git] branch blead, updated. GitLive-blead-1703-g9b05e87
From:
Nicholas Clark
Date:
July 28, 2009 13:23
Subject:
[perl.git] branch blead, updated. GitLive-blead-1703-g9b05e87
Message ID:
E1MVtD8-0004Hv-2n@camel.booking.com
In perl.git, the branch blead has been updated
<http://perl5.git.perl.org/perl.git/commitdiff/9b05e874888db731870edce844ef9f3194eafed4?hp=40c539099071b6200af235484f3b33ce7d837dd6>
- Log -----------------------------------------------------------------
commit 9b05e874888db731870edce844ef9f3194eafed4
Author: Jesse Vincent <jesse@bestpractical.com>
Date: Tue Jul 28 14:35:08 2009 -0400
makerel now tells you _which_ files differ from the MANIFEST and if possible gives you sha1 sums of the built distribution
M Porting/makerel
commit 46743ef75efb28381be7cd8b99f7312ccf91904a
Author: Jesse Vincent <jesse@bestpractical.com>
Date: Tue Jul 28 14:43:46 2009 -0400
A first stab at walking through the release-manager guide Primarily fixing bugs and clarifying prose.
M Porting/release_managers_guide.pod
-----------------------------------------------------------------------
Summary of changes:
Porting/makerel | 20 ++++++++++++--
Porting/release_managers_guide.pod | 49 ++++++++++++++++++++++++++---------
2 files changed, 53 insertions(+), 16 deletions(-)
diff --git a/Porting/makerel b/Porting/makerel
index 8c9e9c1..b23e1c7 100644
--- a/Porting/makerel
+++ b/Porting/makerel
@@ -64,8 +64,15 @@ print "Cross-checking the MANIFEST...\n";
($missfile, $missentry) = fullcheck();
@$missentry
= grep {$_ !~ m!^\.git/! and $_ !~ m!(?:/|^)\.gitignore!} @$missentry;
-warn "Can't make a release with MANIFEST files missing.\n" if @$missfile;
-warn "Can't make a release with files not listed in MANIFEST.\n" if @$missentry;
+if (@$missfile ) {
+ warn "Can't make a release with MANIFEST files missing:\n";
+ warn "\t".$_."\n" for (@$missfile);
+}
+if (@$missentry ) {
+ warn "Can't make a release with files not listed in MANIFEST\n";
+ warn "\t".$_."\n" for (@$missentry);
+
+}
if ("@$missentry" =~ m/\.orig\b/) {
# Handy listing of find command and .orig files from patching work.
# I tend to run 'xargs rm' and copy and paste the file list.
@@ -200,4 +207,11 @@ if ($opts{b}) {
}
print "\n";
-system("ls -ld $perl*");
+
+if (`which sha1`) {
+ system("sha1 $perl*.tar.*");
+} elsif (`which shasum`) {
+ system("shasum $perl*.tar.*");
+} else {
+ system("ls -ld $perl*");
+}
diff --git a/Porting/release_managers_guide.pod b/Porting/release_managers_guide.pod
index 3a91c9e..2896716 100644
--- a/Porting/release_managers_guide.pod
+++ b/Porting/release_managers_guide.pod
@@ -36,7 +36,7 @@ The outline of a typical release cycle is as follows:
including bumping the version to 5.10.2
...a few weeks passes...
-
+
perl-5.10.2-RC1 is released
perl-5.10.2 is released
@@ -65,21 +65,37 @@ state of VMS. If it's bad, think again.
=item *
+Configure and build perl so that you have a Makefile and porting tools:
+
+ $ ./Configure -Dusedevel -des
+ $ make
+
+=item *
+
Rebuild META.yml:
$ rm META.yml
$ make META.yml
-and commit it if it's changed.
+Commit META.yml if it has changed:
+
+ $ git commit -m 'Updating META.yml in preparation for release of 5.x.y' META.yml
=item *
Check that the manifest is sorted and correct:
+ $ make manisort
$ make distclean
- $ perl Porting/manisort
$ perl Porting/manicheck
+
+Commit MANIFEST if it has changed:
+
+ $ git commit -m 'Updating MANIFEST in preparation for release of 5.x.y' MANIFEST
+
+
+
=item *
If this is a release candidate or final release, add an entry to
@@ -94,12 +110,16 @@ append your name to C<THE KEEPERS OF THE PUMPKIN>.
Build perl, then make sure it passes its own test suite, and installs.
+ $ ./Configure -des -Dusedevel -Dprefix=/tmp/perl-5.x.y-pretest
+ $ make test install
+
=item *
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
$ perl Porting/makerel -b -s `git describe` # for a snapshot
@@ -121,12 +141,15 @@ have access to.
=item *
-Download the tarball to some other machine (for a release candidate, to
-two or more servers: IRC is good for this).
+Download the tarball to some other machine. For a release candidate,
+you really want to test your tarball on two or more different platforms
+and architectures. The #p5p IRC channel on irc.perl.org is a good place
+to find willing victims.
=item *
-Check that C<./Configure -des && make all test> works in one place.
+Check that C<./Configure -des && make all test> works on each test
+machine.
=item *
@@ -136,7 +159,9 @@ Check that C<./Configure ... && make all test_harness install> works.
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
-paths. Note that the results may be different without a F<.git/> directory,
+paths.
+
+Note that the results may be different without a F<.git/> directory,
which is why you should test from the tarball.
=item *
@@ -145,15 +170,13 @@ Bootstrap the CPAN client on the clean install.
=item *
-Install CPANPLUS.
-XXX pick something new; this is now bundled
+Install Inline.pm
-=begin suggestion
+ perl -MCPAN -e'install Inline'
-How about Inline. Install it, and then check that your perl can run this:
- perl -lwe 'use Inline C => "int answer() { return 42;} "; print answer'
+Check that your perl can run this:
-=end
+ perl -lwe 'use Inline C => "int answer() { return 42;} "; print answer'
=item *
--
Perl5 Master Repository
-
[perl.git] branch blead, updated. GitLive-blead-1703-g9b05e87
by Nicholas Clark