From owner-freebsd-ports@freebsd.org Wed Oct 5 20:40:09 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8880DAF621C for ; Wed, 5 Oct 2016 20:40:09 +0000 (UTC) (envelope-from 000.fbsd@quip.cz) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 724EF17A for ; Wed, 5 Oct 2016 20:40:09 +0000 (UTC) (envelope-from 000.fbsd@quip.cz) Received: by mailman.ysv.freebsd.org (Postfix) id 71952AF621B; Wed, 5 Oct 2016 20:40:09 +0000 (UTC) Delivered-To: ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 712F5AF621A for ; Wed, 5 Oct 2016 20:40:09 +0000 (UTC) (envelope-from 000.fbsd@quip.cz) Received: from elsa.codelab.cz (elsa.codelab.cz [94.124.105.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 333B1179; Wed, 5 Oct 2016 20:40:08 +0000 (UTC) (envelope-from 000.fbsd@quip.cz) Received: from elsa.codelab.cz (localhost [127.0.0.1]) by elsa.codelab.cz (Postfix) with ESMTP id 01243284B6; Wed, 5 Oct 2016 22:39:59 +0200 (CEST) Received: from illbsd.quip.test (ip-86-49-16-209.net.upcbroadband.cz [86.49.16.209]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by elsa.codelab.cz (Postfix) with ESMTPSA id A095B28484; Wed, 5 Oct 2016 22:39:57 +0200 (CEST) Subject: Re: dependency explosions To: Julian Elischer , Mathieu Arnold , "ports@FreeBSD.org" References: <2df71272-7b98-ad73-650a-3ec70beb71d5@freebsd.org> <3b3f3e28-d759-d654-24c0-97fa5683837d@freebsd.org> <88debba1-df87-7ab6-447b-4a63b5e9c44b@freebsd.org> From: Miroslav Lachman <000.fbsd@quip.cz> Message-ID: <57F5651D.8060406@quip.cz> Date: Wed, 5 Oct 2016 22:39:57 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:42.0) Gecko/20100101 Firefox/42.0 SeaMonkey/2.39 MIME-Version: 1.0 In-Reply-To: <88debba1-df87-7ab6-447b-4a63b5e9c44b@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Oct 2016 20:40:09 -0000 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