Re: ports and interactivity

2006-03-27 Thread Bill Moran
On Sun, 26 Mar 2006 16:48:58 -0800
Ian A. Tegebo [EMAIL PROTECTED] 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.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: ports and interactivity

2006-03-27 Thread RW
On Monday 27 March 2006 01:48, Ian A. Tegebo 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?
 ...
 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).

BATCH stops INTERACTIVE ports being built, and causes other  ports to build 
with default options, using the port knobs  (as in WITH_FOO) to override 
the defaults.

Only a handfull  of ports are INTERACTIVE, usually because they require you to 
agree to a licence at install time. 

 I want to do all the human work of evaluating options and
 making decisions up front

Try this:


#!/bin/sh

# Get list of out-of-date ports
# This may take some time

plist=`pkg_version -ovl'' |awk '{ print $1 }'`

# allow each out-of-date port to update it's config, and that of any new
# dependencies (dialog only runs when something has changed)

for porg in $plist ; do
cd  /usr/ports/${porg}  make config-recursive
done

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


ports and interactivity

2006-03-26 Thread Ian A. Tegebo
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?  

--
Ian Tegebo
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]