Fix package.py to account for PORTDIR being a symbolic link when checking if a packag...
authorfuzzyray <fuzzyray@gentoo.org>
Fri, 9 Jan 2009 04:20:48 +0000 (04:20 -0000)
committerfuzzyray <fuzzyray@gentoo.org>
Fri, 9 Jan 2009 04:20:48 +0000 (04:20 -0000)
svn path=/; revision=537

trunk/ChangeLog
trunk/src/gentoolkit/package.py

index f9605ad8c6eee4194b10263d2cd9d095bfe3c9cf..42415d4b417e2f630c5e0fe486c97dd46cce2bd3 100644 (file)
@@ -1,3 +1,7 @@
+2009-01-08: Paul Varner <fuzzyray@gentoo.org>
+       * equery: Fix package.py to account for PORTDIR being a symbolic link
+       when checking if a package is in an overlay. (Bug #253968)
+
 2008-11-25: Paul Varner <fuzzyray@gentoo.org>
        * revdep-rebuild: Fixes for non-linux Gentoo systems. Add patch from
        igli to fix find command to comply with POSIX. Change awk calls to
index 33198606fb733ac734c0128437d8a92f81b75ac2..6f525adb8822d6da936066184eb5d00378e7a61a 100644 (file)
@@ -7,6 +7,7 @@
 #
 # $Header$
 
+import os
 from errors import FatalError
 import portage
 from gentoolkit import *
@@ -25,6 +26,9 @@ class Package:
                self._db = None
                self._settings = settings
                self._settingslock = settingslock
+               self._portdir_path = settings["PORTDIR"]
+               if os.path.islink(self._portdir_path):
+                       self._portdir_path = os.path.join(os.path.dirname(self._portdir_path), os.readlink(self._portdir_path))
 
        def get_name(self):
                """Returns base name of package, no category nor version"""
@@ -151,7 +155,7 @@ class Package:
        def is_overlay(self):
                """Returns true if the package is in an overlay."""
                dir,ovl = portage.portdb.findname2(self._cpv)
-               return ovl != settings["PORTDIR"]
+               return ovl != self._portdir_path
 
        def is_masked(self):
                """Returns true if this package is masked against installation. Note: We blindly assume that