From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-994068-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 208831381F3
	for <garchives@archives.gentoo.org>; Sat, 30 Dec 2017 17:41:25 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 870BCE08A4;
	Sat, 30 Dec 2017 17:41:24 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 65106E08A4
	for <gentoo-commits@lists.gentoo.org>; Sat, 30 Dec 2017 17:41:24 +0000 (UTC)
Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 5AB24335C32
	for <gentoo-commits@lists.gentoo.org>; Sat, 30 Dec 2017 17:41:23 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id EA5FE145
	for <gentoo-commits@lists.gentoo.org>; Sat, 30 Dec 2017 17:41:21 +0000 (UTC)
From: "Sergei Trofimovich" <slyfox@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Sergei Trofimovich" <slyfox@gentoo.org>
Message-ID: <1514654601.b0416b85570a5d30e12c4f7ebb45aa26657d3088.slyfox@gentoo>
Subject: [gentoo-commits] proj/crossdev:master commit in: /
X-VCS-Repository: proj/crossdev
X-VCS-Files: crossdev
X-VCS-Directories: /
X-VCS-Committer: slyfox
X-VCS-Committer-Name: Sergei Trofimovich
X-VCS-Revision: b0416b85570a5d30e12c4f7ebb45aa26657d3088
X-VCS-Branch: master
Date: Sat, 30 Dec 2017 17:41:21 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Archives-Salt: bcae9c0b-b63f-45f1-b75e-5f1c5ba91a86
X-Archives-Hash: 11b7f34f20baf11e17b2847c1670013a

commit:     b0416b85570a5d30e12c4f7ebb45aa26657d3088
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 30 17:23:21 2017 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Dec 30 17:23:21 2017 +0000
URL:        https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=b0416b85

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 <AT> gentoo.org>

 crossdev | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/crossdev b/crossdev
index f7d2fdc..d546dbe 100755
--- a/crossdev
+++ b/crossdev
@@ -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}"