dependency explosions

Julian Elischer julian at
Wed Oct 5 20:44:29 UTC 2016

On 5/10/2016 1:39 PM, Miroslav Lachman wrote:
> Julian Elischer wrote on 10/05/2016 22:04:
>> On 4/10/2016 11:38 PM, Mathieu Arnold wrote:
>>> Le 05/10/2016 à 05:18, Julian Elischer a écrit :
>>>> On 3/10/2016 5:14 AM, Mathieu Arnold wrote:
>>>>> Le 01/10/2016 à 04:35, Julian Elischer a écrit :
>>>>>> There is a need for a "minimum" install of a lot of packages.
>>>>> Some dependencies are often optional, and can be unchecked by 
>>>>> running
>>>>> make config.
>>>>>> Such a 'minimum' install should probably be the default when 
>>>>>> coming in
>>>>>> as a dependency, as
>>>>>> there is an increasing tendency to configure things with all 
>>>>>> the bells
>>>>>> and whistles.
>>>>> The bare minimum will never be the default.  The default is what 
>>>>> will
>>>>> fit most people, so that they can use our packages out of the box.
>>>> I didn't say it should be the default, I said it should be an 
>>>> easy to
>>>> request option,
>>>> (without using the config screen on each of 25000 ports)
>>>> e.g. setting PORTS_CONFIG_MINIMUM before making everything.
>>>> Most ports and packages are installed not because people want them,
>>>> but because they are forced to do so by dependencies.
>>>> Giving a way to reduce the number of unrequested packages, in a 
>>>> simple
>>>> way would be of great use to many many people
>>> Feel free to open PR/provide patches for ports which you think 
>>> need to
>>> provide more options.
>> I think it would be a framework change.
>> not  so much a per-port change.
>> By default, when the variable is set you take the list of options for
>> the package, and set them all to 'unset'.
>> The only packages that would need work would be those for which 
>> that is
>> not a valid configuration, in which case you would supply some 
>> precanned
>> list of options to set to unset (or similar)  e.g. 
>> MIN_SETTINGS="bla foo
>> bar"
> >
>> the point is that if I'm including a port becuase it's just a prereq.
>> then I probably want almost no options set..  The port itself can
>> probably know what options are likely to be needed by things that need
>> it adn can possibly supply a sensible setting but if it doesn't it 
>> might
>> be possible to just do it automatically. It's ridiculous that a single
>> small port can pull in python, perl and TCL (I forget which it was)
>> along with some 40 or so other packages.
> There is one more problem - port A needs port B as dependency, port 
> B can be compiled with 4 options [W,X,Y,Z], port A needs port B with 
> option X which pull port C as dependency.
> So this needs to be set somewhere or else default minimal options 
> would break some ports.
any non-minimum port would trump a minimum port I would think. (and 
replace it?)

it's just an idea. Born from frustration of not being able to do thigs 
because htey call in too many other things.
If you call in too many other things the chance of one of them 
breaking gets higher. (approaches unity in some cases I think).

> Miroslav Lachman

More information about the freebsd-ports mailing list