diff mbox series

[LEDE-DEV,1/5] build: append metadata for supported images.gz

Message ID 9bf13786bcddfa7a6edebe1a685d57ce0c1f6f94.1511905744.git.chunkeey@gmail.com
State Superseded, archived
Headers show
Series [LEDE-DEV,1/5] build: append metadata for supported images.gz | expand

Commit Message

Christian Lamparter Nov. 28, 2017, 9:51 p.m. UTC
Targets that either directly or indirectly set
CONFIG_TARGET_IMAGES_GZIP currently have no way
to append the metadata at the end of new image
creation process. And this is going to be
necessary in order to convert the targets to use
the new fwtool assisted platform check.

These will include for example x86(_64), RPI, and
MyBook Live images.

Note: append-metadata does internally check if
SUPPORTED_DEVICES is set, before adding the
metadata. Hence, it will not interfere with
existing targets that have not been converted.

Cc: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
---
 include/image.mk | 1 +
 1 file changed, 1 insertion(+)

Comments

Matthias Schiffer Nov. 28, 2017, 10:07 p.m. UTC | #1
On 11/28/2017 10:51 PM, Christian Lamparter wrote:
> Targets that either directly or indirectly set
> CONFIG_TARGET_IMAGES_GZIP currently have no way
> to append the metadata at the end of new image
> creation process. And this is going to be
> necessary in order to convert the targets to use
> the new fwtool assisted platform check.
> 
> These will include for example x86(_64), RPI, and
> MyBook Live images.
> 
> Note: append-metadata does internally check if
> SUPPORTED_DEVICES is set, before adding the
> metadata. Hence, it will not interfere with
> existing targets that have not been converted.
> 
> Cc: Felix Fietkau <nbd@nbd.name>
> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> ---

It should not matter if the images are gzipped or not; the metadata should
be appended before gzipping. All image checks are done after zcat; if this
is not the case for the fwtool checks, IMO the checks need to be adjusted,
not the image generation.

Matthias


>  include/image.mk | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/image.mk b/include/image.mk
> index f4d0a157cd..a7342c9d53 100644
> --- a/include/image.mk
> +++ b/include/image.mk
> @@ -494,6 +494,7 @@ define Device/Build/image
>  
>    $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)).gz: $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2))
>  	gzip -c -9n $$^ > $$@
> +	$$(call Build/append-metadata)
>  
>    $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2))
>  	cp $$^ $$@
>
Christian Lamparter Nov. 28, 2017, 10:20 p.m. UTC | #2
On Tuesday, November 28, 2017 11:07:54 PM CET Matthias Schiffer wrote:
> On 11/28/2017 10:51 PM, Christian Lamparter wrote:
> > Targets that either directly or indirectly set
> > CONFIG_TARGET_IMAGES_GZIP currently have no way
> > to append the metadata at the end of new image
> > creation process. And this is going to be
> > necessary in order to convert the targets to use
> > the new fwtool assisted platform check.
> > 
> > These will include for example x86(_64), RPI, and
> > MyBook Live images.
> > 
> > Note: append-metadata does internally check if
> > SUPPORTED_DEVICES is set, before adding the
> > metadata. Hence, it will not interfere with
> > existing targets that have not been converted.
> > 
> > Cc: Felix Fietkau <nbd@nbd.name>
> > Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> > ---
> 
> It should not matter if the images are gzipped or not; the metadata should
> be appended before gzipping. All image checks are done after zcat; if this
> is not the case for the fwtool checks, IMO the checks need to be adjusted,
> not the image generation.

Hm, why is then the raw metadata appended to the sysupgrade.tar files
in the first place? Shouldn't it be a inside a file in the .tar as well?
Or what's your solution supposed to look like otherwise? Add gzip handling
to the fwtool?

Christian
 
> >  include/image.mk | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/include/image.mk b/include/image.mk
> > index f4d0a157cd..a7342c9d53 100644
> > --- a/include/image.mk
> > +++ b/include/image.mk
> > @@ -494,6 +494,7 @@ define Device/Build/image
> >  
> >    $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)).gz: $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2))
> >  	gzip -c -9n $$^ > $$@
> > +	$$(call Build/append-metadata)
> >  
> >    $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2))
> >  	cp $$^ $$@
> > 
> 
> 
>
Christian Lamparter Nov. 30, 2017, 9:14 p.m. UTC | #3
On Tuesday, November 28, 2017 11:20:23 PM CET Christian Lamparter wrote:
> On Tuesday, November 28, 2017 11:07:54 PM CET Matthias Schiffer wrote:
> > On 11/28/2017 10:51 PM, Christian Lamparter wrote:
> > > Targets that either directly or indirectly set
> > > CONFIG_TARGET_IMAGES_GZIP currently have no way
> > > to append the metadata at the end of new image
> > > creation process. And this is going to be
> > > necessary in order to convert the targets to use
> > > the new fwtool assisted platform check.
> > > 
> > > These will include for example x86(_64), RPI, and
> > > MyBook Live images.
> > > 
> > > Note: append-metadata does internally check if
> > > SUPPORTED_DEVICES is set, before adding the
> > > metadata. Hence, it will not interfere with
> > > existing targets that have not been converted.
> > > 
> > > Cc: Felix Fietkau <nbd@nbd.name>
> > > Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> > > ---
> > 
> > It should not matter if the images are gzipped or not; the metadata should
> > be appended before gzipping. All image checks are done after zcat; if this
> > is not the case for the fwtool checks, IMO the checks need to be adjusted,
> > not the image generation.
> 
> Hm, why is then the raw metadata appended to the sysupgrade.tar files
> in the first place? Shouldn't it be a inside a file in the .tar as well?
> Or what's your solution supposed to look like otherwise? Add gzip handling
> to the fwtool?
> 
Mathias Kresin had a great idea and it solved the problem in a better way.
This patch is therefore obsolete. \o/
diff mbox series

Patch

diff --git a/include/image.mk b/include/image.mk
index f4d0a157cd..a7342c9d53 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -494,6 +494,7 @@  define Device/Build/image
 
   $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)).gz: $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2))
 	gzip -c -9n $$^ > $$@
+	$$(call Build/append-metadata)
 
   $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2))
 	cp $$^ $$@