diff options
author | David Mitchell <davem@iabyn.com> | 2009-07-25 11:54:16 +0100 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2009-07-25 11:54:16 +0100 |
commit | 85bdf03b25729816eedfea55a7f2c32c4bb80fba (patch) | |
tree | 45a6b90722b8463b87db2d9b8a55e9734998aac3 | |
parent | 7840a289bfa1b7a230055bb32f02d6873672b75b (diff) | |
download | perl-85bdf03b25729816eedfea55a7f2c32c4bb80fba.tar.gz |
add -b option to makerel to make a .bz2 file
-rw-r--r-- | Porting/makerel | 19 | ||||
-rw-r--r-- | Porting/release_managers_guide.pod | 17 |
2 files changed, 22 insertions, 14 deletions
diff --git a/Porting/makerel b/Porting/makerel index b126164337..8c9e9c1a56 100644 --- a/Porting/makerel +++ b/Porting/makerel @@ -16,16 +16,17 @@ use Getopt::Std; $|=1; sub usage { die <<EOF; } -usage: $0 [ -r rootdir ] [-s suffix ] +usage: $0 [ -r rootdir ] [-s suffix ] [ -b ] -r rootdir directory under which to create the build dir and tarball defaults to '..' -s suffix suffix to append to to the perl-x.y.z dir and tarball name defaults to the concatenaion of the local_patches entry in patchlevel.h (or blank, if none) + -b make a .bz2 file in addtion to a .gz file EOF my %opts; -getopts('r:s:', \%opts) or usage; +getopts('br:s:', \%opts) or usage; @ARGV && usage; $relroot = defined $opts{r} ? $opts{r} : ".."; @@ -186,11 +187,17 @@ print "\n"; chdir ".." or die $!; -print "Creating and compressing the tar file...\n"; my $src = (-e $perl) ? $perl : 'perl'; # 'perl' in maint branch + +print "Creating and compressing the tar.gz file...\n"; $cmd = "tar cf - $reldir | gzip --best > $reldir.tar.gz"; -system($cmd) == 0 - or die "$cmd failed"; -print "\n"; +system($cmd) == 0 or die "$cmd failed"; +if ($opts{b}) { + print "Creating and compressing the tar.bz2 file...\n"; + $cmd = "tar cf - $reldir | bzip2 > $reldir.tar.bz2"; + system($cmd) == 0 or die "$cmd failed"; +} + +print "\n"; system("ls -ld $perl*"); diff --git a/Porting/release_managers_guide.pod b/Porting/release_managers_guide.pod index daf62e09ae..1c11a87cda 100644 --- a/Porting/release_managers_guide.pod +++ b/Porting/release_managers_guide.pod @@ -102,26 +102,27 @@ the tarball and directory name: $ cd root/of/perl/tree $ git clean -xdf # make sure perl and git agree on files - $ perl Porting/makerel -s `git describe` # for a snapshot - $ perl Porting/makerel -s RC1 # for a release candidate - $ perl Porting/makerel # for a final release + $ perl Porting/makerel -b -s `git describe` # for a snapshot + $ perl Porting/makerel -b -s RC1 # for a release candidate + $ perl Porting/makerel -b # for a final release This creates the directory F<../perl-x.y.z-RC1> or similar, copies all the MANIFEST files into it, sets the correct permissions on them, adds DOS line endings to some, then tars it up as -F<../perl-x.y.z-RC1.tar.gz>. +F<../perl-x.y.z-RC1.tar.gz>. With C<-b>, it also creates a C<tar.bz2> file. XXX if we go for extra tags and branches stuff, then add the extra details here =item * -Copy the tarball to a web server somewhere you have access to. +Copy the tarballs (.gz and possibly .bz2) to a web server somewhere you +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, to +two or more servers: IRC is good for this). =item * @@ -157,7 +158,7 @@ Install an XS module. =item * -If all is well, announce the snaphot to p5p. (For a release candidate, +If all is well, announce the snapshot to p5p. (For a release candidate, instead follow the further steps described later.) =back |