Hi there,
I'm looking through the pkgtools code to determine how the version comparison
logic works, and I came across this block of code at
/usr/libdata/perl5/OpenBSD/PackageName.pm:385:
sub from_string
{
my ($class, $string) = @_;
my $o = bless { deweys => [ split(/\./o, $string) ],
suffix => '', suffix_value => 0}, $class;
if ($o->{deweys}->[-1] =~ m/^(\d+)(rc|alpha|beta|pre|pl)(\d*)$/) {
$o->{deweys}->[-1] = $1;
$o->{suffix} = $2;
$o->{suffix_value} = $3;
}
return $o;
}
>From what I understand, this is looking for one of OpenBSD "special" suffixes
>for a given version part of a package version. This code seems to only match
>cases where the "special" portion (rc, alpha, beta etc) of the version sits
>between a required decimal on the left and an optional decimal on the right.
>Looking through the current package listing, I found this one:
clementine-1.4.0rc1p0.tgz
Given the above regex, the rc1 portion of the package name will not be pulled
into the suffix, and I believe that (given a comparison where the 1.4.0 portion
of the version doesn't change) a future version comparison with this package
version will potentially be done alphabetically?
Is this intentional? Or perhaps I'm missing something here or elsewhere with
this code.
Thank you,
Jeremy