[HEADSUP] dialog4ports does not popup anymore only for global options

Michael Gmelin freebsd at grem.de
Fri Jun 7 17:23:16 UTC 2013


On Fri, 7 Jun 2013 18:15:16 +0100
Chris Rees <utisoft at gmail.com> wrote:

> On 7 Jun 2013 17:57, "Michael Gmelin" <freebsd at grem.de> wrote:
> >
> > On Fri, 7 Jun 2013 15:42:44 +0200
> > Baptiste Daroussin <bapt at FreeBSD.org> 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


More information about the freebsd-ports mailing list