Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Jun 2013 12:59:03 +0000 (UTC)
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r320908 - in head: . Mk
Message-ID:  <201306141259.r5ECx3m7018376@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306141259.r5ECx3m7018376>