version dependencies in MacPorts?

Rainer Müller raimue at macports.org
Sun Sep 13 13:41:38 PDT 2009


On 2009-09-13 21:30 , Jack Howarth wrote:
>    It certainly would be nice to have some sort of basic
> version/revision tracker for at least the buiild process of
> MacPort.

Of course I do not disagree that dependencies with versions would be
useful. :-)

My proposal would be to add the version to existing dependencies, like
port:foo@>=1.0 with possible operators being <, >, <=, >= and =. If no
version is specified, the current rules apply that the latest version is
necessary.

But before we could do something like this, we would also need a better
syntax to handle multiple choices (like for *-devel ports) as this would
not be possible with path: or bin: dependencies.

> In fink, the incrementation of package names (foobar,
> foobar2,foobar3) is reserved for the case where the ABI and
> major soversion number changes (such as openmotif3 for 2.2.4
> and openmotif4 for 2.3.2). Implementing such version tracking
> in the packaging building side would probably easier to
> than at the installation side (when only binary packages are
> present) but still provide the framework for adding that at
> a later date.

I see the problem in keeping these dependencies updated, as it is hard
already to maintain basic dependencies with just port names. Finding out
which versions are supported can be hard for some ports if it is not
noted down in INSTALL or README.

We do not have a written down strict policy for port names, but in my
opinion foobar should always be the latest available version. Ports like
foobarX should only be created if another dependent port cannot work
with the new version due to major API changes.

Rainer


More information about the macports-dev mailing list