Date: Fri, 24 Jun 2016 05:03:34 +0000 (UTC) From: Bryan Drewery <bdrewery@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r417412 - head/Mk/Scripts Message-ID: <201606240503.u5O53ZlT024519@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bdrewery Date: Fri Jun 24 05:03:34 2016 New Revision: 417412 URL: https://svnweb.freebsd.org/changeset/ports/417412 Log: Add a function port_var_fetch() for fetching multiple variables from a port. This is taken from Poudriere (uncommitted) Modified: head/Mk/Scripts/functions.sh Modified: head/Mk/Scripts/functions.sh ============================================================================== --- head/Mk/Scripts/functions.sh Fri Jun 24 04:53:45 2016 (r417411) +++ head/Mk/Scripts/functions.sh Fri Jun 24 05:03:34 2016 (r417412) @@ -250,3 +250,32 @@ escape() { unescape() { echo "$1" | sed -e 's/\\//g' } + +# Fetch vars from the Makefile and set them locally. +# port_var_fetch ports-mgmt/pkg "" PKGNAME pkgname PKGBASE pkgbase ... +# the 2nd variable is for passing any wanted make arguments, such as +# DEPENDS_ARGS. +port_var_fetch() { + local origin="$1" + local make_args="$2" + local _makeflags _vars + local _portvar _var _line + + _makeflags= + _vars= + shift 2 + while [ $# -ge 2 ]; do + _portvar="$1" + _var="$2" + _makeflags="${_makeflags}${_makeflags:+ }-V${_portvar}" + _vars="${_vars}${_vars:+ }${_var}" + shift 2 + done + set -- ${_vars} + while read -r _line; do + setvar "$1" "${_line}" + shift + done <<-EOF + $(${dp_MAKE} -C "${origin}" ${make_args} ${_makeflags} || echo) + EOF +}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606240503.u5O53ZlT024519>