svn commit: r237002 - user/dougb/portmaster

Doug Barton dougb at FreeBSD.org
Wed Jun 13 08:11:42 UTC 2012


Author: dougb
Date: Wed Jun 13 08:11:41 2012
New Revision: 237002
URL: http://svn.freebsd.org/changeset/base/237002

Log:
  Add code to detect dependency loops created by moving part of a port
  into another port, and CONFLICT'ing on previous versions of that port
  (ala textproc/p5-XML-SAX -> p5-XML-SAX-Base). When a loop is detected
  suggest that the user try pkg_updating.

Modified:
  user/dougb/portmaster/portmaster

Modified: user/dougb/portmaster/portmaster
==============================================================================
--- user/dougb/portmaster/portmaster	Wed Jun 13 08:00:32 2012	(r237001)
+++ user/dougb/portmaster/portmaster	Wed Jun 13 08:11:41 2012	(r237002)
@@ -2495,11 +2495,18 @@ dependency_check () {
 				confl_p=`pkg_info -I $glob 2>/dev/null`
 				if [ -n "$confl_p" ]; then
 					confl_p=${confl_p%% *}
+					d_port="$pd/`origin_from_pdb $confl_p`"
+
+					if [ "${d_port#$pd/}" = "$portdir" ]; then
+						echo -e "\n===>>> $origin seems to depend on $portdir"
+						echo '       which looks like a dependency loop'
+						fail "Try pkg_updating $portdir"
+					fi
+
 					echo ''
 					echo "===>>> The dependency for ${origin}"
 					echo "       seems to be handled by $confl_p"
 					echo ''
-					d_port="$pd/`origin_from_pdb $confl_p`"
 				fi
 			done
 		fi


More information about the svn-src-user mailing list