diff options
author | 2011-10-12 17:30:00 -0400 | |
---|---|---|
committer | 2011-10-12 17:32:13 -0400 | |
commit | f4d0c96ff5510f0b70219fb634d354b694741891 (patch) | |
tree | 98f1af42c627f0f64c1696ac652659970f4ba8bf /wrappers/cross-emerge | |
parent | crossdev: only setup multilib env if requested (diff) | |
download | crossdev-f4d0c96ff5510f0b70219fb634d354b694741891.tar.gz crossdev-f4d0c96ff5510f0b70219fb634d354b694741891.tar.bz2 crossdev-f4d0c96ff5510f0b70219fb634d354b694741891.zip |
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 <vapier@gentoo.org>
Diffstat (limited to 'wrappers/cross-emerge')
-rwxr-xr-x | wrappers/cross-emerge | 14 |
1 files changed, 9 insertions, 5 deletions
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= |