ports and interactivity
Bill Moran
wmoran at collaborativefusion.com
Mon Mar 27 13:04:19 UTC 2006
On Sun, 26 Mar 2006 16:48:58 -0800
"Ian A. Tegebo" <yontege at rescomp.berkeley.edu> wrote:
> I'm interested in knowing several things:
>
> 1 When is a port interactive?
> 2 Is there an easy way to determine the above?
> 3 What are all the options for a given port?
>
> After doing some reading, I understand that one can learn about options
> in Makefiles, running "make show-config", "make show-options", or some
> other idiosyncratic method that seems to vary from port to port.
>
> In terms of question 1, there seems like there should be a
> "IS_INTERACTIVE" variable set in the Makefile but in the example of
> shells/bash-completion, there is no such variable and yet I was
> presented with what I imagine was "dialog" prompting me to choose
> between bash2 and the newer bash3 (default shells/bash).
>
> I have a hidden agenda here. I would like to be able to present
> portupgrade with a list of ports, preprocess all interactive ports
> before any actual building occurs, and then let portupgrade do its
> thing.
>
> Now, I could use the "BATCH" variable to at least process all
> ports that aren't interactive but that hardly seems cool when there
> could be dependencies that are interactive (which would show up when I
> pass -rRn to portupgrade).
>
> I've also taken a cursory look at portmanager and portmaster but neither
> seem to fulfill my agenda. It's not that I want to simply achieve
> automation, I want to do all the human work of evaluating options and
> making decisions up front (without all the tedious work of poking around in
> Makefiles when there are already nice things like those dialog prompts).
>
> Has anyone gone down this road? Does it not go anywhere? Is there a
> better way to do this?
All the interactive dialogs that I've seen store the result of your
choices in /var/db/ports. As a result, you never see the dialog again
if you reinstall or upgrade the port.
You could establish a set of options on a scratch machine, then copy
the /var/db/ports directory to the new machines you are building.
Also, the portupgrade.conf file allows you to add command line options
for ports. See the man page for details.
HTH.
--
Bill Moran
Collaborative Fusion Inc.
More information about the freebsd-questions
mailing list