diff --git a/scripts/projects.py b/scripts/projects.py index c1d113d5..2bfe6d43 100644 --- a/scripts/projects.py +++ b/scripts/projects.py @@ -388,13 +388,23 @@ def get_value(name, section, key): proj_root = topdir else: proj_root = projs_root + '/' + name - debug("proj_root = " + proj_root) + if section == 'version': - file = open(proj_root + '/VERSION', 'r') - r=file.read().replace('\n', '').replace('-dev', '') - file.close() - return r + proj_version_dirs = [ proj_root ] + if proj_root != topdir: + proj_version_dirs.append('/usr/share/doc/packages/' + name) + for d in proj_version_dirs: + version_path = d + '/VERSION' + try: + with open(version_path) as fd: + r = fd.read().replace('\n', '').replace('-dev', '') + fd.close() + return r + except EnvironmentError: + debug("ignoring unreadable file " + version_path) + continue + raise Exception("No version file found for project \"" + name + "\"") path = proj_root + '/make/project.conf' #print('path = ', path, 'top_name = ', top_name, 'name = ', name)