From owner-freebsd-ports@FreeBSD.ORG Fri Jun 7 17:23:15 2013 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id EBF3E672 for ; Fri, 7 Jun 2013 17:23:15 +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 3A7BC1BA5 for ; Fri, 7 Jun 2013 17:23:14 +0000 (UTC) Received: (qmail 74920 invoked by uid 89); 7 Jun 2013 17:23:13 -0000 Received: from unknown (HELO bsd64.grem.de) (mg@grem.de@93.215.160.84) by mail.grem.de with ESMTPA; 7 Jun 2013 17:23:13 -0000 Date: Fri, 7 Jun 2013 19:23:15 +0200 From: Michael Gmelin To: Chris Rees Subject: Re: [HEADSUP] dialog4ports does not popup anymore only for global options Message-ID: <20130607192315.19525bf6@bsd64.grem.de> In-Reply-To: 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> <20130607185645.52d3a1ae@bsd64.grem.de> 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, Baptiste Daroussin , 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 17:23:16 -0000 On Fri, 7 Jun 2013 18:15:16 +0100 Chris Rees wrote: > On 7 Jun 2013 17:57, "Michael Gmelin" wrote: > > > > 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 + > > I can see your point when talking about DOCS, but for NLS it's > insanity *for general use*. Give me an example of where NLS > non-globals are appropriate and I'll shut up. > > Chris I was mostly talking about DOCS, I (poorly) chose NLS as an additional example to show how multiple groups could work. Usually NLS is a true global option. No need to shut up ;) -- Michael Gmelin