svn commit: r460294 - in head/ports-mgmt/portmaster: . files

Stefan Esser se at FreeBSD.org
Mon Jan 29 12:22:05 UTC 2018


Author: se
Date: Mon Jan 29 12:22:04 2018
New Revision: 460294
URL: https://svnweb.freebsd.org/changeset/ports/460294

Log:
  Fix a problem that could result in de-installation of a port that shares
  a prefix of the package name with a new port to be installed. The cause of
  this bug was that a pattern was applied without anchor at the end.
  
  Testing revealed that "pkg info -x" ignores an anchor at the end of the
  pattern (which might be a bug in pkg), therefore the output of the query
  is now additionally filtered with egrep to obtain the desired result.
  
  PR:		225496
  Reported by:	Martin Birgmeier
  Approved by:	antoine (implicit)

Modified:
  head/ports-mgmt/portmaster/Makefile
  head/ports-mgmt/portmaster/files/patch-portmaster

Modified: head/ports-mgmt/portmaster/Makefile
==============================================================================
--- head/ports-mgmt/portmaster/Makefile	Mon Jan 29 12:20:02 2018	(r460293)
+++ head/ports-mgmt/portmaster/Makefile	Mon Jan 29 12:22:04 2018	(r460294)
@@ -2,7 +2,7 @@
 
 PORTNAME=	portmaster
 PORTVERSION=	3.19
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	ports-mgmt
 
 MAINTAINER=	se at FreeBSD.org

Modified: head/ports-mgmt/portmaster/files/patch-portmaster
==============================================================================
--- head/ports-mgmt/portmaster/files/patch-portmaster	Mon Jan 29 12:20:02 2018	(r460293)
+++ head/ports-mgmt/portmaster/files/patch-portmaster	Mon Jan 29 12:22:04 2018	(r460294)
@@ -177,7 +177,23 @@
  else
  	portdir="${1#$pd/}" ; portdir="${portdir%/}"
  	export_flavor=$(flavor_part $portdir)
-@@ -3229,11 +3246,14 @@ if [ -n "$PM_FIRST_PASS" -a -z "$FETCH_ONLY" ]; then
+@@ -3138,12 +3155,13 @@ if [ -z "$PM_INDEX_ONLY" ] && ! pm_isdir_pd "$portdir"
+ fi
+ 
+ iport_from_pkgname () {
+-	local dir flavor pkgname
++	local dir flavor pkgname pattern
+ 
+ 	dir=$(dir_part $1)
+ 	flavor=$(flavor_part $1)
+ 	pkgname=$(FLAVOR=$flavor make -C "$pd/$dir" -V PKGNAME) || return 1
+-	pkg info -x "^${pkgname%-*}"'-[^-]*' 2>/dev/null
++	pattern="^${pkgname%-*}"'-[^-]*$'
++	pkg info -x "$pattern" 2>/dev/null | egrep -- "$pattern"
+ }
+ 
+ if [ -z "$upg_port" -a -z "$REPLACE_ORIGIN" ]; then
+@@ -3229,11 +3247,14 @@ if [ -n "$PM_FIRST_PASS" -a -z "$FETCH_ONLY" ]; then
  		fi
  	fi
  
@@ -193,7 +209,7 @@
  # Do these things first time through
  if [ -z "$PM_INDEX_ONLY" -a -z "$PM_BUILDING" -a -z "$SHOW_WORK" -a -z "$NO_ACTION" ]; then
  	# Do not start this in the background until we are sure we are going to proceed
-@@ -3639,12 +3659,18 @@ pkg_flavor () {
+@@ -3639,12 +3660,18 @@ pkg_flavor () {
  	if [ -n "$HIDE_BUILD" ] && [ -n "$(pm_make -V LICENSE)" ]; then
  		pm_make extract ask-license || fail "make extract ask-license failed for $portdir"
  	fi
@@ -212,7 +228,7 @@
  else
  	[ -z "$local_package" ] && {
  		fetch_package $latest_pv || fail "Fetch for ${latest_pv}.txz failed"; }
-@@ -3876,9 +3902,12 @@ if [ -n "$MAKE_PACKAGE" ]; then
+@@ -3876,9 +3903,12 @@ if [ -n "$MAKE_PACKAGE" ]; then
  fi
  
  if [ -z "$use_package" -a -z "$DONT_POST_CLEAN" ]; then


More information about the svn-ports-head mailing list