diff options
-rw-r--r-- | sjhbuild/sysdeps.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/sjhbuild/sysdeps.py b/sjhbuild/sysdeps.py index bd10b73..1b0366d 100644 --- a/sjhbuild/sysdeps.py +++ b/sjhbuild/sysdeps.py @@ -46,8 +46,11 @@ def check_package(package): return None -def _check_prefix(name, prefixes, suffix="") : - return [name for p in prefixes if name.startswith(p) and name.endswith(suffix)] +def _check_suffix(name, suffixes) : + """ + Returns a list of all matching suffixes for <name>. + """ + return [name for suffix in suffixes if name.endswith(suffix)] _unstable_names = { 'debian': 'unstable', @@ -59,16 +62,16 @@ def _parse_dependencies(dname, dversion): if not (dname and dversion): return [] - prefixes = ['alldistros', '%s-allversions' % (dname,), - '%s-%s' % (dname, dversion)] + suffixes = ['alldistros.xml', '%s-allversions.xml' % (dname,), + '%s-%s.xml' % (dname, dversion)] dirname = os.path.join(base_dir, 'config', 'sysdeps') filenames = [os.path.join(dirname, fname) for fname in os.listdir(dirname) - if _check_prefix(fname, prefixes, ".xml")] + if _check_suffix(fname, suffixes)] # check whether we have a file matching the exact distro version - if not [name for name in filenames if prefixes[-1] in name] : + if not [name for name in filenames if name.endswith(suffixes[-1])] : # will break for unknown distros, but that's fine # (=> bug report => add support for distro) uversion = _unstable_names[dname] |