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 1R6aVY-0008FB-Be for garchives@archives.gentoo.org; Thu, 22 Sep 2011 04:03:32 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id ED94D21C0E1 for ; Thu, 22 Sep 2011 04:03:31 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 66C5821C139 for ; Thu, 22 Sep 2011 03:06:20 +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 E33851B401E for ; Thu, 22 Sep 2011 03:06:19 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 4529380044 for ; Thu, 22 Sep 2011 03:06:19 +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: Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/create_depgraph_params.py pym/_emerge/depgraph.py pym/_emerge/main.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: c85965f6d0493bab84d6b7a615d39678df9d53ba Date: Thu, 22 Sep 2011 03:06:19 +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: 67ca9c8b3b2ba34fbf68d2e877c7c170 commit: c85965f6d0493bab84d6b7a615d39678df9d53ba Author: Zac Medico gentoo org> AuthorDate: Thu Sep 22 03:03:03 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Thu Sep 22 03:03:03 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3Dc85965f6 Tweak automatic --binpkg-respect-use behavior. If --binpkg-respect-use is not explicitly specified, we enable the behavior automatically (like requested in bug #297549), as long as it doesn't strongly conflict with other options that have been specified. Strongly conflicting options currently include --usepkgonly and --rebuilt-binaries. --- pym/_emerge/create_depgraph_params.py | 11 +++++++++++ pym/_emerge/depgraph.py | 9 ++++++--- pym/_emerge/main.py | 9 +++++---- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/pym/_emerge/create_depgraph_params.py b/pym/_emerge/create_d= epgraph_params.py index 221c440..d94ad89 100644 --- a/pym/_emerge/create_depgraph_params.py +++ b/pym/_emerge/create_depgraph_params.py @@ -64,6 +64,17 @@ def create_depgraph_params(myopts, myaction): '--update' in myopts: myparams['rebuilt_binaries'] =3D True =20 + binpkg_respect_use =3D myopts.get('--binpkg-respect-use') + if binpkg_respect_use is not None: + myparams['binpkg_respect_use'] =3D binpkg_respect_use + elif '--usepkgonly' not in myopts and \ + myopts.get('--rebuilt-binaries') is not True: + # If --binpkg-respect-use is not explicitly specified, we enable + # the behavior automatically (like requested in bug #297549), as + # long as it doesn't strongly conflict with other options that + # have been specified. + myparams['binpkg_respect_use'] =3D 'auto' + if myopts.get("--selective") =3D=3D "n": # --selective=3Dn can be used to remove selective # behavior that may have been implied by some diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index e8d96f4..a4f6c3d 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -552,7 +552,8 @@ class depgraph(object): """ if not self._dynamic_config.ignored_binaries \ or '--quiet' in self._frozen_config.myopts \ - or "--binpkg-respect-use" in self._frozen_config.myopts: + or self._dynamic_config.myparams.get( + "binpkg_respect_use") in ("y", "n"): return =20 self._show_merge_list() @@ -796,7 +797,8 @@ class depgraph(object): """Return a set of flags that trigger reinstallation, or None if there are no such flags.""" if "--newuse" in self._frozen_config.myopts or \ - self._frozen_config.myopts.get("--binpkg-respect-use", True) =3D=3D T= rue: + self._dynamic_config.myparams.get( + "binpkg_respect_use") in ("y", "auto"): flags =3D set(orig_iuse.symmetric_difference( cur_iuse).difference(forced_flags)) flags.update(orig_iuse.intersection(orig_use).symmetric_difference( @@ -3967,7 +3969,8 @@ class depgraph(object): if built and not useoldpkg and (not installed or matched_pkgs_ignor= e_use) and \ ("--newuse" in self._frozen_config.myopts or \ "--reinstall" in self._frozen_config.myopts or \ - self._frozen_config.myopts.get("--binpkg-respect-use", True) =3D=3D= True): + (not installed and self._dynamic_config.myparams.get( + "binpkg_respect_use") in ("y", "auto"))): iuses =3D pkg.iuse.all old_use =3D self._pkg_use_enabled(pkg) if myeb: diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index d2fc0ac..f4ea36c 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -968,10 +968,11 @@ def parse_opts(tmpcmdline, silent=3DFalse): if myoptions.deselect in true_y: myoptions.deselect =3D True =20 - if myoptions.binpkg_respect_use in true_y: - myoptions.binpkg_respect_use =3D True - else: - myoptions.binpkg_respect_use =3D None + if myoptions.binpkg_respect_use is not None: + if myoptions.binpkg_respect_use in true_y: + myoptions.binpkg_respect_use =3D 'y' + else: + myoptions.binpkg_respect_use =3D 'n' =20 if myoptions.complete_graph in true_y: myoptions.complete_graph =3D True