Change introduced for new kernel versioning broke version compare of
beta RPMs (like 3.0-0.beta2.4mdk - 3.0-1mdk). It considered versions the
same so rsync downloaded the whole new RPM and removed old one.
This seems to fix it (just replace the function with this one; sorry for
linebreaks):
sub rpm_version_compare {
my ($version1, $version2) = @_;
my ($tag1, $tag2);
$version1 =~ /^(\d+\.\d+\.\d+)\.(\d+)mdk$/ and $version1 = $1;
$tag1 = $2;
$version1 =~ /^([^-]+)-([^-]+)$/ and $version1 = $1; $tag1 = $2;
$version2 =~ /^(\d+\.\d+\.\d+)\.(\d+)mdk$/ and $version2 = $1;
$tag2 = $2;
$version2 =~ /^([^-]+)-([^-]+)$/ and $version2 = $1; $tag2 = $2;
if ($debug_level >= 3) { print "Compare version1 = '$version1',
version2 = '$version2' tag1 = '$tag1' tag2 = '$tag2'\n"; }
my $result = version_compare($version1, $version2);
if ($result == 0) { $result = version_compare($tag1, $tag2); }
return $result;
}
-andrej