From owner-svn-ports-head@FreeBSD.ORG Fri Jun 14 12:59:03 2013 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id A116F2B8; Fri, 14 Jun 2013 12:59:03 +0000 (UTC) (envelope-from tijl@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 939221DB4; Fri, 14 Jun 2013 12:59:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r5ECx36w018382; Fri, 14 Jun 2013 12:59:03 GMT (envelope-from tijl@svn.freebsd.org) Received: (from tijl@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r5ECx3m7018376; Fri, 14 Jun 2013 12:59:03 GMT (envelope-from tijl@svn.freebsd.org) Message-Id: <201306141259.r5ECx3m7018376@svn.freebsd.org> From: Tijl Coosemans Date: Fri, 14 Jun 2013 12:59:03 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r320908 - in head: . Mk X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Jun 2013 12:59:03 -0000 Author: tijl Date: Fri Jun 14 12:59:02 2013 New Revision: 320908 URL: http://svnweb.freebsd.org/changeset/ports/320908 Log: Let config-conditional take options configured in make.conf into account. The option dialog will not appear if all options have been configured before, either using the dialog or in make.conf. This means you can set options once for all ports in make.conf and not have dialogs pop up if those are the only options. Also let config-conditional run make config instead of do-config. Make config handles NO_DIALOG and pre-config. Discussed with: danfe Approved by: portmgr (bapt) Modified: head/Mk/bsd.options.mk head/Mk/bsd.port.mk head/UPDATING Modified: head/Mk/bsd.options.mk ============================================================================== --- head/Mk/bsd.options.mk Fri Jun 14 12:49:56 2013 (r320907) +++ head/Mk/bsd.options.mk Fri Jun 14 12:59:02 2013 (r320908) @@ -45,14 +45,12 @@ ## # Set all the options available for the ports, beginning with the # global ones and ending with the ones decided by the maintainer. -# Options global to the entire ports tree + .if !defined(OPTIONSMKINCLUDED) OPTIONSMKINCLUDED= bsd.options.mk OPTIONSFILE?= ${PORT_DBDIR}/${UNIQUENAME}/options -GLOBAL_OPTIONS= DOCS NLS EXAMPLES IPV6 - # Set the default values for the global options, as defined by portmgr .if !defined(NOPORTDOCS) PORT_OPTIONS+= DOCS @@ -116,8 +114,10 @@ COMPLETE_OPTIONS_LIST+= ${OPTIONS_${otyp .if defined(OPTIONS_OVERRIDE) # Special case $OPTIONS_OVERRIDE; if it is defined forget about anything done # before +NEW_OPTIONS= PORT_OPTIONS:= ${OPTIONS_OVERRIDE} .else +NEW_OPTIONS= ${COMPLETE_OPTIONS_LIST} ## Set default options defined by the port maintainer . for opt in ${OPTIONS_DEFAULT} @@ -129,6 +129,7 @@ PORT_OPTIONS:= ${PORT_OPTIONS:O:u} . for opt in ${OPTIONS_SET} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif . endfor PORT_OPTIONS:= ${PORT_OPTIONS:O:u} @@ -136,12 +137,14 @@ PORT_OPTIONS:= ${PORT_OPTIONS:O:u} ## Remove the options excluded system-wide (set by user in make.conf) . for opt in ${OPTIONS_UNSET} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endfor ## Set the options specified per-port (set by user in make.conf) . for opt in ${${UNIQUENAME}_SET} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif . endfor PORT_OPTIONS:= ${PORT_OPTIONS:O:u} @@ -149,6 +152,7 @@ PORT_OPTIONS:= ${PORT_OPTIONS:O:u} ## Unset the options excluded per-port (set by user in make.conf) . for opt in ${${UNIQUENAME}_UNSET} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endfor ## options files (from dialog) @@ -174,12 +178,14 @@ PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} . for opt in ${OPTIONS_FILE_SET} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif . endfor PORT_OPTIONS:= ${PORT_OPTIONS:O:u} .for opt in ${OPTIONS_FILE_UNSET} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} .endfor .undef opt @@ -190,6 +196,7 @@ PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} . for opt in ${OPTIONS_SET_FORCE} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif . endfor PORT_OPTIONS:= ${PORT_OPTIONS:O:u} @@ -197,12 +204,14 @@ PORT_OPTIONS:= ${PORT_OPTIONS:O:u} ## Remove the options excluded system-wide (set by user in make.conf) . for opt in ${OPTIONS_UNSET_FORCE} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endfor ## Set the options specified per-port (set by user in make.conf) . for opt in ${${UNIQUENAME}_SET_FORCE} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif . endfor PORT_OPTIONS:= ${PORT_OPTIONS:O:u} @@ -210,6 +219,7 @@ PORT_OPTIONS:= ${PORT_OPTIONS:O:u} ## Unset the options excluded per-port (set by user in make.conf) . for opt in ${${UNIQUENAME}_UNSET_FORCE} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endfor @@ -217,12 +227,14 @@ PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} .for opt in ${WITH} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif .endfor PORT_OPTIONS:= ${PORT_OPTIONS:O:u} .for opt in ${WITHOUT} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} +NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} .endfor .for opt in ${OPTIONS_SLAVE} @@ -262,8 +274,3 @@ WITH_${opt}:= true .endfor .endif ### - -_OPTIONS_WITHOUT_GLOBALS:= ${COMPLETE_OPTIONS_LIST} -.for opt in ${GLOBAL_OPTIONS} -_OPTIONS_WITHOUT_GLOBALS:= ${_OPTIONS_WITHOUT_GLOBALS:N${opt}} -.endfor Modified: head/Mk/bsd.port.mk ============================================================================== --- head/Mk/bsd.port.mk Fri Jun 14 12:49:56 2013 (r320907) +++ head/Mk/bsd.port.mk Fri Jun 14 12:59:02 2013 (r320908) @@ -6168,11 +6168,9 @@ config-recursive: .endif # config-recursive .if !target(config-conditional) -config-conditional: pre-config -.if defined(COMPLETE_OPTIONS_LIST) && !empty(_OPTIONS_WITHOUT_GLOBALS) && !defined(NO_DIALOG) -. if !defined(_FILE_COMPLETE_OPTIONS_LIST) || ${COMPLETE_OPTIONS_LIST:O} != ${_FILE_COMPLETE_OPTIONS_LIST:O} - @cd ${.CURDIR} && ${MAKE} do-config; -. endif +config-conditional: +.if !empty(NEW_OPTIONS) + @cd ${.CURDIR} && ${MAKE} config; .endif .endif # config-conditional Modified: head/UPDATING ============================================================================== --- head/UPDATING Fri Jun 14 12:49:56 2013 (r320907) +++ head/UPDATING Fri Jun 14 12:59:02 2013 (r320908) @@ -5,6 +5,19 @@ they are unavoidable. You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20130614: + AFFECTS: users who set port options in make.conf + AUTHOR: tijl@FreeBSD.org + + Configuring options in make.conf using variables like OPTIONS_SET and + OPTIONS_UNSET now also suppresses the option dialog for those options. + This means that when building a port the option dialog will only appear if + there are truly new options that have not been configured before using either + the dialog or make.conf. This allows you to set options like DOCS, NLS, + X11, etc. once for all ports and not have option dialogs pop up if those are + the only options. For a list of variables you can set in make.conf to + control options see Mk/bsd.options.mk. + 20130612: AFFECTS: users of lang/perl* and any port that depends on it AUTHOR: az@FreeBSD.org