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

Reply via email to