X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/3ecab1575ef1f45a5e7cd3c48cd937ffa8eb0ad9..0ea023550fcdeeff95c2bb25c0d34fb0d8ab9680:/release-process/scripts/mk_exim_release.pl diff --git a/release-process/scripts/mk_exim_release.pl b/release-process/scripts/mk_exim_release.pl index fe18da106..995720e2c 100755 --- a/release-process/scripts/mk_exim_release.pl +++ b/release-process/scripts/mk_exim_release.pl @@ -117,7 +117,7 @@ sub make_version_script { } my $srcdir = File::Spec->catdir( $context->{release_tree}, 'src', 'src' ); - chdir $srcdir or die "chdir $srcdir: $\n"; + chdir $srcdir or die "chdir $srcdir: $!\n"; if ( -f "version.sh" ) { print( "WARNING: version.sh already exists - leaving it in place\n" ); @@ -146,8 +146,12 @@ sub build_html_documentation { mkdir($dir); - my @cmd = - ( $genpath, '--spec', $spec, '--filter', $filter, '--latest', $context->{trelease}, '--tmpl', $templates, '--docroot', $dir ); + my @cmd = ( + $genpath, '--spec', $spec, '--filter', + $filter, '--latest', $context->{trelease}, '--tmpl', + $templates, '--docroot', $dir, '--localstatic' + ); + push @cmd, '--verbose' if $verbose or $debug; print "Executing ", join( ' ', @cmd ), "\n"; system(@cmd); @@ -188,7 +192,8 @@ sub build_documentation { my $context = shift; my $docdir = File::Spec->catdir( $context->{release_tree}, 'doc', 'doc-docbook' ); - system("cd '$docdir' && ./OS-Fixups && make everything") == 0 + # documentation building gets the truncated release, without RC + system("cd '$docdir' && ./OS-Fixups && $context->{make_cmd} EXIM_VER=$context->{trelease} everything") == 0 || croak "Doc build failed"; copy_docbook_files($context); @@ -218,7 +223,11 @@ sub move_text_docs_into_pkg { next if ( ( $fn eq 'ABOUT' ) || ( $fn eq 'ChangeLog.0' ) - || ( $fn eq 'test-harness.txt' ) ); + || ( $fn eq 'test-harness.txt' ) + # Debian issue re licensing of RFCs + || ( $fn =~ /^draft-ietf-.*/ ) + || ( $fn =~ /^rfc.*/ ) + ); move( $file, File::Spec->catfile( $new_docdir, $fn ) ); } } @@ -288,6 +297,7 @@ sub do_cleanup { my $context = shift; print "Cleaning up\n" if ($verbose); + chdir( $context->{directory} ) || die; rmtree( $context->{release_tree}, { verbose => $debug } ); rmtree( $context->{docbook}, { verbose => $debug } ); rmtree( $context->{pkgdirs}, { verbose => $debug } ); @@ -330,15 +340,15 @@ sub create_tar_files { foreach my $dir ( glob( File::Spec->catdir( $pkgdirs, ( 'exim*-' . $context->{release} ) ) ) ) { my $dirname = ( File::Spec->splitdir($dir) )[-1]; if ($context->{compressors}{gzip}) { - print "Creating: ${pkgs}/${dirname}.tar.gz\n" if ($verbose); + print "Creating: ${pkgs}/${dirname}.tar.gz\n" if ($verbose || $debug); system("$tar cf ${pkgs}/${dirname}.tar.gz --gzip -C ${pkgdirs} ${dirname}") } if ($context->{compressors}{bzip2}) { - print "Creating: ${pkgs}/${dirname}.tar.bz2\n" if ($verbose); + print "Creating: ${pkgs}/${dirname}.tar.bz2\n" if ($verbose || $debug); system("$tar cf ${pkgs}/${dirname}.tar.bz2 --bzip2 -C ${pkgdirs} ${dirname}") } if ($context->{compressors}{lzip}) { - print "Creating: ${pkgs}/${dirname}.tar.lz\n" if ($verbose); + print "Creating: ${pkgs}/${dirname}.tar.lz\n" if ($verbose || $debug); system("$tar cf ${pkgs}/${dirname}.tar.lz --lzip -C ${pkgdirs} ${dirname}") } } @@ -354,6 +364,7 @@ sub create_tar_files { tmp_dir => File::Temp->newdir(), webgen_base => "$FindBin::Bin/../../../exim-website", tar_cmd => 'tar', + make_cmd => 'make', compressors => { gzip => 1, bzip2 => 1, @@ -368,7 +379,8 @@ sub create_tar_files { GetOptions( 'directory=s' => \$context->{directory}, 'webgen_base=s' => \$context->{webgen_base}, - 'tar' => \$context->{tar_cmd}, + 'tar=s' => \$context->{tar_cmd}, + 'make=s' => \$context->{make_cmd}, 'lzip!' => \$context->{compressors}{lzip}, 'verbose!' => \$verbose, 'debug!' => \$debug, @@ -416,6 +428,7 @@ mk_exim_release.pl [options] version --help display this help and exits --man displays man page --tar=cmd command to use for tar + --make=cmd command to use for make --directory=dir dir to package --no-lzip do not create .tar.lz files --delete Delete packaging directory at start @@ -435,6 +448,11 @@ Use to override the path to the tar command; without this, will search for gtar, and if not found use tar. Need GNU tar for lzip, unless --no-lzip is used. +=item B<--make> + +Use to override the path/name of the make command. +Useful sometimes to force gmake. + =item B<--lzip> Build the lzip tarballs.