3 ms·
> FreeBSD Ports sometimes shows me a text menu for configuring package options, while pkgsrc just uses text configuration and tries to make it so you don’t need
by livueta 5y ago
> FreeBSD Ports sometimes shows me a text menu for configuring package options, while pkgsrc just uses text configuration and tries to make it so you don’t need to reconfigure packages. I’m the kind of person who prefers text configuration, but I can see how others wouldn’t.
Posting because it took me way too long to run into this on my own: make config-recursive lets you get all the ncurses per-port menus out of the way at once. Not a full fix, but it does take a rough edge off of the default port config/building experience.
e: Real lovers of text config could also use Poudriere to build their own packages since it takes per-port config options files. I think you can do something similar with portmaster as well.
ee: now I think about it, the choices from the ncurses menus just get stored in /var/db/ports, so you could probably edit it directly as text if you felt like it.
- throw0101a 5y agoSee ports(7) which mentions "config-recursive" and other targets that may be useful: * https://www.freebsd.org/cgi/man.cgi?ports(7) https://www.freebsd.org/cgi/man.cgi?ports(7)
- asveikau 5y agoYou can also set port options in /etc/make.conf. I find this easier than the /var/db/ports solution because you can see all the configuration in a single file, rather than file-per-port.
- paulmd 5y agousing portmaster does the same thing, runs all the configs up front. portmaster is a big quality-of-life improvement, that's almost always one of the first things that I build on a clean install
- takeda 5y agoFreeBSD started with options and you could edit /etc/make.conf You could also make them available for specific packages, for example: .if ${.CURDIR:N*/ports/www/apache2*} == "" SUEXEC_DOCROOT=/usr/local/www SUEXEC_USERDIR=public_html .endif Then they implemented the ncurses approach which made it more user friendly. You can still change some defaults for example I have this: OPTIONS_UNSET+=X11 OPTIONS_UNSET+=DOCS OPTIONS_UNSET+=EXAMPLES OPTIONS_UNSET+=CUPS OPTIONS_UNSET+=OPENGL Here's more how to use them: https://github.com/freebsd/freebsd-ports/blob/main/Mk/bsd.options.mk https://github.com/freebsd/freebsd-ports/blob/main/Mk/bsd.op... The options are also stored in the config as you mentioned and if a new option is added the old one's state is preserved. Overall this reminds me early days with smartphones and iPhone users making excuses why not having copy&paste was better.