The right way to depend on a package's extra feature

Brandon S. Allbery KF8NH allbery at ece.cmu.edu
Fri Aug 5 12:34:04 GMT 2005


On Fri, 2005-08-05 at 09:37 +0200, Stijn Hoop wrote:
> On Fri, Aug 05, 2005 at 03:35:01AM -0400, Adam Weinberger wrote:
> > Stijn Hoop wrote:
> > >I.e. I have both devel/svk and devel/subversion installed. Now, I need
> > >devel/subversion because other software depends on it, so I build it
> > >with perl bindings by myself. However, devel/svk insists on depending
> > >on devel/subversion-perl because it wants the perl bindings -> not
> > >good...
> > 
> > But if devel/subversion-perl only contains the perl-enabled stuff that 
> > devel/subversion doesn't, then devel/svk can just depend on 
> > devel/subversion-perl, which can in turn depend on devel/subversion.
> 
> Yeah, and right after I wrote this e-mail I realized that there's
> something fishy about this, because dependencies are not checked using
> port names but using files in the FS; so devel/svk should realize
> devel/subversion was built with perl bindings even if I did that by
> myself.

Actually, I have triggered this one:  x11/kde3 depends on devel/svn (via
kdesdk3) and then I went to install devel/svk, not realizing that
devel/subversion had already been installed without the Perl bindings.
**boom**

The fix was to force-rebuild devel/svn with the Perl bindings.

Another situation I've tripped over (again triggered by kde3) was that
if one chooses to build the postgresql client libraries with krb5
support then kde3 doesn't know how to link against them.  Arguably this
is a bug either in postgresql (not providing a foo-config script that
lets programs determine the link libs needed) or whatever part of KDE is
linking against it (not checking the link libs) --- but it makes for
unexpected link failures.

On the other hand, I'm not sure ports should be in the business of
dealing with the latter situation.

-- 
brandon s. allbery   [linux,solaris,freebsd,perl]      allbery at kf8nh.com
system administrator      [WAY too many hats]        allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon univ.         KF8NH



More information about the freebsd-ports mailing list