Date: Mon, 19 Sep 2011 10:00:06 -0400 From: "b. f." <bf1783@googlemail.com> To: freebsd-ports@FreeBSD.org, Thomas Mueller <mueller6727@bellsouth.net> Subject: Re: Substitute dependencies? Message-ID: <CAGFTUwOrFZBj8RSsDN21Vn4KboPVoOXi=A1o76%2BPuywTdUbJww@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
>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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGFTUwOrFZBj8RSsDN21Vn4KboPVoOXi=A1o76%2BPuywTdUbJww>