RFC: Re-work pkgdep/DEPORIGIN?

Oliver Eikemeier eikemeier at fillmore-labs.com
Mon Jun 7 18:00:23 GMT 2004

Chuck Swiger wrote:

> Ulrich Spoerlein wrote:
> [ ... ]
>>> The real fix IMHO is to use a strategy similar to what Debian Linux
>>> uses: instead of depending on specific ports, depend on capabilities. 
>>> So for example, www/horde2 would depend on webphp, and lang/php4 and
>>> www/mod_php4 would each provide webphp.  (I don't know the postgres port
>>> family as well, so I can't readily give an example using it.)
>> I don't know the specific debian facilities, but isn't this overkill?
> Perhaps so, as it it seems other people agree with your opinion.
> To my mind, supporting "capability-based dependencies" would be a win, 
> as would supporting what I think of as "loose dependencies" (ie, I 
> depend on libiconv, but I don't care whether the system has shlib .2, 
> .3, or whatever, just _a_ version), rather than having ports always 
> hardcode themselves to looking for a specific version ("strict 
> dependencies").
> The advantage of loose dependency support would be to reduce the need 
> for propogating a ripple of changes to LIB_DEPENDS for possibly hundreds 
> of dependent ports when some basic library like readline or libiconv is 
> updated.

The point of doing this is to make sure that new packages are build. You can
already depend on just *some* version, but then an upgrade of the shared lib
will kill all dependend ports (portupgrade keeps old libraries, I know).

There has to be some way to record the used library in the dependent package,
wich brings us back to `capabilities'. This can be done, but we have to do a
proper specification for that.


More information about the freebsd-ports mailing list