Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Aug 2017 10:58:39 -0700 (PDT)
From:      Don Lewis <truckman@FreeBSD.org>
To:        mueller6722@twc.com
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Synth and circular dependencies
Message-ID:  <201708221758.v7MHwdIk029502@gw.catspoiler.org>
In-Reply-To: <F9.8A.25924.960DB995@dnvrco-omsmta02>

next in thread | previous in thread | raw e-mail | index | archive | help
On 22 Aug, Thomas Mueller wrote:
> from Jonathan Chen:
> 
>> On 22 August 2017 at 15:17, Thomas Mueller
>> <mueller6724@bellsouth.net> wrote:
> [...]
>> > I really need to be able to see the options in a better way than
>> > the FreeBSD ports framework allows, like in a file /etc/mk.conf
>> > (pkgsrc) or USE= ... as in /etc/make.conf (Gentoo portage).
> 
>> > Dialog4ports is better than the previous dialog but not as good as
>> > seeing in a file mk.conf or make.conf .
> 
>> > Otherwise, I don't really know any elegant way to fix the options
>> > mess I got into.
>         
>> Any reason why don't you can't all your options into /etc/make.conf?
>> I've never used /var/db/ports options as they're not easy to review
>> in one go.
> 
> Going through /var/db/ports is a recipe for insanity.
> 
> from Don Lewis:
> 
>> It is possible to set the options for ports in /etc/make.conf.  That
>> is how I handle it would poudriere which looks for make.conf files in
>> /usr/local/etc/poudriere.d and can use make.conf files that are
>> specific to each jail, ports tree and ports set (poudriere -z option
>> to specify the latter).
> 
>> Specifying the options in make.conf also makes it easier to set
>> options globally for all all of the ports that you build so they are
>> consistent. For instance I specify these options globally:
> 
>> OPTIONS_SET=CUPS APPLET OPENBLAS OBLAS SZIP LETTER GUILE2 GSSAPI_NONE
>> KRB_NONE OPTIONS_UNSET=GUILE1 NETLIB REFERENCE GSSAPI_BASE KRB_BASE
>> KERBEROS
> 
>> Port-specific options can be set like this:
> 
>> graphics_gimp-help_SET=EN
>> graphics_gimp-help_UNSET=ALL
> 
>> Back when I still used portupgrade, I found that dialog4ports got to
>> be really frustrating.
> 
> What is the priority when /var/db/ports is present, which takes
> precedence?  Should I delete /var/db/ports or /var/db/ports/* ?

I suspect that /var/db/ports takes priority of options are set in both
places.  I'd delete it if you move your option settings to make.conf.

> The ports dialog prior to dialog4ports would always mess the screen
> whenever I made a log file with tee (just as bad with script). 
> Dialog4ports avoided messing the screen.
> 
> It was very disconcerting when I would do a massive portupgrade before
> going to bed and subsequently find portupgrade stopped for an options
> dialog.

I always ran "portupgrade -aFc" beforehand to set the options and also
fetch all the distfiles.  Some of the ports that I built had distfiles
that needed to be manually fetched and a fetch failure during the night
could also be devastating.  Even then there was one port that had its
own dialog (procmail?) that would sometimes wedge an overnight
portupgrade run.

> I believe Synth and poudriere have no means for setting options.  That
> should be enough impetus to make it easier to bypass the dialog4ports
> entirely.

The poudriere testport -c option runs make config to pop up the options
dialog.  It's handy for testing the port's options when doing
development.  The options settings aren't sticky, though.

> (NetBSD) pkgsrc has a file options.mk in each package entry where
> there are options.  One can run "make show-options" and "make
> show-depends-options" to see options for main package and
> dependencies.  I like it better than "make showconfig-recursive".
> 
> Now for FreeBSD 11.1-STABLE installation, I will have to redo the
> options into OPTIONS_SET, etc, and either delete /var/db/ports (a
> horrible mess now, so nothing to lose) or move it out of the way.
> 
> Another advantage of putting options in make.conf or mk.conf is that
> the file can be copied or edited from another FreeBSD or NetBSD
> installation.

Well, you could copy /var/db/ports over, but ...




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708221758.v7MHwdIk029502>