5d4d9c80cd
Don't assume that each branch has all arches that pmbootstrap supports, instead add them to pmaports.cfg and read them from there. This should allow the test to pass on v22.06.
42 lines
1.9 KiB
Python
42 lines
1.9 KiB
Python
#!/usr/bin/env python3
|
|
# Copyright 2021 Oliver Smith
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
import glob
|
|
import pytest
|
|
import sys
|
|
import os
|
|
|
|
import add_pmbootstrap_to_import_path
|
|
import pmb.parse
|
|
|
|
|
|
def test_aports_ui(args):
|
|
"""
|
|
Raise an error if package in _pmb_recommends is not found
|
|
"""
|
|
pmaports_cfg = pmb.config.pmaports.read_config(args)
|
|
|
|
for arch in pmaports_cfg["supported_arches"].split(","):
|
|
for path in glob.iglob(args.aports + "/main/postmarketos-ui-*/APKBUILD"):
|
|
apkbuild = pmb.parse.apkbuild(path)
|
|
# Skip if arch isn't enabled
|
|
if not pmb.helpers.package.check_arch(args, apkbuild["pkgname"], arch, False):
|
|
continue
|
|
|
|
for package in apkbuild["_pmb_recommends"]:
|
|
depend = pmb.helpers.package.get(args, package,
|
|
arch, must_exist=False)
|
|
if depend is None or not pmb.helpers.package.check_arch(args, package, arch):
|
|
raise RuntimeError(f"{path}: package '{package}' from"
|
|
f" _pmb_recommends not found for arch '{arch}'")
|
|
|
|
# Check packages from "_pmb_recommends" of -extras subpackage if one exists
|
|
if f"{apkbuild['pkgname']}-extras" in apkbuild["subpackages"]:
|
|
apkbuild = apkbuild["subpackages"][f"{apkbuild['pkgname']}-extras"]
|
|
for package in apkbuild["_pmb_recommends"]:
|
|
depend = pmb.helpers.package.get(args, package,
|
|
arch, must_exist=False)
|
|
if depend is None or not pmb.helpers.package.check_arch(args, package, arch):
|
|
raise RuntimeError(f"{path}: package '{package}' from _pmb_recommends "
|
|
f"of -extras subpackage is not found for arch '{arch}'")
|