From f4d0c96ff5510f0b70219fb634d354b694741891 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 12 Oct 2011 17:30:00 -0400 Subject: cross-emerge: optimize/fix portageq usage Only execute portageq once to speed things up, and only remove the variables we are looking up from the env. Using the -i flag makes portage very unhappy when $PATH goes missing. Signed-off-by: Mike Frysinger --- wrappers/cross-emerge | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'wrappers/cross-emerge') diff --git a/wrappers/cross-emerge b/wrappers/cross-emerge index 85f847d..7af770b 100755 --- a/wrappers/cross-emerge +++ b/wrappers/cross-emerge @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2008-2010 Gentoo Foundation +# Copyright 2008-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 if [ -z "${CHOST}" ] ; then @@ -20,10 +20,14 @@ fi # Portage defaults CBUILD to CHOST, so we have to remove CHOST # from the env to get a "good" value for CBUILD -: ${CBUILD=$(env -i portageq envvar CBUILD)} -: ${BUILD_CFLAGS=$(env -i portageq envvar CFLAGS)} -: ${BUILD_CXXFLAGS=$(env -i portageq envvar CXXFLAGS)} -: ${BUILD_CPPFLAGS=$(env -i portageq envvar CPPFLAGS)} +query_vars="CBUILD CFLAGS CXXFLAGS CPPFLAGS" +clean_vars="${query_vars} CHOST SYSROOT PORTAGE_CONFIGROOT" +eval $(env $(printf -- '-u %s ' ${clean_vars}) \ + portageq envvar -v ${query_vars} | sed s:^:_E_:) +: ${CBUILD=${_E_CBUILD}} +: ${BUILD_CFLAGS=${_E_CFLAGS}} +: ${BUILD_CXXFLAGS=${_E_CXXFLAGS}} +: ${BUILD_CPPFLAGS=${_E_CPPFLAGS}} export CBUILD BUILD_CFLAGS BUILD_CXXFLAGS BUILD_CPPFLAGS FAKEROOT= -- cgit v1.2.3-65-gdbad