From owner-freebsd-ports@freebsd.org Wed Oct 5 20:05:02 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 D812CAF75A2 for ; Wed, 5 Oct 2016 20:05:02 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id C3560C38 for ; Wed, 5 Oct 2016 20:05:02 +0000 (UTC) (envelope-from julian@freebsd.org) Received: by mailman.ysv.freebsd.org (Postfix) id BFC31AF75A1; Wed, 5 Oct 2016 20:05:02 +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 BF6E7AF75A0 for ; Wed, 5 Oct 2016 20:05:02 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 84849C36; Wed, 5 Oct 2016 20:05:02 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from julian-mbp3.pixel8networks.com (50-196-156-133-static.hfc.comcastbusiness.net [50.196.156.133]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id u95K50hn050891 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 5 Oct 2016 13:05:01 -0700 (PDT) (envelope-from julian@freebsd.org) Subject: Re: dependency explosions To: Mathieu Arnold , "ports@FreeBSD.org" References: <2df71272-7b98-ad73-650a-3ec70beb71d5@freebsd.org> <3b3f3e28-d759-d654-24c0-97fa5683837d@freebsd.org> From: Julian Elischer Message-ID: <88debba1-df87-7ab6-447b-4a63b5e9c44b@freebsd.org> Date: Wed, 5 Oct 2016 13:04:55 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: 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:05:02 -0000 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. Another thing that might be good woudl be a way to tell ports "remove all the ports that were just build dependencies". >