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

Reply via email to