Disabling dependency on esound in ports builds

Ade Lovett ade at FreeBSD.org
Fri May 20 07:06:12 GMT 2005


On May 19, 2005, at 11:39 , Kris Kennaway wrote:

> On Wed, May 18, 2005 at 11:49:33PM -0500, Conrad J. Sabatier wrote:
>
>> Is there any standardized technique (using portupgrade's
>> /usr/local/etc/pkgtools.conf) for disabling the inclusion of  
>> esound for
>> ports which depend on it?  I find esound to be a troublesome package
>> which often results in the slowing down or chopping up of audio  
>> playback
>> when the system is under moderate to heavy load.
>>
>
> WITHOUT_ESOUND=yes

In this particular case, that knob does indeed work most of the time.

Explaining to software authors in general to not provide configure  
(or other) scripts that bring in extra functionality based on  
previously installed software, without providing for a specific flag  
that should be turned on (thus allowing a proper dependency to be  
registered by *any* package management system)..  well, that's left  
as an exercise to the interested reader.

This is one of the reasons that I would consider code along the lines  
of:

     .if exists(somelibrary) || defined(WITH_something)
     foo_DEPENDS+= ...
     .endif

to be fundamentally flawed and in violation of POLA, where, if port A  
has such an (exists) dependency on port B, the following sequence:

     install A
     install B
     portupgrade A

results in the second (A) being subtly different from the first, in  
that it is using extra functionality from B, without explicitly  
asking the user whether that's OK.  The fact that the dependencies  
are actually correctly registered is something of a mitigating  
factor, but is certainly not an excuse for such "dependency-creep".

-aDe



More information about the freebsd-ports mailing list