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