svn commit: r204538 - user/dougb/portmaster

Doug Barton dougb at FreeBSD.org
Mon Mar 1 21:30:45 UTC 2010


Author: dougb
Date: Mon Mar  1 21:30:44 2010
New Revision: 204538
URL: http://svn.freebsd.org/changeset/base/204538

Log:
  Continue the setting of reasonable defaults when bsd.port.mk is not
  available for PACKAGES, FETCH_ARGS, and LOCALBASE. For the first two
  make a corresponding change to use upper case variable names to match
  what's in bsd.port.mk. This will make the documentation easier when
  explaining what values the user may want to supply.

Modified:
  user/dougb/portmaster/portmaster

Modified: user/dougb/portmaster/portmaster
==============================================================================
--- user/dougb/portmaster/portmaster	Mon Mar  1 21:30:11 2010	(r204537)
+++ user/dougb/portmaster/portmaster	Mon Mar  1 21:30:44 2010	(r204538)
@@ -1217,40 +1217,50 @@ check_for_updates () {
 	return 0
 }
 
-init_packages () {
-	# Global: packages pbu
-	local pkgrep
+init_packages_var () {
+	# Global: PACKAGES
 
-	packages=`pm_make -f/usr/share/mk/bsd.port.mk -V PACKAGES`
-	[ -n "$packages" ] || fail 'The value of PACKAGES cannot be empty'
+	[ -n "$PACKAGES" ] && return
 
-	# Compatibility shim for users who had previously defined this
-	pkgrep=`pm_make -f/usr/share/mk/bsd.port.mk -V PKGREPOSITORY`
-	if [ ! "$packages" = "${pkgrep%/All}" ]; then
-		echo ''
-		echo "===>>> The PACKAGES and PKGREPOSITORY variables conflict"
-		fail "Set PACKAGES only - 'man portmaster' for more information"
+	PACKAGES=`pm_make -f/usr/share/mk/bsd.port.mk -V PACKAGES 2>/dev/null`
+	if [ -z "$PACKAGES" ]; then
+		if [ -d /usr/ports/packages ]; then
+			PACKAGES='/usr/ports/packages'
+		else
+			if [ -d /usr/ports/ ]; then
+				PACKAGES='/usr/ports/packages'
+			else
+				fail 'The value of PACKAGES cannot be empty'
+			fi
+		fi
 	fi
+	export PACKAGES
+}
+
+init_packages () {
+	# Global: pbu
 
-	pbu=$packages/portmaster-backup
+	init_packages_var
+
+	pbu=$PACKAGES/portmaster-backup
 
 	if [ ! -d "$pbu" ]; then
 		[ -n "$PM_SU_VERBOSE" ] &&
 			echo "===>>> Creating $pbu"
 		pm_mkdir_s $pbu
 	fi
-	export packages pbu
+	export pbu
 }
 
 pm_pkg_create () {
 	local pkgdir
 
-	if [ "$1" = "${packages}" ]; then
+	if [ "$1" = "$PACKAGES" ]; then
 		for pkgdir in All Latest ${portdir%/*}; do
-			pm_mkdir_s ${packages}/${pkgdir} ||
-				fail "Cannot mkdir -p ${packages}/${pkgdir}"
+			pm_mkdir_s ${PACKAGES}/${pkgdir} ||
+				fail "Cannot mkdir -p ${PACKAGES}/${pkgdir}"
 		done
-		pkgdir=${packages}/All
+		pkgdir=${PACKAGES}/All
 		echo "===>>> Creating a package for new version $2"
 	else
 		pkgdir=$1
@@ -1266,7 +1276,7 @@ pm_pkg_create () {
 				local pkg ; pkg=`echo $2.*`
 				NB_DELETE="${NB_DELETE}${pkg} "
 			fi
-		elif [ "$1" = "${packages}" ]; then
+		elif [ "$1" = "$PACKAGES" ]; then
 			local pkg latest_link
 
 			pkg=`echo $2.*`
@@ -1651,7 +1661,7 @@ if [ -n "$CLEAN_STALE" ]; then
 		read answer
 		case "$answer" in
 		[yY])	if [ -n "$BACKUP" ]; then
-				[ -z "$packages" ] && init_packages
+				[ -z "$PACKAGES" ] && init_packages
 				pm_pkg_create $pbu $iport
 			fi
 
@@ -2258,10 +2268,21 @@ if [ "$$" -eq "$PM_PARENT_PID" -a -z "$S
 	PM_DEPTH='' ; IPC_SAVE=`pm_mktemp IPC_SAVE`
 	export CUR_DEPS DISPLAY_LIST INSTALLED_LIST PM_DEPTH IPC_SAVE
 
-	PORTS_LOCALBASE=`pm_make_b -f/usr/share/mk/bsd.port.mk -V LOCALBASE`
-	[ -n "$PORTS_LOCALBASE" ] ||
-		fail 'The value of LOCALBASE cannot be empty'
-	LOCALBASE_COMPAT="$PORTS_LOCALBASE/lib/compat"
+	if [ -n "$LOCALBASE" ]; then
+		LOCALBASE_COMPAT="$LOCALBASE/lib/compat"
+	else
+		PLB=`pm_make_b -f/usr/share/mk/bsd.port.mk -V LOCALBASE 2>/dev/null`
+		if [ -n "$PLB" ]; then
+			LOCALBASE_COMPAT="$PLB/lib/compat"
+		else
+			if [ -d /usr/local ]; then
+				LOCALBASE_COMPAT='/usr/local/lib/compat'
+			else
+				fail 'The value of LOCALBASE cannot be empty'
+			fi
+		fi
+		unset PLB
+	fi
 	export LOCALBASE_COMPAT
 
 	if [ -n "$INTERACTIVE_UPDATE" ]; then
@@ -2762,12 +2783,8 @@ fetch_package () {
 	local do_fetch
 
 	if [ -z "$ppd" ]; then
-		# Duplicated from pkg_init()
-		[ -z "$packages" ] &&
-		packages=`pm_make -f/usr/share/mk/bsd.port.mk -V PACKAGES`
-		[ -n "$packages" ] ||
-			fail 'The value of PACKAGES cannot be empty'
-		ppd=$packages/portmaster-download
+		init_packages_var
+		ppd=$PACKAGES/portmaster-download
 		export ppd
 	fi
 
@@ -2776,9 +2793,11 @@ fetch_package () {
 		pm_mkdir_s $ppd
 	fi
 
-	[ -z "$fetch_args" ] && {
-		fetch_args=`pm_make -f/usr/share/mk/bsd.port.mk -V FETCH_ARGS`;
-		export fetch_args; }
+	if [ -z "$FETCH_ARGS" ]; then
+		FETCH_ARGS=`pm_make -f/usr/share/mk/bsd.port.mk -V FETCH_ARGS 2>/dev/null`
+		[ -n "$FETCH_ARGS" ] || FETCH_ARGS='-ApRr'
+		export FETCH_ARGS
+	fi
 
 	if [ -z "$PM_ALWAYS_FETCH" ]; then
 		if [ -r "${ppd}/${1}.tbz" ]; then
@@ -2801,9 +2820,9 @@ fetch_package () {
 			fi
 		fi
 
-		fetch $fetch_args -o $ppd ${sitepath}${1}.tbz 2>/dev/null || {
+		fetch $FETCH_ARGS -o $ppd ${sitepath}${1}.tbz 2>/dev/null || {
 			pm_unlink_s ${ppd}/${1}.tbz;
-			fetch $fetch_args -o $ppd ${sitepath}${1}.tbz 2>/dev/null; }
+			fetch $FETCH_ARGS -o $ppd ${sitepath}${1}.tbz 2>/dev/null; }
 	fi
 }
 	if [ -z "$PACKAGESITE" ]; then
@@ -3175,9 +3194,9 @@ if [ -n "$MAKE_PACKAGE" ]; then
 		echo "===>>> Creating a package for new version $new_port"
 		pm_make_s package >/dev/null ||
 			fail "Package creation of $new_port failed"
-		echo "	===>>> Package saved to $packages/All" ; echo ''
+		echo "	===>>> Package saved to $PACKAGES/All" ; echo ''
 	else
-		pm_pkg_create $packages $new_port
+		pm_pkg_create $PACKAGES $new_port
 	fi
 fi
 


More information about the svn-src-user mailing list