svn commit: r203656 - user/dougb/portmaster

Doug Barton dougb at FreeBSD.org
Mon Feb 8 06:28:34 UTC 2010


Author: dougb
Date: Mon Feb  8 06:28:33 2010
New Revision: 203656
URL: http://svn.freebsd.org/changeset/base/203656

Log:
  Refactor the duplicate detection code in update_build_l():
  1. Put the case statements all on one line to condense the code a bit
  2. Reorganize the code to avoid expensive greps through /var/db/pkg
  if we find a duplicate.

Modified:
  user/dougb/portmaster/portmaster

Modified: user/dougb/portmaster/portmaster
==============================================================================
--- user/dougb/portmaster/portmaster	Mon Feb  8 06:09:35 2010	(r203655)
+++ user/dougb/portmaster/portmaster	Mon Feb  8 06:28:33 2010	(r203656)
@@ -1675,18 +1675,16 @@ update_build_l () {
 	local origin iport new_port
 
 	case "$1" in
-	*/*)	origin=$1 ; iport=`iport_from_origin $origin`
+	*/*)	origin=$1
+		case "$build_l" in *\ $origin\\*) return ;; esac
+		iport=`iport_from_origin $origin`
 		if [ -z "$iport" ]; then
-			case "$build_l" in
-			*\ $origin\\*)	return ;;
-			esac
 			build_l="${build_l}\tInstall $origin\n"
 			return
 		fi ;;
-	*)	origin=`origin_from_pdb $1` ; iport=$1
-		case "$build_l" in
-		*\ $iport\ *)	return ;;
-		esac ;;
+	*)	iport=$1
+		case "$build_l" in *\ $iport\ *|*\ $iport\\*) return ;; esac
+		origin=`origin_from_pdb $1` ;;
 	esac
 
 	pm_cd $pd/$origin && new_port=`pm_make -V PKGNAME`


More information about the svn-src-user mailing list