From owner-svn-ports-all@freebsd.org Wed Jan 17 22:43:26 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0216DEBD044; Wed, 17 Jan 2018 22:43:26 +0000 (UTC) (envelope-from se@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D24DB2D81; Wed, 17 Jan 2018 22:43:25 +0000 (UTC) (envelope-from se@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 37F3615B7E; Wed, 17 Jan 2018 22:43:25 +0000 (UTC) (envelope-from se@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w0HMhOJm023022; Wed, 17 Jan 2018 22:43:24 GMT (envelope-from se@FreeBSD.org) Received: (from se@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w0HMhOVV023020; Wed, 17 Jan 2018 22:43:24 GMT (envelope-from se@FreeBSD.org) Message-Id: <201801172243.w0HMhOVV023020@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: se set sender to se@FreeBSD.org using -f From: Stefan Esser Date: Wed, 17 Jan 2018 22:43:24 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r459294 - in head/ports-mgmt/portmaster: . files X-SVN-Group: ports-head X-SVN-Commit-Author: se X-SVN-Commit-Paths: in head/ports-mgmt/portmaster: . files X-SVN-Commit-Revision: 459294 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jan 2018 22:43:26 -0000 Author: se Date: Wed Jan 17 22:43:24 2018 New Revision: 459294 URL: https://svnweb.freebsd.org/changeset/ports/459294 Log: Fix previous commit (r459202) which introduced dependencies that specify an optional make target. The patch file contained 2 typoes ("{$" instead of "${"). Add clean phase for dependencies that are not installed but required when the dependent port is built (e.g. because of references to source files of that port, or because of static linking against libraries in the stage area of such a dependency). 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 Wed Jan 17 22:35:49 2018 (r459293) +++ head/ports-mgmt/portmaster/Makefile Wed Jan 17 22:43:24 2018 (r459294) @@ -2,7 +2,7 @@ PORTNAME= portmaster PORTVERSION= 3.19 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= ports-mgmt MAINTAINER= se@FreeBSD.org @@ -29,7 +29,7 @@ verify: checksum do-build: .for file in portmaster files/portmaster.rc.sample files/portmaster.8 - ${REINPLACE_CMD} -e 's#/usr/local#${LOCALBASE}#g' \ + @${REINPLACE_CMD} -e 's#/usr/local#${LOCALBASE}#g' \ -e 's#===>>> Version [0-9._]*#===>>> Version ${PKGVERSION}#' ${WRKSRC}/${file} .endfor Modified: head/ports-mgmt/portmaster/files/patch-portmaster ============================================================================== --- head/ports-mgmt/portmaster/files/patch-portmaster Wed Jan 17 22:35:49 2018 (r459293) +++ head/ports-mgmt/portmaster/files/patch-portmaster Wed Jan 17 22:43:24 2018 (r459294) @@ -15,8 +15,8 @@ -flavor_part () { expr "$1" : ".*@" >/dev/null && echo "${1#*@}"; } -dir_part () { echo "${1%%@*}"; } -+target_part () { [ -z "{$1##*:*}" ] && echo "${1#*:}" || echo install; } -+flavor_part () { local tmp="${1%%:*}"; [ -z "{$tmp##*@*}" ] && echo "${tmp#*@}"; } ++target_part () { [ -z "${1##*:*}" ] && echo "${1#*:}" || echo install; } ++flavor_part () { local tmp="${1%%:*}"; [ -z "${tmp##*@*}" ] && echo "${tmp#*@}"; } +dir_part () { local tmp="${1%%:*}"; echo "${tmp%%@*}"; } export_flavor () { local flavor="$1"; if [ "$FLAVOR" != "$flavor" ]; then pm_v "===>>> Setting FLAVOR to '$flavor' (was '$FLAVOR')"; @@ -99,21 +99,25 @@ fi for glob in $conflicts; do confl_p=`pkg query -g "%n-%v" $glob 2>/dev/null` -@@ -2498,7 +2499,8 @@ dependency_check () { +@@ -2498,7 +2499,11 @@ dependency_check () { check_for_updates $iport $origin || fail 'Update failed' else check_interactive $origin || continue - update_port $origin -+ [ "$make_target" = "install" ] && make_target="" -+ update_port $origin${make_target:+:$make_target} ++ if [ "$make_target" != "install" ]; then ++ [ -z "$PM_FIRST_PASS" ] && post_clean_l="$post_clean_l $origin" ++ origin="$origin:$make_target" ++ fi ++ update_port "$origin" fi done [ -n "$PM_FIRST_PASS" ] && unset doing_dep_check -@@ -3029,8 +3031,11 @@ no_valid_port () { +@@ -3029,8 +3034,12 @@ no_valid_port () { echo "===>>> Try $progname --help" ; echo '' ; safe_exit 1 } +make_target=$(target_part "$1") ++post_clean_l="" + # Figure out what we are going to be working on if [ -z "$REPLACE_ORIGIN" ]; then @@ -121,7 +125,7 @@ export_flavor $(flavor_part $portdir) [ -n "$portdir" ] && { argv=$portdir ; unset portdir; } argv=${argv:-$1} ; argv=${argv%/} ; argv=`globstrip $argv` -@@ -3061,6 +3066,8 @@ if [ -z "$REPLACE_ORIGIN" ]; then +@@ -3061,6 +3070,8 @@ if [ -z "$REPLACE_ORIGIN" ]; then unset glob_dirs fi unset argv @@ -130,7 +134,7 @@ else portdir="${1#$pd/}" ; portdir="${portdir%/}" export_flavor=$(flavor_part $portdir) -@@ -3234,6 +3241,9 @@ elif [ -n "$FETCH_ONLY" -a -n "$PM_PACKAGES" ]; then +@@ -3234,6 +3245,9 @@ elif [ -n "$FETCH_ONLY" -a -n "$PM_PACKAGES" ]; then update_pm_nu $portdir fi @@ -140,7 +144,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 +3649,18 @@ pkg_flavor () { +@@ -3639,12 +3653,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 @@ -159,3 +163,18 @@ else [ -z "$local_package" ] && { fetch_package $latest_pv || fail "Fetch for ${latest_pv}.txz failed"; } +@@ -3876,9 +3896,12 @@ if [ -n "$MAKE_PACKAGE" ]; then + fi + + if [ -z "$use_package" -a -z "$DONT_POST_CLEAN" ]; then +-# export_flavor $(flavor_part $portdir) ++ for dir in $post_clean_l; do ++ pm_v "===>>> Running 'make clean' for special build dependency $dir" ++ (FLAVOR=$(flavor_part $portdir) pm_make_s -C "$pd/$dir" clean NOCLEANDEPENDS=ncd2 >/dev/null)& ++ done + pm_v "===>>> Running 'make clean' in the background" +- (pm_make_s clean NOCLEANDEPENDS=ncd2 >/dev/null)& ++ (FLAVOR=$(flavor_part $portdir) pm_make_s clean NOCLEANDEPENDS=ncd2 >/dev/null)& + pm_v + fi + if [ -n "$ro_opd" ]; then