mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-22 10:58:58 +00:00
CI mode for make_dist
This commit is contained in:
parent
ad0fd53fc4
commit
f162a229f6
101
make_dist
101
make_dist
@ -17,6 +17,7 @@ my $whoami = basename($0);
|
|||||||
|
|
||||||
my $run_tests = 1;
|
my $run_tests = 1;
|
||||||
my $keep_tmp = 0;
|
my $keep_tmp = 0;
|
||||||
|
my $ci_mode = 0;
|
||||||
my $version = undef;
|
my $version = undef;
|
||||||
foreach my $arg (@ARGV)
|
foreach my $arg (@ARGV)
|
||||||
{
|
{
|
||||||
@ -28,6 +29,10 @@ foreach my $arg (@ARGV)
|
|||||||
{
|
{
|
||||||
$keep_tmp = 1;
|
$keep_tmp = 1;
|
||||||
}
|
}
|
||||||
|
elsif ($arg eq '--ci')
|
||||||
|
{
|
||||||
|
$ci_mode = 1;
|
||||||
|
}
|
||||||
elsif (! defined $version)
|
elsif (! defined $version)
|
||||||
{
|
{
|
||||||
$version = $arg;
|
$version = $arg;
|
||||||
@ -38,6 +43,11 @@ foreach my $arg (@ARGV)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($ci_mode && (! defined $version))
|
||||||
|
{
|
||||||
|
$version = get_version_from_configure();
|
||||||
|
}
|
||||||
|
|
||||||
usage() unless defined $version;
|
usage() unless defined $version;
|
||||||
usage() unless $version =~ m/^(\d+\.\d+(?:\.(a|b|rc)?\d+)?)$/;
|
usage() unless $version =~ m/^(\d+\.\d+(?:\.(a|b|rc)?\d+)?)$/;
|
||||||
my $distname = "qpdf-$version";
|
my $distname = "qpdf-$version";
|
||||||
@ -50,41 +60,9 @@ run("git archive --prefix=qpdf-$version/ HEAD . | (cd /tmp; tar xf -)");
|
|||||||
cd($tmpdir);
|
cd($tmpdir);
|
||||||
|
|
||||||
# Check versions
|
# Check versions
|
||||||
my $fh = safe_open("configure.ac");
|
my $config_version = get_version_from_configure();
|
||||||
my $config_version = 'unknown';
|
my $code_version = get_version_from_source();
|
||||||
while (<$fh>)
|
my $doc_version = get_version_from_manual();
|
||||||
{
|
|
||||||
if (m/^AC_INIT\(\[qpdf\],\[([^\)]+)\]\)/)
|
|
||||||
{
|
|
||||||
$config_version = $1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$fh->close();
|
|
||||||
|
|
||||||
$fh = safe_open("libqpdf/QPDF.cc");
|
|
||||||
my $code_version = 'unknown';
|
|
||||||
while (<$fh>)
|
|
||||||
{
|
|
||||||
if (m/QPDF::qpdf_version = \"([^\"]+)\"/)
|
|
||||||
{
|
|
||||||
$code_version = $1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$fh->close();
|
|
||||||
|
|
||||||
$fh = safe_open("manual/qpdf-manual.xml");
|
|
||||||
my $doc_version = 'unknown';
|
|
||||||
while (<$fh>)
|
|
||||||
{
|
|
||||||
if (m/swversion "([^\"]+)\"/)
|
|
||||||
{
|
|
||||||
$doc_version = $1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$fh->close();
|
|
||||||
|
|
||||||
my $version_error = 0;
|
my $version_error = 0;
|
||||||
if ($version ne $config_version)
|
if ($version ne $config_version)
|
||||||
@ -120,7 +98,8 @@ if ($run_tests)
|
|||||||
run("make check");
|
run("make check");
|
||||||
cd("/tmp");
|
cd("/tmp");
|
||||||
}
|
}
|
||||||
rename "$distname.tar.gz-candidate", "$distname.tar.gz" or die;
|
my $distfile = ($ci_mode ? "$distname-ci.tar.gz" : "$distname.tar.gz");
|
||||||
|
rename "$distname.tar.gz-candidate", $distfile or die;
|
||||||
|
|
||||||
if (! $keep_tmp)
|
if (! $keep_tmp)
|
||||||
{
|
{
|
||||||
@ -128,12 +107,60 @@ if (! $keep_tmp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
print "
|
print "
|
||||||
Source distribution created as $tmpdir.tar.gz
|
Source distribution created as /tmp/$distfile
|
||||||
If this is a release, don't forget to tag the version control system and
|
If this is a release, don't forget to tag the version control system and
|
||||||
make a backup of the release tar file.
|
make a backup of the release tar file.
|
||||||
|
|
||||||
";
|
";
|
||||||
|
|
||||||
|
sub get_version_from_configure
|
||||||
|
{
|
||||||
|
my $fh = safe_open("configure.ac");
|
||||||
|
my $config_version = 'unknown';
|
||||||
|
while (<$fh>)
|
||||||
|
{
|
||||||
|
if (m/^AC_INIT\(\[qpdf\],\[([^\)]+)\]\)/)
|
||||||
|
{
|
||||||
|
$config_version = $1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$fh->close();
|
||||||
|
$config_version;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub get_version_from_source
|
||||||
|
{
|
||||||
|
my $fh = safe_open("libqpdf/QPDF.cc");
|
||||||
|
my $code_version = 'unknown';
|
||||||
|
while (<$fh>)
|
||||||
|
{
|
||||||
|
if (m/QPDF::qpdf_version = \"([^\"]+)\"/)
|
||||||
|
{
|
||||||
|
$code_version = $1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$fh->close();
|
||||||
|
$code_version;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub get_version_from_manual
|
||||||
|
{
|
||||||
|
my $fh = safe_open("manual/qpdf-manual.xml");
|
||||||
|
my $doc_version = 'unknown';
|
||||||
|
while (<$fh>)
|
||||||
|
{
|
||||||
|
if (m/swversion "([^\"]+)\"/)
|
||||||
|
{
|
||||||
|
$doc_version = $1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$fh->close();
|
||||||
|
$doc_version;
|
||||||
|
}
|
||||||
|
|
||||||
sub safe_open
|
sub safe_open
|
||||||
{
|
{
|
||||||
my $file = shift;
|
my $file = shift;
|
||||||
|
Loading…
Reference in New Issue
Block a user