dependency explosions

Miroslav Lachman 000.fbsd at
Wed Oct 5 20:40:09 UTC 2016

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.

Miroslav Lachman

More information about the freebsd-ports mailing list