Substitute dependencies?

b. f. bf1783 at googlemail.com
Mon Sep 19 14:06:07 UTC 2011


>I s there any way to substitute dependencies, in cases where the substitute would work as well or better?

As some of the others wrote, it depends on the ports involved.  Some
ports that are supposed to provide the same functionality have subtle
differences that can cause problems.

>
> First case I think of is the misc/freebsd-doc-* ports which want links1, which would be redundant if I already have lynx installed, or lynx and seamonkey too.
>
> I don't really like links1, prefer links with graphic capability though links with graphics is still a lame horse compared to Firefox or Seamonkey.

It's not a fair comparison -- they were designed to meet different
needs.  www/links is supposed to be a lightweight browser with basic
functionality than can be used even without X, while the others are
full-featured browsers.

In this case, you can probably get away with substituting www/links
for www/links1, because they have similar output, they can both be
invoked with "-dump", and it is unlikely that the dependent port
checks version information for them.  To try and see if this works,
remove www/links1 and install www/links.  When the docproj ports test
for the existence of "links", they will find www/links and assume that
www/links1 is already installed. The dependency accounting in your
package database may be wrong, but that's usually not important, and
third-party updating tools like portmaster or portupgrade can adjust
this, or compensate for it.  (Why are you building the doc ports if
you are only interested in reading them, anyway?  Why not just use the
default packages for these, and avoid installing a lot of software?)

To substitute binary executables or static archives with different
names, you can use symlinks. Symlinks or libmap.conf(5) can be used to
substitute shared libraries.

The entity that must be substituted is the first part of the *_DEPENDS triplet.

b.


More information about the freebsd-ports mailing list