From owner-svn-ports-all@freebsd.org Sat Dec 23 16:36:52 2017 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 EB2A6E8623B; Sat, 23 Dec 2017 16:36:52 +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 mx1.freebsd.org (Postfix) with ESMTPS id C26C369B77; Sat, 23 Dec 2017 16:36:52 +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 vBNGapKD060013; Sat, 23 Dec 2017 16:36:51 GMT (envelope-from se@FreeBSD.org) Received: (from se@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vBNGapdQ060011; Sat, 23 Dec 2017 16:36:51 GMT (envelope-from se@FreeBSD.org) Message-Id: <201712231636.vBNGapdQ060011@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: se set sender to se@FreeBSD.org using -f From: Stefan Esser Date: Sat, 23 Dec 2017 16:36:51 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r457067 - 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: 457067 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: Sat, 23 Dec 2017 16:36:53 -0000 Author: se Date: Sat Dec 23 16:36:51 2017 New Revision: 457067 URL: https://svnweb.freebsd.org/changeset/ports/457067 Log: Fix installation from local or remote package including the --packages-build case. Partially based on patches supplied by Alexander Leidinger. Reported by: phk, netchild 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 Sat Dec 23 16:31:57 2017 (r457066) +++ head/ports-mgmt/portmaster/Makefile Sat Dec 23 16:36:51 2017 (r457067) @@ -2,7 +2,7 @@ PORTNAME= portmaster PORTVERSION= 3.18 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= ports-mgmt MAINTAINER= se@FreeBSD.org Modified: head/ports-mgmt/portmaster/files/patch-portmaster ============================================================================== --- head/ports-mgmt/portmaster/files/patch-portmaster Sat Dec 23 16:31:57 2017 (r457066) +++ head/ports-mgmt/portmaster/files/patch-portmaster Sat Dec 23 16:36:51 2017 (r457067) @@ -1,7 +1,43 @@ --- portmaster.orig 2017-12-21 09:02:44 UTC +++ portmaster -@@ -2264,12 +2264,14 @@ make_dep_list () { +@@ -1616,15 +1616,14 @@ pm_pkg_create () { + NB_DELETE="${NB_DELETE}${pkg} " + fi + elif [ "$1" = "$PACKAGES" ]; then +- local pkg ; pkg=`echo $2.*` ++ local pkg ; pkg=$2.txz + if [ -z "$PM_INDEX_ONLY" ]; then +- local latest_link ++ local pkg_latest_file + + pm_cd_pd $portdir +- latest_link=`pm_make -V LATEST_LINK` +- cd ${1}/Latest +- $PM_SU_CMD ln -sf ../All/$pkg ${latest_link}.txz ++ pkg_latest_file=`pm_make -V PKGLATESTFILE` ++ $PM_SU_CMD install -lr $1/All/$pkg ${pkg_latest_file} + fi + + cd ${1}/${portdir%/*} +@@ -1803,6 +1802,7 @@ set_distfiles_and_subdir () { + } + + delete_stale_distfiles () { ++ [ -n "$DISTDIR" ] || return # DISTDIR not set because of PM_PACKAGES + # Global: distfiles_checked + local file answer + +@@ -1849,6 +1849,7 @@ delete_stale_distfiles () { + } + + delete_all_distfiles () { ++ [ -n "$DISTDIR" ] || return # DISTDIR not set because of PM_PACKAGES + # Global: delete_all DISTDIR + local origin rc delete_current + +@@ -2264,12 +2265,14 @@ make_dep_list () { + for dep_type in $*; do case $dep_type in - all-depends-list) @@ -20,3 +56,67 @@ *) fail "make_dep_list: Unsupported option '$dep_type'" esac +@@ -3302,7 +3305,7 @@ pm_cd_pd $portdir + + if [ -n "$PM_BUILD_ONLY_LIST" ]; then + case "$build_only_dl_g" in +- *" $pd/$portdir "*) ++ *" $pd/$portdir "*|*" $portdir "*) + [ -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_PACKAGES_BUILD" ] && PM_PACKAGES_BUILD=pmp_build +@@ -3402,31 +3405,19 @@ fetch_package () { + } + if [ -z "$PACKAGESITE" -a -z "$PM_PACKAGES_LOCAL" ]; then + release=`uname -r` ++ major_rel=${release%.*} ++ arch=`uname -p` + +- case "$release" in +- [789]\.[0-9]-STABLE|[789]\.[0-9]-PRERELEASE) +- release=packages-${release%%\.*}-stable ;; +- [789]\.[0-9]-RELEASE*) +- release=packages-${release%-RELEASE*}-release ;; +- 9\.0-CURRENT*) release=packages-9-current ;; +- 10\.0-CURRENT*) release=packages-10-current ;; +- 11\.0-CURRENT*) release=packages-11-current ;; +- 12\.0-CURRENT*) release=packages-12-current ;; +- *RC[0-9]*) release=${release%-RC[0-9]*} +- release=packages-${release}-release ;; +- *BETA[0-9]*) release=${release%-BETA[0-9]*} +- release=packages-${release}-release ;; +- esac + +- sitepath="${PACKAGEROOT:-"http://ftp.freebsd.org"}/pub/FreeBSD/ports/`uname -p`/${release}/" +- unset release ++ sitepath="${PACKAGEROOT:-"http://pkg.freebsd.org"}/FreeBSD:$major_rel:$arch/latest/All/" ++ unset release major_rel arch + else + sitepath="${PACKAGESITE%/}" + sitepath="${sitepath%Latest}" + sitepath="${sitepath%All}" + fi + +- sitepath="${sitepath%/}/${portdir%/*}/" ++# sitepath="${sitepath%/}/${portdir%/*}/" # may be required for local packages + + echo "===>>> Checking package repository for latest available version" + +@@ -3437,11 +3428,12 @@ fetch_package () { + latest_pv=${local_package##*/} + fi + if [ -z "$latest_pv" -a -z "$PM_INDEX_ONLY" ]; then +- s=`pm_make -V LATEST_LINK` +- echo "===>>> ... checking: ${LOCAL_PACKAGEDIR}/Latest/${s}.txz" +- if [ -r "${LOCAL_PACKAGEDIR}/Latest/${s}.txz" ]; then +- local_package=${LOCAL_PACKAGEDIR}/Latest/${s}.txz +- latest_pv=`readlink ${LOCAL_PACKAGEDIR}/Latest/${s}.txz` ++ s=`pm_make -V PKGLATESTFILE` ++ ++ echo "===>>> ... checking: ${s}" ++ if [ -r "${s}" ]; then ++ local_package=${s} ++ latest_pv=`readlink ${s}` + latest_pv=${latest_pv##*/} + else + pm_v "===>>> No local package for ${new_port}, attempting fetch"