tech-pkg archive


Re: multiple version of packages with the same PKGBASE

> but different PKGPATH and versions.  Is it normal?

names, but from different branches of upstream.

We could have schemes to install multiple versions at once, but a) it's
a lot more work and b) the user doesn't perceive it normally, since
there naming changes (python) or path changes (guile).  See lang/guile16
and lang/guile for an example of the path change method.

> If yes how these packages should be upgraded?  Again, I'd prefer to
> know an algorithm, not a tool.

I suggest that you read the code of pkg_rolling-replace and pkg_chk
which struggle with many of the same issues.  In pkg_rolling-replace's
case, the algorithm is:


  make list of packages that are out of date or unsafe_depends
    [an installed package is out of date if the version that woudl be
    installed by PKGPATH differs from the installed version.]

  take this list, and tsort by dependency

  take first package on list (ending if emtpy)

    go to PKGPATH and do 'make replace package clean'

  goto start


Now, if gqview 2.2.0 is released, and graphics/gqview is updated to it,
and gqview-devel update to 2.3.1, then the check will show that gqview
is out of date.

This basically comes down to preserving the PKGPATH of installed
packages, and when that package is updated, that means that any pacakge
installed *from that PKGPATH* should be updated automatically.

This may be underdocumented, but I think it's pretty sane.

Attachment: pgpntXrk6uuiA.pgp
Description: PGP signature

Home | Main Index | Thread Index | Old Index