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 1PnoqU-00059J-LD for garchives@archives.gentoo.org; Fri, 11 Feb 2011 08:59:18 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CAF611C00E; Fri, 11 Feb 2011 08:59:10 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 861051C00E for ; Fri, 11 Feb 2011 08:59:10 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id CEC0E1B4142 for ; Fri, 11 Feb 2011 08:59:09 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id EBC198006A for ; Fri, 11 Feb 2011 08:59:08 +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/depgraph.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: e4bcbdace3e0c28c39fdc9a92da38b21611638bf Date: Fri, 11 Feb 2011 08:59:08 +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: 9e7881d862df14814cd508c7341fbe7e commit: e4bcbdace3e0c28c39fdc9a92da38b21611638bf Author: Zac Medico gentoo org> AuthorDate: Fri Feb 11 08:57:11 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Fri Feb 11 08:57:11 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3De4bcbdac depgraph: avoid reinstall of identical binpkg This will fix bug #354441. --- pym/_emerge/depgraph.py | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 245e38e..0cfd113 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -3006,6 +3006,7 @@ class depgraph(object): existing_node =3D None myeb =3D None rebuilt_binaries =3D 'rebuilt_binaries' in self._dynamic_config.mypara= ms + usepkg =3D "--usepkg" in self._frozen_config.myopts usepkgonly =3D "--usepkgonly" in self._frozen_config.myopts empty =3D "empty" in self._dynamic_config.myparams selective =3D "selective" in self._dynamic_config.myparams @@ -3117,6 +3118,20 @@ class depgraph(object): # to a KEYWORDS mask. See bug #252167. =20 if pkg.type_name !=3D "ebuild" and matched_packages: + # Don't re-install a binary package that is + # identical to the currently installed package + # (see bug #354441). + identical_binary =3D False + if usepkg and pkg.installed: + for selected_pkg in matched_packages: + if selected_pkg.type_name =3D=3D "binary" and \ + selected_pkg.cpv =3D=3D pkg.cpv and \ + selected_pkg.metadata.get('BUILD_TIME') =3D=3D \ + pkg.metadata.get('BUILD_TIME'): + identical_binary =3D True + break + + if not identical_binary: # If the ebuild no longer exists or it's # keywords have been dropped, reject built # instances (installed or binary).