From owner-freebsd-questions@FreeBSD.ORG Mon Mar 27 13:04:18 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED69C16A400 for ; Mon, 27 Mar 2006 13:04:18 +0000 (UTC) (envelope-from wmoran@collaborativefusion.com) Received: from mx00.pub.collaborativefusion.com (mx00.pub.collaborativefusion.com [206.210.89.199]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7AC1F43D45 for ; Mon, 27 Mar 2006 13:04:18 +0000 (GMT) (envelope-from wmoran@collaborativefusion.com) Received: from vanquish.pgh.priv.collaborativefusion.com (vanquish.pgh.priv.collaborativefusion.com [192.168.2.61]) by wingspan with esmtp; Mon, 27 Mar 2006 08:04:17 -0500 id 00056407.4427E2D1.00009CF9 Date: Mon, 27 Mar 2006 08:04:17 -0500 From: Bill Moran To: "Ian A. Tegebo" Message-Id: <20060327080417.64eed549.wmoran@collaborativefusion.com> In-Reply-To: <20060327004857.GE2495@rescomp.berkeley.edu> References: <20060327004857.GE2495@rescomp.berkeley.edu> Organization: Collaborative Fusion X-Mailer: Sylpheed version 2.2.0 (GTK+ 2.8.12; i386-portbld-freebsd6.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-questions@freebsd.org Subject: Re: ports and interactivity X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Mar 2006 13:04:19 -0000 On Sun, 26 Mar 2006 16:48:58 -0800 "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? > > 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.