svn commit: r207336 - user/dougb/portmaster
Doug Barton
dougb at FreeBSD.org
Wed Apr 28 18:55:46 UTC 2010
Author: dougb
Date: Wed Apr 28 18:55:46 2010
New Revision: 207336
URL: http://svn.freebsd.org/changeset/base/207336
Log:
Add error-checking to parse_index() so that if we don't find a line for
the port we return an error code.
Check for the error in the callers.
Inspiration and some code from the PR.
PR: ports/145984
Submitted by: mandree
Modified:
user/dougb/portmaster/portmaster
Modified: user/dougb/portmaster/portmaster
==============================================================================
--- user/dougb/portmaster/portmaster Wed Apr 28 18:49:45 2010 (r207335)
+++ user/dougb/portmaster/portmaster Wed Apr 28 18:55:46 2010 (r207336)
@@ -1153,7 +1153,7 @@ parse_index () {
[ -z "$pd" -a -n "$PM_INDEX_ONLY" ] && pd=/usr/ports
- line=`grep -m1 .*\|${pd}/${1}\|.* $PM_INDEX`
+ line=`grep -m1 .*\|${pd}/${1}\|.* $PM_INDEX` || return 1
case "$2" in
name) echo ${line%%|*} ;;
@@ -1205,8 +1205,12 @@ check_for_updates () {
origin=${2:-`origin_from_pdb $iport`} || return 0
if [ -n "$PM_INDEX" ]; then
- port_ver=`parse_index $origin name`
- check_pkg_version $iport $port_ver || { do_update=update_index ; }
+ if port_ver=`parse_index $origin name`; then
+ check_pkg_version $iport $port_ver ||
+ { do_update=update_index ; }
+ else
+ echo " ===>>> Warning: No INDEX entry for $origin"
+ fi
fi
if [ -d "$pd/$origin" -a -z "$do_update" -a -z "$PM_INDEX_ONLY" ]; then
@@ -1880,7 +1884,8 @@ update_build_l () {
if [ -z "$PM_INDEX_ONLY" ]; then
pm_cd $pd/$origin && new_port=`pm_make -V PKGNAME`
else
- new_port=`parse_index $origin name`
+ new_port=`parse_index $origin name` ||
+ fail "No INDEX entry for $origin"
fi
case `pkg_version -t $iport $new_port 2>/dev/null` in
@@ -2916,7 +2921,8 @@ if [ -z "$new_port" ]; then
if [ -z "$PM_INDEX_ONLY" ]; then
new_port=`pm_make -V PKGNAME`
else
- new_port=`parse_index $portdir name`
+ new_port=`parse_index $portdir name` ||
+ fail "No INDEX entry for $origin"
fi
fi
More information about the svn-src-user
mailing list