X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/1858fd1b1d99d581811216d97537764bb0b0c69b..d4fe57f935ce6ab35ca2a092e56a2b1515464fdb:/scripts/buildorder.py diff --git a/scripts/buildorder.py b/scripts/buildorder.py index ac20e198..1890a0d9 100755 --- a/scripts/buildorder.py +++ b/scripts/buildorder.py @@ -38,24 +38,26 @@ class TermuxBuildFile(object): def _get_dependencies(self): pkg_dep_prefix = 'TERMUX_PKG_DEPENDS=' + pkg_build_dep_prefix = 'TERMUX_PKG_BUILD_DEPENDS=' subpkg_dep_prefix = 'TERMUX_SUBPKG_DEPENDS=' - with open(self.path) as f: + with open(self.path, encoding="utf-8") as f: prefix = None for line in f: if line.startswith(pkg_dep_prefix): prefix = pkg_dep_prefix + elif line.startswith(pkg_build_dep_prefix): + prefix = pkg_build_dep_prefix elif line.startswith(subpkg_dep_prefix): prefix = subpkg_dep_prefix else: continue - comma_deps = line[len(prefix):].replace('"', '') + comma_deps = line[len(prefix):].replace('"', '').replace("'", '') return set([ # Replace parenthesis to handle version qualifiers, as in "gcc (>= 5.0)": - re.sub(r'\(.*?\)', '', dep).strip() for dep in comma_deps.split(',') - if 'libandroid-support-dev' not in dep + re.sub(r'\(.*?\)', '', dep).replace('-dev', '').strip() for dep in comma_deps.split(',') ]) # no deps found @@ -219,6 +221,8 @@ def generate_targets_buildorder(targetnames): buildorder = [] for pkgname in targetnames: + if not pkgname in pkgs_map: + die('Dependencies for ' + pkgname + ' could not be calculated (skip dependency check with -s)') buildorder += deps_then_me(pkgs_map[pkgname]) return unique_everseen(buildorder)