image.cmd_build(): use correct strictness for filter_pkgbuilds() for local vs extra packages

This commit is contained in:
InsanePrawn 2022-09-21 13:06:22 +02:00
parent c1afc5bb27
commit 5580c48b08

View file

@ -10,12 +10,12 @@ from subprocess import CompletedProcess
from typing import Union from typing import Union
from chroot.device import DeviceChroot, get_device_chroot from chroot.device import DeviceChroot, get_device_chroot
from constants import Arch, BASE_PACKAGES, POST_CMDS from constants import Arch, BASE_LOCAL_PACKAGES, BASE_PACKAGES, POST_CMDS
from config import config, Profile from config import config, Profile
from distro.distro import get_base_distro, get_kupfer_https from distro.distro import get_base_distro, get_kupfer_https
from exec.cmd import run_root_cmd, generate_cmd_su from exec.cmd import run_root_cmd, generate_cmd_su
from exec.file import root_write_file, root_makedir, makedir from exec.file import root_write_file, root_makedir, makedir
from packages.build import build_enable_qemu_binfmt, build_packages_by_paths from packages.build import build_enable_qemu_binfmt, build_packages, filter_pkgbuilds
from packages.device import Device, get_profile_device from packages.device import Device, get_profile_device
from packages.flavour import Flavour, get_profile_flavour from packages.flavour import Flavour, get_profile_flavour
from ssh import copy_ssh_keys from ssh import copy_ssh_keys
@ -394,14 +394,19 @@ def cmd_build(profile_name: str = None,
flavour = get_profile_flavour(profile_name) flavour = get_profile_flavour(profile_name)
rootfs_size_mb = flavour.parse_flavourinfo().rootfs_size * 1000 + int(profile.size_extra_mb) rootfs_size_mb = flavour.parse_flavourinfo().rootfs_size * 1000 + int(profile.size_extra_mb)
packages = BASE_PACKAGES + [device.package.name, flavour.pkgbuild.name] + profile['pkgs_include'] packages = BASE_LOCAL_PACKAGES + [device.package.name, flavour.pkgbuild.name]
packages_extra = BASE_PACKAGES + profile.pkgs_include
if arch != config.runtime.arch: if arch != config.runtime.arch:
build_enable_qemu_binfmt(arch) build_enable_qemu_binfmt(arch)
if local_repos and build_pkgs: if local_repos and build_pkgs:
logging.info("Making sure all packages are built") logging.info("Making sure all packages are built")
build_packages_by_paths(packages, arch, try_download=not no_download_pkgs) # enforce that local base packages are built
pkgbuilds = set(filter_pkgbuilds(packages, arch=arch, allow_empty_results=False, use_paths=False))
# extra packages might be a mix of package names that are in our PKGBUILDs and packages from the base distro
pkgbuilds |= set(filter_pkgbuilds(packages_extra, arch=arch, allow_empty_results=True, use_paths=False))
build_packages(pkgbuilds, arch, try_download=not no_download_pkgs)
deviceinfo = device.parse_deviceinfo() deviceinfo = device.parse_deviceinfo()
sector_size = deviceinfo.flash_pagesize sector_size = deviceinfo.flash_pagesize
@ -441,7 +446,7 @@ def cmd_build(profile_name: str = None,
device, device,
flavour, flavour,
arch, arch,
packages, list(set(packages) | set(packages_extra)),
local_repos, local_repos,
profile, profile,
) )