diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2017-12-30 17:23:21 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2017-12-30 17:23:21 +0000 |
commit | b0416b85570a5d30e12c4f7ebb45aa26657d3088 (patch) | |
tree | 63b8e80304d2c4bbb2a58e02289a97414312aea0 | |
parent | crossdev: drop CROSSCOMPILE_OPTS="bootstrap" (diff) | |
download | crossdev-b0416b85570a5d30e12c4f7ebb45aa26657d3088.tar.gz crossdev-b0416b85570a5d30e12c4f7ebb45aa26657d3088.tar.bz2 crossdev-b0416b85570a5d30e12c4f7ebb45aa26657d3088.zip |
crossdev: allow set_eopts_on_pkg_status() to accept multiple USE flags
The semantics is "any-of" passed flags (if enabled) triggers full package
rebuild.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-rwxr-xr-x | crossdev | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -1219,11 +1219,22 @@ emerged_with_use() { local pkg=$1 use=$2 grep -qs ${use} "${EPREFIX}"/var/db/pkg/cross-${CTARGET}/${pkg}-*/USE } -# Force package rebuild if USE-flag is set otherwise install package only if flag is missing. +# Force package rebuild if any of passed USE-flag is set otherwise install package only if flag is missing. +# $1 - pkg +# $2... - USE flags to check set_eopts_on_pkg_status() { - emerged_with_use "$@" \ - && EOPTS=${EOPTS_DEF} \ - || EOPTS=${EOPTS_UP} + local pkg=$1 flag + shift + + for flag in "$@"; do + if emerged_with_use "${pkg}" "${flag}"; then + # Force rebuild + EOPTS=${EOPTS_DEF} + return + fi + done + # Install if missing + EOPTS=${EOPTS_UP} } doemerge() { local category="cross-${CTARGET}" |