svn commit: r214580 - user/dougb/portmaster

Doug Barton dougb at FreeBSD.org
Sun Oct 31 01:44:41 UTC 2010


Author: dougb
Date: Sun Oct 31 01:44:40 2010
New Revision: 214580
URL: http://svn.freebsd.org/changeset/base/214580

Log:
  Don't call update_build_l() (which also updates PM_NEEDS_UPDATE) in
  multiport() or update_port(), instead always call it from the main
  routine, which occurs after the user has made a decision about any
  +IGNOREME files that might be present. (Also simplifies a bit.)
  
  Related to the above, in multiport() if the child returns and the
  port in question is not in PM_NEEDS_UPDATE (usually/[only?] because
  there is an +IGNOREME and they chose not to proceed) then add the
  port to PM_MULTI_BUILT and decrement $num_ports so that it will be
  ignored in the build phase.
  
  In post_first_pass() return if PM_NEEDS_UPDATE is empty. This is a
  micro-op in the common case, but allows us to give the right message
  to the user in the -a case where the only port that needs updating
  has an +IGNOREME file, and the user chose not to proceed.
  
  For -a add some whitespace around the "all ports are up to date"

Modified:
  user/dougb/portmaster/portmaster

Modified: user/dougb/portmaster/portmaster
==============================================================================
--- user/dougb/portmaster/portmaster	Sun Oct 31 00:51:22 2010	(r214579)
+++ user/dougb/portmaster/portmaster	Sun Oct 31 01:44:40 2010	(r214580)
@@ -2148,10 +2148,7 @@ update_port () {
 
 	dep_of_deps=$(( $dep_of_deps + 1 ))
 
-	if [ -n "$PM_FIRST_PASS" ]; then
-		num_of_deps=$(( $num_of_deps + 1 ))
-		update_build_l $1
-	fi
+	[ -n "$PM_FIRST_PASS" ] && num_of_deps=$(( $num_of_deps + 1 ))
 
 	deps=" (${dep_of_deps}/${num_of_deps})"
 
@@ -2464,6 +2461,7 @@ post_first_pass () {
 	fi
 
 	PM_NEEDS_UPDATE=${PM_NEEDS_UPDATE# }
+	[ -z "$PM_NEEDS_UPDATE" ] && return
 
 	action=build
 	if [ "$PM_PACKAGES" = only ]; then
@@ -2587,7 +2585,13 @@ multiport () {
 			init_term_printf "$port ${numports}/${numports}"
 			($0 $ARGS $port) || fail "Update for $port failed"
 			. $IPC_SAVE
-			update_build_l $port
+
+			case "$PM_NEEDS_UPDATE" in
+			*\ ${origin}\ *)	continue ;;
+						# Handle +IGNOREME in child
+			*)			PM_MULTI_BUILT="${PM_MULTI_BUILT}${port}:"
+						numports=$(( $numports - 1 )) ;;
+			esac
 		done
 
 		check_fetch_only
@@ -2807,7 +2811,7 @@ all_first_pass () {
 
 		check_fetch_only
 		if [ -n "$NO_DEP_UPDATES" ]; then
-			echo "===>>> All ports are up to date"
+			echo '' ; echo "===>>> All ports are up to date" ; echo ''
 			safe_exit
 		fi
 
@@ -2969,10 +2973,11 @@ else
 	PM_DEPTH="${PM_DEPTH}>> ${upg_port:-$portdir} "
 fi
 
-if [ -n "$PM_FIRST_PASS" -a "$$" -eq "$PM_PARENT_PID" ]; then
+if [ -n "$PM_FIRST_PASS" ]; then
 	if [ -n "$upg_port" ]; then
 		update_build_l $upg_port
-		[ -n "$UPDATE_REQ_BYS" -a -n "$RESTART" ] && check_for_updates $upg_port
+		[ -n "$UPDATE_REQ_BYS" -a -n "$RESTART" -a "$$" -eq "$PM_PARENT_PID" ] &&
+			check_for_updates $upg_port
 	else
 		update_build_l $portdir
 	fi


More information about the svn-src-user mailing list