From owner-freebsd-ports@FreeBSD.ORG Fri Jun 7 16:56:52 2013 Return-Path: Delivered-To: ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AB6CED96 for ; Fri, 7 Jun 2013 16:56:52 +0000 (UTC) (envelope-from freebsd@grem.de) Received: from mail.grem.de (outcast.grem.de [213.239.217.27]) by mx1.freebsd.org (Postfix) with SMTP id D09CA1A69 for ; Fri, 7 Jun 2013 16:56:51 +0000 (UTC) Received: (qmail 74475 invoked by uid 89); 7 Jun 2013 16:56:43 -0000 Received: from unknown (HELO bsd64.grem.de) (mg@grem.de@93.215.160.84) by mail.grem.de with ESMTPA; 7 Jun 2013 16:56:43 -0000 Date: Fri, 7 Jun 2013 18:56:45 +0200 From: Michael Gmelin To: Baptiste Daroussin Subject: Re: [HEADSUP] dialog4ports does not popup anymore only for global options Message-ID: <20130607185645.52d3a1ae@bsd64.grem.de> In-Reply-To: <20130607134244.GL35160@ithaqua.etoilebsd.net> References: <20130607081210.GD35160@ithaqua.etoilebsd.net> <51B1A5D8.8070906@gmail.com> <20130607094227.GE35160@ithaqua.etoilebsd.net> <51B1B2D5.8020901@gmail.com> <20130607101758.GF35160@ithaqua.etoilebsd.net> <51B1B9F0.2030206@coosemans.org> <20130607113959.GI35160@ithaqua.etoilebsd.net> <51B1E067.8070204@coosemans.org> <20130607134244.GL35160@ithaqua.etoilebsd.net> X-Mailer: Claws Mail 3.9.1 (GTK+ 2.24.18; amd64-portbld-freebsd9.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: ports@FreeBSD.org, Tijl Coosemans , Vitaly Magerya X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Jun 2013 16:56:52 -0000 On Fri, 7 Jun 2013 15:42:44 +0200 Baptiste Daroussin wrote: > On Fri, Jun 07, 2013 at 03:30:15PM +0200, Tijl Coosemans wrote: > > On 2013-06-07 13:40, Baptiste Daroussin wrote: > > > On Fri, Jun 07, 2013 at 12:46:08PM +0200, Tijl Coosemans wrote: > > >> On 2013-06-07 12:17, Baptiste Daroussin wrote: > > >>> On Fri, Jun 07, 2013 at 01:15:49PM +0300, Vitaly Magerya wrote: > > >>>> Baptiste Daroussin wrote: > > >>>>>> Is it possible to still show the dialog if one of those > > >>>>>> options implies additional dependencies? > > >>>>>> > > >>>>>> If not, what should those of us who do not want them > > >>>>>> installed do? > > >>>>> > > >>>>> make config will always show those options so you can always > > >>>>> tune them. > > >>>>> > > >>>>> just make config-conditional will not fireup a new dialog > > >>>>> automatically if the defined options are only those from the > > >>>>> global options. > > >>>> > > >>>> I see. As far as I can tell though, and correct me if I'm > > >>>> wrong, but 'make install' doesn't show those options. It also > > >>>> does not show those options for dependent ports. Neither does > > >>>> 'make config-recursive'. > > >>>> > > >>>> Tools like portmaster will now ignore those as well during > > >>>> install and reinstall. > > >>>> > > >>>> So, again, what are my options if I don't want dependencies to > > >>>> be pulled in silently? > > >>> > > >>> You have no options and you never had one in the ports tree > > >>> sorry. > > >>> > > >>> If you have a way to implement that cleanly, I'll be happy to > > >>> push such features in the ports but really I see a way to do > > >>> what you ask for. > > >> > > >> How about only suppressing the dialog if the options have been > > >> explicitly set or unset in make.conf? > > > > > > That would be easy but is that a really desired feature? > > > > I can only speak for myself, but I don't see DOCS as a global > > option. For some ports I want documentation, for others I don't, so > > I want the dialog to show up even if DOCS is the only option. > > > > There doesn't seem to be a clear cut line between global and per > > port options and different users have different opinions about it. > > > > Can you make it such that config-conditional suppresses the dialog > > if all options have been explicitly set or unset either through > > command line, make.conf or optionsfile? Or in other words only show > > the dialog if one of the options falls back to a default value (e.g. > > when a new option has been added to a port and that option has not > > been set globally). > > > > I think that would allow anyone to set/unset any option globally and > > not be bothered by dialogs without enforcing that view on everybody > > else. You wouldn't need GLOBAL_OPTIONS any more then. > > > > Ok so I misunderstood at first. > > That looks not easy to do, and I'm a bit borred with hacking the > options. > > If someone do something in that direction, I'll be happy to review > and help, but honnestly I don't plan to do it myself. > > regads, > Bapt I can feel your pain, Bapt :) Anyway, I think the problem with those options (especially DOCS) is that they are not really "global" in that you want to set them for all ports, but more like "general" as in well-known. So many ports provide them and the user has a good idea what they're supposed to mean, but ultimately you don't want to set them to the same value for all ports. Regardless of implementation details I would like to see something like the following at least for DOCS, either through config-recursive or - maybe more likely - through a tool like portmaster: After starting the build process and collecting dependencies, an ncurses dialog should be shown that says "The following ports provide documentation" and a check-box list showing all packages as well as a "All" and "None" options on top of the list. That way the user can easily select which port documentation to install and at the same time can easily set it for all affected ports, e.g. # portmaster shells/bash +------ Install documentation -----+ + [ ] All + + [X] None + + [ ] converters/libiconv + + [ ] devel/gettext + + [ ] shells/bash + +----------------------------------+ + < OK > < Cancel > + +----------------------------------+ I have no idea what it would take to implement this in a sane way within the current framework, but IMHO this would provide a pretty good user experience. Cheers, Michael p.s. - If you wanted to provide this for more than one "general" option, dialog4ports' section feature might become handy, e.g.: +-------- General options ---------+ + [ ] All + + [X] None + + -------- Documentation ----------+ + [ ] converters/libiconv + + [ ] devel/gettext + + [ ] shells/bash + + ---- Native Language Support ----+ + [ ] devel/gettext + + [ ] shells/bash + +----------------------------------+ + < OK > < Cancel > + +----------------------------------+ -- Michael Gmelin