[arch-general] Pacman behaviour comparing numerical versions for package upgrades

Allan McRae allan at archlinux.org
Fri Jun 29 01:58:04 EDT 2012


On 29/06/12 15:50, Myra Nelson wrote:
> I have a question about pacman's behaviour regarding packges to be updated.
> 
> According to < $: man pacman >
> 
> You can also use pacman -Su to upgrade all packages that are out of
> date. See Sync Options below. When upgrading, pacman performs version
> comparison to determine which packages need upgrading.
> 
>     Alphanumeric: 1.0a < 1.0b < 1.0beta < 1.0p < 1.0pre < 1.0rc < 1.0
> < 1.0.a < 1.0.1
>     Numeric: 1 < 1.0 < 1.1 < 1.1.1 < 1.2 < 2.0 < 3.0.0
> 
> That's very clear and makes sense. Here's where I'm confused. I build
> some of my perl pacakges with cpanpkgbuild -f XXX::XXX::YYY. The
> package from the official repos is:
>     perl-datetime-format-strptime-1.5000-1-any.pkg.tar.xz
> 
> the package I built is:
>     perl-datetime-format-strptime-1.51-1-any.pkg.tar.xz
> 
> I'm used to the warning package ??? local is newer than extra ???. But
> with the above referenced package I had to list it in the [ IgnorePkg
> ] line to keep pacman from trying to upgrade the package and still get
> this warning.
> 
>     "Ignoring upgrade from perl-datetime-format-strptime from 1.51-1
> to 1.5000-1"
> 
> No complaints as it's easy to fix, I was just wondering about the
> reasoning. I'll jump out on a limb here and assume it's because the
> repo package has 4 digits then the package version after the decimal
> point and my package has two digits then the package version after the
> decimal point. The developer changed his numbering scheme after 1.5000
> to 1.51.
> 
> Is this the correct behaviour for pacman?
> 


5000 > 51





More information about the arch-general mailing list