Handle mingw packages depending on msys ones
This is the only cross build type dep we allow.
This commit is contained in:
parent
04735f8c7f
commit
279cabaa98
20
autobuild.py
20
autobuild.py
@ -305,14 +305,16 @@ keyserver-options auto-key-retrieve
|
||||
os.replace(backup, conf)
|
||||
|
||||
|
||||
def build_type_to_dep_type(build_type):
|
||||
def build_type_to_dep_types(build_type):
|
||||
if build_type == "mingw-src":
|
||||
dep_type = "mingw64"
|
||||
build_type = "mingw64"
|
||||
elif build_type == "msys-src":
|
||||
dep_type = "msys"
|
||||
build_type = "msys"
|
||||
|
||||
if build_type == "msys":
|
||||
return build_type
|
||||
else:
|
||||
dep_type = build_type
|
||||
return dep_type
|
||||
return ["msys", build_type]
|
||||
|
||||
|
||||
@contextmanager
|
||||
@ -361,7 +363,7 @@ SigLevel=Never
|
||||
os.makedirs(repo_root, exist_ok=True)
|
||||
with backup_pacman_conf(msys2_root):
|
||||
to_add = []
|
||||
dep_type = build_type_to_dep_type(build_type)
|
||||
for dep_type in build_type_to_dep_types(build_type):
|
||||
for name, dep in pkg['ext-depends'].get(dep_type, {}).items():
|
||||
pattern = f"{name}-{dep['version']}-*.pkg.*"
|
||||
repo_type = dep.get_repo_type()
|
||||
@ -646,8 +648,8 @@ def get_buildqueue_with_status(full_details: bool = False) -> List[Package]:
|
||||
for build_type in pkg.get_build_types():
|
||||
status = pkg.get_status(build_type)
|
||||
if status == PackageStatus.WAITING_FOR_BUILD:
|
||||
dep_type = build_type_to_dep_type(build_type)
|
||||
missing_deps = set()
|
||||
for dep_type in build_type_to_dep_types(build_type):
|
||||
for dep in pkg['ext-depends'].get(dep_type, {}).values():
|
||||
dep_status = dep.get_status(dep_type)
|
||||
if dep_status != PackageStatus.FINISHED:
|
||||
@ -676,7 +678,7 @@ def get_buildqueue_with_status(full_details: bool = False) -> List[Package]:
|
||||
status = pkg.get_status(build_type)
|
||||
if status == PackageStatus.FINISHED:
|
||||
missing_deps = set()
|
||||
dep_type = build_type_to_dep_type(build_type)
|
||||
for dep_type in build_type_to_dep_types(build_type):
|
||||
for dep in pkg['ext-depends'].get(dep_type, {}).values():
|
||||
dep_status = dep.get_status(dep_type)
|
||||
if dep_status not in (PackageStatus.FINISHED,
|
||||
@ -691,7 +693,7 @@ def get_buildqueue_with_status(full_details: bool = False) -> List[Package]:
|
||||
missing_deps.add(dep)
|
||||
|
||||
if missing_deps:
|
||||
desc = f"waiting on { ', '.join(sorted(p['name'] for p in missing_deps)) }"
|
||||
desc = f"Waiting on { ', '.join(sorted(p['name'] for p in missing_deps)) }"
|
||||
pkg.set_status(build_type, PackageStatus.FINISHED_BUT_BLOCKED, desc)
|
||||
|
||||
return pkgs
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user