aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2019-03-06 14:45:15 +0100
committerDaniel Golle <daniel@makrotopia.org>2019-03-06 14:50:42 +0100
commit13c379e5c6e37b3822bf6e4e18cc6317e5b40fbb (patch)
tree0619e7718e4a1dfee2c86007c42cf3ebc2614d83
parentc8778250a91d691a274d2070dc25827325e3f090 (diff)
downloadupstream-13c379e5c6e37b3822bf6e4e18cc6317e5b40fbb.tar.gz
upstream-13c379e5c6e37b3822bf6e4e18cc6317e5b40fbb.tar.bz2
upstream-13c379e5c6e37b3822bf6e4e18cc6317e5b40fbb.zip
ib: display whether profile comes with image metadata
Having image metadata (and signature) appended is a condition for semi-automated sysupgrade, hence IB needs to be able to tell which images will end up with metadata. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rw-r--r--include/image.mk1
-rw-r--r--scripts/metadata.pm2
-rwxr-xr-xscripts/target-metadata.pl1
-rw-r--r--target/imagebuilder/files/Makefile2
4 files changed, 5 insertions, 1 deletions
diff --git a/include/image.mk b/include/image.mk
index 5268f0bdb7..62e3af9e4f 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -557,6 +557,7 @@ define Device/DumpInfo
Target-Profile: DEVICE_$(1)
Target-Profile-Name: $(DEVICE_TITLE)
Target-Profile-Packages: $(DEVICE_PACKAGES)
+Target-Profile-hasImageMetadata: $(if $(foreach image,$(IMAGES),$(findstring append-metadata,$(IMAGE/$(image)))),1,0)
Target-Profile-Description:
$(DEVICE_DESCRIPTION)
@@
diff --git a/scripts/metadata.pm b/scripts/metadata.pm
index 5300e293e7..d9804f8dc3 100644
--- a/scripts/metadata.pm
+++ b/scripts/metadata.pm
@@ -139,6 +139,7 @@ sub parse_target_metadata($) {
$profile = {
id => $1,
name => $1,
+ has_image_metadata => 0,
priority => 999,
packages => []
};
@@ -146,6 +147,7 @@ sub parse_target_metadata($) {
push @{$target->{profiles}}, $profile;
};
/^Target-Profile-Name:\s*(.+)\s*$/ and $profile->{name} = $1;
+ /^Target-Profile-hasImageMetadata:\s*(\d+)\s*$/ and $profile->{has_image_metadata} = $1;
/^Target-Profile-Priority:\s*(\d+)\s*$/ and do {
$profile->{priority} = $1;
$target->{sort} = 1;
diff --git a/scripts/target-metadata.pl b/scripts/target-metadata.pl
index ef0a34eb4f..2f045eb379 100755
--- a/scripts/target-metadata.pl
+++ b/scripts/target-metadata.pl
@@ -422,6 +422,7 @@ sub gen_profile_mk() {
print "PROFILE_NAMES = ".join(" ", map { $_->{id} } @{$cur->{profiles}})."\n";
foreach my $profile (@{$cur->{profiles}}) {
print $profile->{id}.'_NAME:='.$profile->{name}."\n";
+ print $profile->{id}.'_HAS_IMAGE_METADATA:='.$profile->{has_image_metadata}."\n";
print $profile->{id}.'_PACKAGES:='.join(' ', @{$profile->{packages}})."\n";
}
}
diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile
index 76ea19028e..1370ec27df 100644
--- a/target/imagebuilder/files/Makefile
+++ b/target/imagebuilder/files/Makefile
@@ -73,7 +73,7 @@ include $(INCLUDE_DIR)/target.mk
USER_PROFILE ?= $(firstword $(PROFILE_NAMES))
PROFILE_LIST = $(foreach p,$(PROFILE_NAMES), \
- echo '$(patsubst DEVICE_%,%,$(p)):'; $(if $($(p)_NAME),echo ' $(subst ','"'"',$($(p)_NAME))'; ) echo ' Packages: $($(p)_PACKAGES)'; \
+ echo '$(patsubst DEVICE_%,%,$(p)):'; $(if $($(p)_NAME),echo ' $(subst ','"'"',$($(p)_NAME))'; ) echo ' Packages: $($(p)_PACKAGES)'; echo ' hasImageMetadata: $($(p)_HAS_IMAGE_METADATA)';\
)
.profiles.mk: .targetinfo