cvs commit: ports UPDATING ports/databases/postgresql-devel Makefile

Palle Girgensohn girgen at FreeBSD.org
Mon Jan 24 06:43:42 PST 2005



--On söndag, januari 23, 2005 11.22.50 +0100 Mathieu Arnold 
<mat at FreeBSD.org> wrote:

> +-le 23/01/2005 10:06 +0000, Sean Chittenden écrivait :
>| seanc       2005-01-23 10:06:21 UTC
>| Port epoch bumped   because 8.0.rc* is greater than 8.0.0.
>
> Note quite sure about that :
> $ pkg_version -t 8.0.rc5.2005.01.16 8.0.0
> <

Uh, 4.10 differs from 5.3 here:

FreeBSD 4.10$ pkg_version -t 8.0.0rc5 8.0.0
>
FreeBSD 4.10$ pkg_version -t 8.0rc5.2005.01.16 8.0.0
>

FreeBSD 5.3$ pkg_version -t 8.0.0rc5 8.0.0
<
FreeBSD 5.3$ pkg_version -t 8.0rc5.2005.01.16 8.0.0
<


portupgrade has it own algorithm. In conflict with pkg_version-5.3, it 
considers 8.0.0rc or even 8.0.0beta to be greater than 8.0.0. 
pkg_version-5.3 does the right thing, and to me it looks like the 
portupgrade's algorithm for versioning is overly simple (I've never used 
ruby though, perhaps it has some fancy operator overload stuff?):

  cmp = newpkg.version <=> oldpkg.version

  if cmp > 0
    service = :upgrade
  elsif cmp == 0
    service = :reinstall
  else
    service = :downgrade
  end


I haven't checked if this is fixed in 4.11, but since it is not even out, 
bumping port epoch is unfortunately necessary. :(

Palle


More information about the cvs-ports mailing list