$|=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} : "..";
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*");
$ 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 *
=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