build: introduce support to declare skip package

It seems some target started declaring package in DEVICE_PACKAGES just
to call InstallDev and generate binary for the image firmware.

This is very much used by layerscape target where trusted-firmware-a and
dependency are called for final image generation.

This is problematic for APK since it's more sensible to non exisiting
package.

To handle this, introduce a prefix '~' for a package that will signal to
build the package but not install it in the final image.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
Christian Marangi 2024-10-26 22:57:46 +02:00
parent fb56a46246
commit 377b66990b
No known key found for this signature in database
GPG Key ID: AC001D09ADBFEAD7
2 changed files with 2 additions and 2 deletions

View File

@ -326,7 +326,7 @@ ifdef CONFIG_TARGET_ROOTFS_CPIOGZ
endif endif
mkfs_packages = $(filter-out @%,$(PACKAGES_$(call param_get,pkg,pkg=$(target_params)))) mkfs_packages = $(filter-out @%,$(PACKAGES_$(call param_get,pkg,pkg=$(target_params))))
mkfs_packages_add = $(foreach pkg,$(filter-out -%,$(mkfs_packages)),$(pkg)$(call GetABISuffix,$(pkg))) mkfs_packages_add = $(foreach pkg,$(filter-out -% ~%,$(mkfs_packages)),$(pkg)$(call GetABISuffix,$(pkg)))
mkfs_packages_remove = $(foreach pkg,$(patsubst -%,%,$(filter -%,$(mkfs_packages))),$(pkg)$(call GetABISuffix,$(pkg))) mkfs_packages_remove = $(foreach pkg,$(patsubst -%,%,$(filter -%,$(mkfs_packages))),$(pkg)$(call GetABISuffix,$(pkg)))
mkfs_cur_target_dir = $(call mkfs_target_dir,pkg=$(target_params)) mkfs_cur_target_dir = $(call mkfs_target_dir,pkg=$(target_params))

View File

@ -146,7 +146,7 @@ sub merge_package_lists($$) {
my %pkgs; my %pkgs;
foreach my $pkg (@$list1, @$list2) { foreach my $pkg (@$list1, @$list2) {
$pkgs{$pkg} = 1; $pkgs{$pkg =~ s/^~//r} = 1;
} }
foreach my $pkg (keys %pkgs) { foreach my $pkg (keys %pkgs) {
push @l, $pkg unless ($pkg =~ /^-/ or $pkgs{"-$pkg"}); push @l, $pkg unless ($pkg =~ /^-/ or $pkgs{"-$pkg"});