From: Zac Medico Date: Thu, 6 Jul 2006 16:40:01 +0000 (-0000) Subject: Clean up getportageversion() profile logic and fix a ValueError that occurs when... X-Git-Tag: v2.1.1~273 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=46f48080571b71a267edfb892b78cf42de74ea91;p=portage.git Clean up getportageversion() profile logic and fix a ValueError that occurs when profile is None. svn path=/main/trunk/; revision=3798 --- diff --git a/bin/emerge b/bin/emerge index 1fd46d019..b5f203cb0 100755 --- a/bin/emerge +++ b/bin/emerge @@ -311,17 +311,19 @@ def getgccversion(chost): return "[unavailable]" def getportageversion(portdir, target_root, profile, chost, vardb): - try: - import re - profilever = os.path.normpath("///"+os.readlink(profile)) - basepath = os.path.normpath("///" + portdir + "/profiles") - if re.match(basepath,profilever): - profilever = profilever[len(basepath)+1:] + profilever = "unavailable" + if profile: + realpath = os.path.realpath(profile) + basepath = os.path.realpath(os.path.join(portdir, "profiles")) + if realpath.startswith(basepath): + profilever = realpath[1 + len(basepath):] else: - profilever = "!"+profilever - del basepath - except (OSError,IOError): - profilever="unavailable" + try: + profilever = "!" + os.readlink(profile) + except (OSError): + pass + del realpath, basepath + libcver=[] libclist = vardb.match("virtual/libc") libclist += vardb.match("virtual/glibc")