Преглед изворни кода

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 <[email protected]>
Christian Marangi пре 1 година
родитељ
комит
377b66990b
2 измењених фајлова са 2 додато и 2 уклоњено
  1. 1 1
      include/image.mk
  2. 1 1
      scripts/target-metadata.pl

+ 1 - 1
include/image.mk

@@ -326,7 +326,7 @@ ifdef CONFIG_TARGET_ROOTFS_CPIOGZ
 endif
 
 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_cur_target_dir = $(call mkfs_target_dir,pkg=$(target_params))
 

+ 1 - 1
scripts/target-metadata.pl

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