From owner-freebsd-ports@FreeBSD.ORG Mon Sep 19 14:06:07 2011 Return-Path: Delivered-To: freebsd-ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24B681065686 for ; Mon, 19 Sep 2011 14:06:07 +0000 (UTC) (envelope-from bf1783@googlemail.com) Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id AF94A8FC1F for ; Mon, 19 Sep 2011 14:06:06 +0000 (UTC) Received: by wwe3 with SMTP id 3so7478490wwe.31 for ; Mon, 19 Sep 2011 07:06:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=mime-version:reply-to:date:message-id:subject:from:to:content-type; bh=qq9xHr3JpJSFkEBI5yyfSPxuk+FGfWaJPG2Ai40H6UI=; b=ZHUIy50CRthKnSM4bfumfooAXgcyxZKDCGdwQIQ5uAj5PoiXoUEZTo6aHgBn9NnAI/ vgbQMwax5YEypPYVZKsdu6fFXxcGcM/YwPD8v3TuJxKngAzWjDB5xgScxQ8M8pWLCqO9 wvPHx6S4HlZX2iub3dhmu52Yfj5U9kI4lm/m8= MIME-Version: 1.0 Received: by 10.227.12.15 with SMTP id v15mr2784539wbv.77.1316440806913; Mon, 19 Sep 2011 07:00:06 -0700 (PDT) Received: by 10.180.100.1 with HTTP; Mon, 19 Sep 2011 07:00:06 -0700 (PDT) Date: Mon, 19 Sep 2011 10:00:06 -0400 Message-ID: From: "b. f." To: freebsd-ports@FreeBSD.org, Thomas Mueller Content-Type: text/plain; charset=ISO-8859-1 Cc: Subject: Re: Substitute dependencies? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: bf1783@gmail.com List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Sep 2011 14:06:07 -0000 >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.