From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1R6Ycp-0006GA-Iv for garchives@archives.gentoo.org; Thu, 22 Sep 2011 02:02:55 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3545821C0E9 for ; Thu, 22 Sep 2011 02:02:55 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 405E021C073 for ; Thu, 22 Sep 2011 01:59:43 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 9746F1B4006 for ; Thu, 22 Sep 2011 01:59:42 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id DF22880042 for ; Thu, 22 Sep 2011 01:59:41 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <8111f07162a14674484fa3bbb21550cb927818ad.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/depgraph.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 8111f07162a14674484fa3bbb21550cb927818ad Date: Thu, 22 Sep 2011 01:59:41 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 22661391e441a41b3a8c6266fb9ec02a commit: 8111f07162a14674484fa3bbb21550cb927818ad Author: Sebastian Luther gmx de> AuthorDate: Thu Sep 22 01:59:17 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Thu Sep 22 01:59:17 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D8111f071 Warn about ignored binary packages with non matching USE --- pym/_emerge/depgraph.py | 47 +++++++++++++++++++++++++++++++++++++++++= +++--- 1 files changed, 44 insertions(+), 3 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 8121f68..b10efd6 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -389,6 +389,11 @@ class _dynamic_depgraph_config(object): self._ignored_deps =3D [] self._highest_pkg_cache =3D {} =20 + # Binary packages that have been rejected because their USE + # didn't match the user's config. It maps packages to a set + # of flags causing the rejection. + self.ignored_binaries =3D {} + self._needed_unstable_keywords =3D backtrack_parameters.needed_unstabl= e_keywords self._needed_p_mask_changes =3D backtrack_parameters.needed_p_mask_cha= nges self._needed_license_changes =3D backtrack_parameters.needed_license_c= hanges @@ -540,6 +545,38 @@ class depgraph(object): if self._frozen_config.spinner: self._frozen_config.spinner.update() =20 + def _show_ignored_binaries(self): + """ + Show binaries that have been ignored becaue their USE didn't + match the user's config. + """ + if not self._dynamic_config.ignored_binaries \ + or '--quiet' in self._frozen_config.myopts: + return + + self._show_merge_list() + + writemsg("\n!!! The following binary packages have been ignored " + \ + "due to non matching USE:\n\n", noiselevel=3D-1) + + for pkg, flags in self._dynamic_config.ignored_binaries.items(): + writemsg(" =3D%s" % pkg.cpv, noiselevel=3D-1) + if pkg.root !=3D '/': + writemsg(" for %s" % (pkg.root,), noiselevel=3D-1) + writemsg("\n use flag(s): %s\n" % ", ".join(sorted(flags)), + noiselevel=3D-1) + + msg =3D [ + "", + "NOTE: The --binpkg-respect-use=3Dn option will prevent emerge", + " from ignoring these binary packages if possible." + ] + + for line in msg: + if line: + line =3D colorize("INFORM", line) + writemsg_stdout(line + "\n", noiselevel=3D-1) + def _show_missed_update(self): =20 # In order to minimize noise, show only the highest @@ -3942,9 +3979,11 @@ class depgraph(object): cur_iuse =3D iuses if myeb and not usepkgonly and not useoldpkg: cur_iuse =3D myeb.iuse.all - if self._reinstall_for_flags(forced_flags, - old_use, iuses, - now_use, cur_iuse): + reinstall_for_flags =3D self._reinstall_for_flags(forced_flags, + old_use, iuses, now_use, cur_iuse) + if reinstall_for_flags: + if not pkg.installed: + self._dynamic_config.ignored_binaries.setdefault(pkg, set()).upd= ate(reinstall_for_flags) break # Compare current config to installed package # and do not reinstall if possible. @@ -6125,6 +6164,8 @@ class depgraph(object): else: self._show_missed_update() =20 + self._show_ignored_binaries() + self._display_autounmask() =20 # TODO: Add generic support for "set problem" handlers so that