curl-config --version didn't output the correct version string (bug
introduced in commit 0355e33b5f), and unfortunately the test
case 1022 that was supposed to check for this was broken.
This change fixes the test to detect this problem and it fixes the
output.
Bug: http://curl.haxx.se/bug/view.cgi?id=3288727
55 lines
1.3 KiB
Perl
Executable File
55 lines
1.3 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
# Determine if curl-config --version matches the curl --version
|
|
if ( $#ARGV != 2 )
|
|
{
|
|
print "Usage: $0 curl-config-script curl-version-output-file version|vernum\n";
|
|
exit 3;
|
|
}
|
|
|
|
my $what=$ARGV[2];
|
|
|
|
# Read the output of curl --version
|
|
open(CURL, "$ARGV[1]") || die "Can't open curl --version list in $ARGV[1]\n";
|
|
$_ = <CURL>;
|
|
chomp;
|
|
/libcurl\/([\.\d]+(-DEV)?)/;
|
|
my $version = $1;
|
|
close CURL;
|
|
|
|
my $curlconfigversion;
|
|
|
|
# Read the output of curl-config --version/--vernum
|
|
open(CURLCONFIG, "sh $ARGV[0] --$what|") || die "Can't get curl-config --$what list\n";
|
|
$_ = <CURLCONFIG>;
|
|
chomp;
|
|
my $filever=$_;
|
|
if ( $what eq "version" ) {
|
|
if($filever =~ /^libcurl ([\.\d]+(-DEV)?)$/) {
|
|
$curlconfigversion = $1;
|
|
}
|
|
else {
|
|
$curlconfigversion = "illegal value";
|
|
}
|
|
}
|
|
else {
|
|
# Convert hex version to decimal for comparison's sake
|
|
if($filever =~ /^(..)(..)(..)$/) {
|
|
$curlconfigversion = hex($1) . "." . hex($2) . "." . hex($3);
|
|
}
|
|
else {
|
|
$curlconfigversion = "illegal value";
|
|
}
|
|
|
|
# Strip off the -DEV from the curl version if it's there
|
|
$version =~ s/-DEV$//;
|
|
}
|
|
close CURLCONFIG;
|
|
|
|
my $different = $version ne $curlconfigversion;
|
|
if ($different || !$version) {
|
|
print "Mismatch in --version:\n";
|
|
print "curl: $version\n";
|
|
print "curl-config: $curlconfigversion\n";
|
|
exit 1;
|
|
}
|