svn commit: r208182 - user/dougb/portmaster

Doug Barton dougb at FreeBSD.org
Mon May 17 02:44:52 UTC 2010


Author: dougb
Date: Mon May 17 02:44:51 2010
New Revision: 208182
URL: http://svn.freebsd.org/changeset/base/208182

Log:
  In iport_from_origin() if we don't find a match (which is normal for
  ports that are not yet installed) then return immediately.
  
  In check_for_updates() if a port has moved we should also check for
  an +IGNOREME file before forcing the update.

Modified:
  user/dougb/portmaster/portmaster

Modified: user/dougb/portmaster/portmaster
==============================================================================
--- user/dougb/portmaster/portmaster	Mon May 17 02:20:24 2010	(r208181)
+++ user/dougb/portmaster/portmaster	Mon May 17 02:44:51 2010	(r208182)
@@ -601,7 +601,7 @@ unset var newopts
 
 iport_from_origin () {
 	local dir
-	dir=`grep -l "@comment ORIGIN:${1}$" $pdb/*/+CONTENTS`
+	dir=`grep -l "@comment ORIGIN:${1}$" $pdb/*/+CONTENTS` || return 1
 
 	# It should not happen that more than one port meets this
 	# requirement, but it can if the pkg data is corrupted.
@@ -1285,8 +1285,17 @@ check_for_updates () {
 	elif [ -z "$do_update" -a -z "$skip" ]; then
 		find_moved_port $origin $iport $nf
 
-		# If the port has moved, we have to update it, otherwise ignore
-		[ -n "$moved_npd" ] && do_update=do_update6
+		# If the port has moved and no +IGNOREME, we have to update it
+		if [ -n "$moved_npd" ]; then
+			if [ ! -e "$pdb/$iport/+IGNOREME" ]; then
+				do_update=do_update_moved
+			else
+				echo "	===>>> Continuing due to $pdb/$iport/+IGNOREME"
+				echo ''
+				CUR_DEPS="${CUR_DEPS}${iport}:${origin}:"
+				return 0
+			fi
+		fi
 	fi
 
 	if [ -z "$do_update" -a -n "$port_ver" ]; then


More information about the svn-src-user mailing list