--- portage.py.orig 2004-01-18 05:41:58.991245096 -0500 +++ portage.py.orig 2004-01-18 06:36:29.424063736 -0500 @@ -922,30 +922,40 @@ # version is None and error is a string # def ExtractKernelVersion(base_dir): - pathname = os.path.join(base_dir, 'include/linux/version.h') + lines = [] + pathname = os.path.join(base_dir, 'Makefile') try: - lines = open(pathname, 'r').readlines() + f = open(pathname, 'r') except OSError, details: return (None, str(details)) except IOError, details: return (None, str(details)) + try: + for i in range(4): + lines.append(f.readline()) + except OSError, details: + return (None, str(details)) + except IOError, details: + return (None, str(details)) + lines = map(string.strip, lines) version = '' for line in lines: - items = string.split(line, ' ', 2) - if items[0] == '#define' and \ - items[1] == 'UTS_RELEASE': - version = items[2] # - may be wrapped in quotes - break - - if version == '': - return (None, "Unable to locate UTS_RELEASE in %s" % (pathname)) + items = string.split(line, ' ') + if items[0] == 'VERSION' or \ + items[0] == 'PATCHLEVEL': + version += items[2] + version += "." + elif items[0] == 'SUBLEVEL': + version += items[2] + elif items[0] == 'EXTRAVERSION' and \ + items[-1] != '=': + version += "-" + version += items[2] - if version[0] == '"' and version[-1] == '"': - version = version[1:-1] return (version,None) aumtime=0