Fix pm_islocked function, which could lead to a spurious error message if

used for a port that is not found in the package database.

Reported by:	Tatsuki Makino <tatsuki_makino@hotmail.com>
Approved by:	antoine (implicit)
This commit is contained in:
Stefan Eßer 2018-01-03 11:10:33 +00:00
parent 43b199dc2d
commit 910a40dd86
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=457952
2 changed files with 25 additions and 13 deletions

View file

@ -2,7 +2,7 @@
PORTNAME= portmaster PORTNAME= portmaster
PORTVERSION= 3.18 PORTVERSION= 3.18
PORTREVISION= 6 PORTREVISION= 7
CATEGORIES= ports-mgmt CATEGORIES= ports-mgmt
MAINTAINER= se@FreeBSD.org MAINTAINER= se@FreeBSD.org

View file

@ -27,7 +27,19 @@
*'make -DBATCH checksum'*|*'/fetch '*|\[sh\]) pm_kill $pid ;; *'make -DBATCH checksum'*|*'/fetch '*|\[sh\]) pm_kill $pid ;;
esac ;; esac ;;
esac esac
@@ -412,7 +411,7 @@ usage () { @@ -333,9 +332,8 @@ pm_mktemp () {
fail "mktemp for $1 failed:\n ${pm_mktemp_file#mktemp: }"
}
pm_unlink () { [ -e "$1" ] && /bin/unlink $1; }
-pm_islocked () { [ -n "$1" ] || return 1;
- [ -e "$pdb/$1/+IGNOREME" ] && pkg info -e "$1" ||
- [ `pkg query %k "$1"` -eq "1" ]; }
+pm_islocked () { local locked; [ -n "$1" ] && locked=`pkg query %k "$1"` &&
+ [ "$locked" = 1 -o -e "$pdb/$1/+IGNOREME" ]; }
# Superuser versions for commands that need root privileges
@@ -412,7 +410,7 @@ usage () {
echo " [[[--packages|-P]|[--packages-only|-PP]] | [--packages-build]]" echo " [[[--packages|-P]|[--packages-only|-PP]] | [--packages-build]]"
echo " [--packages-if-newer] [--delete-build-only] [--always-fetch]" echo " [--packages-if-newer] [--delete-build-only] [--always-fetch]"
echo " [--local-packagedir=<path>] [--packages-local] [--delete-packages]" echo " [--local-packagedir=<path>] [--packages-local] [--delete-packages]"
@ -36,7 +48,7 @@
echo " [--index|--index-first|--index-only] [-m <arguments for make>]" echo " [--index|--index-first|--index-only] [-m <arguments for make>]"
echo " [-x <glob pattern to exclude from building>]" echo " [-x <glob pattern to exclude from building>]"
echo "$progname [Common flags] <full name of port directory in $pdb>" echo "$progname [Common flags] <full name of port directory in $pdb>"
@@ -653,6 +652,10 @@ for var in "$@" ; do @@ -653,6 +651,10 @@ for var in "$@" ; do
export LOCAL_PACKAGEDIR ;; export LOCAL_PACKAGEDIR ;;
--delete-packages) PM_DELETE_PACKAGES=pm_delete_packages --delete-packages) PM_DELETE_PACKAGES=pm_delete_packages
export PM_DELETE_PACKAGES ;; export PM_DELETE_PACKAGES ;;
@ -47,7 +59,7 @@
# --flavor=*) PM_FLAVOR=${var#--flavor=} ;; # --flavor=*) PM_FLAVOR=${var#--flavor=} ;;
--update-if-newer) PM_UPDATE_IF_NEWER=pm_update_if_newer --update-if-newer) PM_UPDATE_IF_NEWER=pm_update_if_newer
export PM_UPDATE_IF_NEWER ;; export PM_UPDATE_IF_NEWER ;;
@@ -1589,25 +1592,30 @@ init_packages () { @@ -1589,25 +1591,30 @@ init_packages () {
} }
pm_pkg_create () { pm_pkg_create () {
@ -80,7 +92,7 @@
if [ "$1" = "$pbu" ]; then if [ "$1" = "$pbu" ]; then
if [ -n "$BACKUP" ]; then if [ -n "$BACKUP" ]; then
echo " ===>>> Package saved to $1" ; echo '' echo " ===>>> Package saved to $1" ; echo ''
@@ -1616,15 +1624,14 @@ pm_pkg_create () { @@ -1616,15 +1623,14 @@ pm_pkg_create () {
NB_DELETE="${NB_DELETE}${pkg} " NB_DELETE="${NB_DELETE}${pkg} "
fi fi
elif [ "$1" = "$PACKAGES" ]; then elif [ "$1" = "$PACKAGES" ]; then
@ -100,7 +112,7 @@
fi fi
cd ${1}/${portdir%/*} cd ${1}/${portdir%/*}
@@ -1665,7 +1672,7 @@ find_dl_distfiles () { @@ -1665,7 +1671,7 @@ find_dl_distfiles () {
else else
# Old method, for now # Old method, for now
if pm_cd $pd/$1; then if pm_cd $pd/$1; then
@ -109,7 +121,7 @@
dist_list="${dist_list%options}distfiles" dist_list="${dist_list%options}distfiles"
else else
# The port might have moved, etc.; so take a stab at it, # The port might have moved, etc.; so take a stab at it,
@@ -1803,6 +1810,7 @@ set_distfiles_and_subdir () { @@ -1803,6 +1809,7 @@ set_distfiles_and_subdir () {
} }
delete_stale_distfiles () { delete_stale_distfiles () {
@ -117,7 +129,7 @@
# Global: distfiles_checked # Global: distfiles_checked
local file answer local file answer
@@ -1849,6 +1857,7 @@ delete_stale_distfiles () { @@ -1849,6 +1856,7 @@ delete_stale_distfiles () {
} }
delete_all_distfiles () { delete_all_distfiles () {
@ -125,7 +137,7 @@
# Global: delete_all DISTDIR # Global: delete_all DISTDIR
local origin rc delete_current local origin rc delete_current
@@ -2264,12 +2273,14 @@ make_dep_list () { @@ -2264,12 +2272,14 @@ make_dep_list () {
for dep_type in $*; do for dep_type in $*; do
case $dep_type in case $dep_type in
@ -145,7 +157,7 @@
*) *)
fail "make_dep_list: Unsupported option '$dep_type'" fail "make_dep_list: Unsupported option '$dep_type'"
esac esac
@@ -3302,7 +3313,7 @@ pm_cd_pd $portdir @@ -3302,7 +3312,7 @@ pm_cd_pd $portdir
if [ -n "$PM_BUILD_ONLY_LIST" ]; then if [ -n "$PM_BUILD_ONLY_LIST" ]; then
case "$build_only_dl_g" in case "$build_only_dl_g" in
@ -154,7 +166,7 @@
[ -n "$PM_PACKAGES_BUILD" ] && PM_PACKAGES_BUILD=doing_build_only_dep [ -n "$PM_PACKAGES_BUILD" ] && PM_PACKAGES_BUILD=doing_build_only_dep
[ -n "$PM_DEL_BUILD_ONLY" ] && PM_DEL_BUILD_ONLY=doing_build_only_dep ;; [ -n "$PM_DEL_BUILD_ONLY" ] && PM_DEL_BUILD_ONLY=doing_build_only_dep ;;
*) [ -n "$PM_PACKAGES_BUILD" ] && PM_PACKAGES_BUILD=pmp_build *) [ -n "$PM_PACKAGES_BUILD" ] && PM_PACKAGES_BUILD=pmp_build
@@ -3402,31 +3413,19 @@ fetch_package () { @@ -3402,31 +3412,19 @@ fetch_package () {
} }
if [ -z "$PACKAGESITE" -a -z "$PM_PACKAGES_LOCAL" ]; then if [ -z "$PACKAGESITE" -a -z "$PM_PACKAGES_LOCAL" ]; then
release=`uname -r` release=`uname -r`
@ -191,7 +203,7 @@
echo "===>>> Checking package repository for latest available version" echo "===>>> Checking package repository for latest available version"
@@ -3437,11 +3436,12 @@ fetch_package () { @@ -3437,11 +3435,12 @@ fetch_package () {
latest_pv=${local_package##*/} latest_pv=${local_package##*/}
fi fi
if [ -z "$latest_pv" -a -z "$PM_INDEX_ONLY" ]; then if [ -z "$latest_pv" -a -z "$PM_INDEX_ONLY" ]; then
@ -209,7 +221,7 @@
latest_pv=${latest_pv##*/} latest_pv=${latest_pv##*/}
else else
pm_v "===>>> No local package for ${new_port}, attempting fetch" pm_v "===>>> No local package for ${new_port}, attempting fetch"
@@ -3850,7 +3850,7 @@ fi @@ -3850,7 +3849,7 @@ fi
if [ -n "$MAKE_PACKAGE" ]; then if [ -n "$MAKE_PACKAGE" ]; then
if [ -z "$use_package" ]; then if [ -z "$use_package" ]; then
echo "===>>> Creating a package for new version $new_port" echo "===>>> Creating a package for new version $new_port"