From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 7AA75138206 for ; Tue, 2 Jan 2018 23:04:57 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D0356E089A; Tue, 2 Jan 2018 23:04:56 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (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 AE161E089A for ; Tue, 2 Jan 2018 23:04:55 +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 AA4A1335C08 for ; Tue, 2 Jan 2018 23:04:54 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 69F6A74 for ; Tue, 2 Jan 2018 23:04:53 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1514934159.b9fc8e55f96c17aeece87387226ada1b184d2f77.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/util/_dyn_libs/ X-VCS-Repository: proj/portage X-VCS-Files: pym/portage/util/_dyn_libs/PreservedLibsRegistry.py X-VCS-Directories: pym/portage/util/_dyn_libs/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: b9fc8e55f96c17aeece87387226ada1b184d2f77 X-VCS-Branch: master Date: Tue, 2 Jan 2018 23:04:53 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 0f940d58-ca33-4dcb-b313-7ebdc37fe52c X-Archives-Hash: 3c60c6b7c1a93275b6888fdeed3dc29c commit: b9fc8e55f96c17aeece87387226ada1b184d2f77 Author: Zac Medico gentoo org> AuthorDate: Tue Jan 2 09:09:34 2018 +0000 Commit: Zac Medico gentoo org> CommitDate: Tue Jan 2 23:02:39 2018 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=b9fc8e55 PreservedLibsRegistry: fix pruneNonExisting for symlinks to other dirs (bug 642672) Fix pruneNonExisting to use the abssymlink function to detect symlinks in the registry that no longer point to a preserved library. The previous code only worked correctly for symlinks pointing to files in the same directory, which failed for packages like dev-ada/xmlada which have symlinks that point into a subdirectory. Fixes: 32d19be14e22 ("pruneNonExisting: handle eselect-opengl symlinks") Tested-by: Tupone Alfredo gentoo.org> Bug: https://bugs.gentoo.org/642672 pym/portage/util/_dyn_libs/PreservedLibsRegistry.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pym/portage/util/_dyn_libs/PreservedLibsRegistry.py b/pym/portage/util/_dyn_libs/PreservedLibsRegistry.py index a422ffefd..f83b82a31 100644 --- a/pym/portage/util/_dyn_libs/PreservedLibsRegistry.py +++ b/pym/portage/util/_dyn_libs/PreservedLibsRegistry.py @@ -12,6 +12,7 @@ try: except ImportError: import pickle +from portage import abssymlink from portage import os from portage import _encodings from portage import _os_merge @@ -227,7 +228,7 @@ class PreservedLibsRegistry(object): # removed by _remove_preserved_libs, it calls pruneNonExisting # which eliminates the irrelevant symlink from the registry here. for f, target in symlinks.items(): - if os.path.join(os.path.dirname(f), target) in hardlinks: + if abssymlink(f, target=target) in hardlinks: paths.append(f) if len(paths) > 0: