[OpenWrt-Devel] [PATCH 2/2] Prevent more gzip timestamps

Florian Fainelli florian at openwrt.org
Sun Jul 12 15:06:01 EDT 2015


2015-07-12 9:41 GMT-07:00 Reiner Herrmann <reiner at reiner-h.de>:
> To improve reproducibility, prevent the inclusion of timestamps
> in the gzip header.

This looks fine to me, this also unveils a lot of repetition in how we
invoke gzip and its parameters, would you mind factoring this in a
variable such that we control how gzip options are set globally?
Eventually someone will want to be able to turn back on timestamps and
original names in how gzip generates compressed files, and we might as
well have a single location to fix this.

Let's just hope that nobody relies on the original file names (does
not look like it).

>
> Signed-off-by: Reiner Herrmann <reiner at reiner-h.de>
> ---
>  docs/adding.tex                                | 2 +-
>  include/image.mk                               | 2 +-
>  package/Makefile                               | 2 +-
>  target/imagebuilder/files/Makefile             | 2 +-
>  target/linux/adm5120/image/router_le.mk        | 2 +-
>  target/linux/adm8668/image/Makefile            | 2 +-
>  target/linux/ar71xx/image/Makefile             | 6 +++---
>  target/linux/ath25/image/Makefile              | 2 +-
>  target/linux/brcm63xx/image/Makefile           | 2 +-
>  target/linux/generic/files/crypto/ocf/Makefile | 2 +-
>  target/linux/ipq806x/image/Makefile            | 2 +-
>  target/linux/malta/image/Makefile              | 2 +-
>  target/linux/x86/image/Makefile                | 4 ++--
>  target/linux/xburst/image/Makefile             | 2 +-
>  14 files changed, 17 insertions(+), 17 deletions(-)
>
> diff --git a/docs/adding.tex b/docs/adding.tex
> index 97547ac..7b80c0d 100644
> --- a/docs/adding.tex
> +++ b/docs/adding.tex
> @@ -556,7 +556,7 @@ include $(INCLUDE_DIR)/image.mk
>
>  define Image/BuildKernel
>          cp $(KDIR)/vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.elf
> -        gzip -9 -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz
> +        gzip -9n -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz
>          $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux $(KDIR)/vmlinux.bin.l7
>          dd if=$(KDIR)/vmlinux.bin.l7 of=$(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma bs=65536 conv=sync
>          dd if=$(KDIR)/vmlinux.bin.gz of=$(BIN_DIR)/openwrt-$(BOARD)-vmlinux.gz bs=65536 conv=sync
> diff --git a/include/image.mk b/include/image.mk
> index 814e7dc..6767e76 100644
> --- a/include/image.mk
> +++ b/include/image.mk
> @@ -224,7 +224,7 @@ ifneq ($(CONFIG_TARGET_ROOTFS_UBIFS),)
>  endif
>
>  define Image/mkfs/cpiogz
> -       ( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9 >$(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz )
> +       ( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9n >$(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz )
>  endef
>
>  define Image/mkfs/targz
> diff --git a/package/Makefile b/package/Makefile
> index 3ef34b1..cc691b5 100644
> --- a/package/Makefile
> +++ b/package/Makefile
> @@ -149,7 +149,7 @@ $(curdir)/index: FORCE
>                 mkdir -p $(PACKAGE_DIR)/$$d; \
>                 cd $(PACKAGE_DIR)/$$d || continue; \
>                 $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages && \
> -                       gzip -9c Packages > Packages.gz; \
> +                       gzip -9nc Packages > Packages.gz; \
>         ); done
>  ifdef CONFIG_SIGNED_PACKAGES
>         @echo Signing package index...
> diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile
> index e28660f..8f25c4a 100644
> --- a/target/imagebuilder/files/Makefile
> +++ b/target/imagebuilder/files/Makefile
> @@ -121,7 +121,7 @@ package_index: FORCE
>         @echo Building package index...
>         @mkdir -p $(TMP_DIR) $(TARGET_DIR)/tmp
>         (cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . > Packages && \
> -               gzip -9c Packages > Packages.gz \
> +               gzip -9nc Packages > Packages.gz \
>         ) >/dev/null 2>/dev/null
>         $(OPKG) update || true
>
> diff --git a/target/linux/adm5120/image/router_le.mk b/target/linux/adm5120/image/router_le.mk
> index 6df6dcd..1e3d7f7 100644
> --- a/target/linux/adm5120/image/router_le.mk
> +++ b/target/linux/adm5120/image/router_le.mk
> @@ -72,7 +72,7 @@ define Image/Build/Cellvision
>         $(call Image/Build/Loader,$(2),bin,0x80500000,0x6D8,y,$(3))
>         mkdir -p $(BIN_DIR)/tmp
>         cp $(KDIR)/loader-$(2).bin $(BIN_DIR)/tmp/vmlinux.bin
> -       gzip -9 $(BIN_DIR)/tmp/vmlinux.bin
> +       gzip -9n $(BIN_DIR)/tmp/vmlinux.bin
>         dd if=$(BIN_DIR)/tmp/vmlinux.bin.gz of=$(call imgname,$(1),$(2))-xmodem.bin bs=64k conv=sync
>         rm -rf $(BIN_DIR)/tmp
>         $(call Image/Build/TRXNoloader,$(call imgname,$(1),$(2)).trx,$(1))
> diff --git a/target/linux/adm8668/image/Makefile b/target/linux/adm8668/image/Makefile
> index 9e25224..597b8f7 100644
> --- a/target/linux/adm8668/image/Makefile
> +++ b/target/linux/adm8668/image/Makefile
> @@ -16,7 +16,7 @@ endef
>
>
>  define CompressGzip
> -       gzip -9 -c $(1) > $(2)
> +       gzip -9n -c $(1) > $(2)
>  endef
>
>  define MkImage
> diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
> index 0351310..c8cf301 100644
> --- a/target/linux/ar71xx/image/Makefile
> +++ b/target/linux/ar71xx/image/Makefile
> @@ -985,7 +985,7 @@ endef
>  define PatchKernelGzip
>         cp $(KDIR)/vmlinux$(3) $(KDIR_TMP)/vmlinux$(3)-$(1)
>         $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR_TMP)/vmlinux$(3)-$(1) "$(strip $(2))"
> -       gzip -9 -c $(KDIR_TMP)/vmlinux$(3)-$(1) > $(KDIR_TMP)/vmlinux$(3)-$(1).bin.gz
> +       gzip -9n -c $(KDIR_TMP)/vmlinux$(3)-$(1) > $(KDIR_TMP)/vmlinux$(3)-$(1).bin.gz
>  endef
>
>  ifneq ($(SUBTARGET),mikrotik)
> @@ -2224,10 +2224,10 @@ define Image/Build/Initramfs
>  endef
>
>  define Image/Prepare
> -       gzip -9 -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz
> +       gzip -9n -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz
>         $(call CompressLzma,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.lzma)
>  ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
> -       gzip -9 -c $(KDIR)/vmlinux-initramfs > $(KDIR)/vmlinux-initramfs.bin.gz
> +       gzip -9n -c $(KDIR)/vmlinux-initramfs > $(KDIR)/vmlinux-initramfs.bin.gz
>         $(call CompressLzma,$(KDIR)/vmlinux-initramfs,$(KDIR)/vmlinux-initramfs.bin.lzma)
>         $(call Image/BuildLoader,generic,elf,,,-initramfs)
>  endif
> diff --git a/target/linux/ath25/image/Makefile b/target/linux/ath25/image/Makefile
> index 86f2d44..6bdb3c4 100644
> --- a/target/linux/ath25/image/Makefile
> +++ b/target/linux/ath25/image/Makefile
> @@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/image.mk
>
>  define Image/BuildKernel
>         cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.elf
> -       gzip -9 -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz
> +       gzip -9n -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz
>         $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux $(KDIR)/vmlinux.bin.l7
>         dd if=$(KDIR)/vmlinux.bin.l7 of=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux.lzma bs=65536 conv=sync
>         dd if=$(KDIR)/vmlinux.bin.gz of=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux.gz bs=65536 conv=sync
> diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile
> index e6dc2a8..63cd90a 100755
> --- a/target/linux/brcm63xx/image/Makefile
> +++ b/target/linux/brcm63xx/image/Makefile
> @@ -95,7 +95,7 @@ endef
>  define Image/Build/RedBootDTB
>         # Prepare kernel and rootfs
>         cat $(KDIR)/vmlinux $(DTS_DIR)/$(3).dtb > $(KDIR)/vmlinux-$(3)
> -       gzip -9 -c $(KDIR)/vmlinux-$(3) > $(KDIR)/vmlinux-$(3).bin.gz
> +       gzip -9n -c $(KDIR)/vmlinux-$(3) > $(KDIR)/vmlinux-$(3).bin.gz
>         dd if=$(KDIR)/vmlinux-$(3).bin.gz of=$(BIN_DIR)/$(IMG_PREFIX)-$(2)-vmlinux.gz bs=65536 conv=sync
>         dd if=$(KDIR)/root.squashfs of="$(BIN_DIR)/$(IMG_PREFIX)-$(2)-root.squashfs" bs=64k conv=sync
>         echo -ne \\xDE\\xAD\\xC0\\xDE >> "$(BIN_DIR)/$(IMG_PREFIX)-$(2)-root.squashfs"
> diff --git a/target/linux/generic/files/crypto/ocf/Makefile b/target/linux/generic/files/crypto/ocf/Makefile
> index 110ed83..78d052c 100644
> --- a/target/linux/generic/files/crypto/ocf/Makefile
> +++ b/target/linux/generic/files/crypto/ocf/Makefile
> @@ -144,5 +144,5 @@ release:
>                 find $$RELDIR/ocf -name CVS | xargs rm -rf; \
>                 cd $$RELDIR/..; \
>                 tar cvf ocf-linux-$$REL.tar ocf-linux-$$REL; \
> -               gzip -9 ocf-linux-$$REL.tar
> +               gzip -9n ocf-linux-$$REL.tar
>
> diff --git a/target/linux/ipq806x/image/Makefile b/target/linux/ipq806x/image/Makefile
> index db5bf0a..9a1bad8 100644
> --- a/target/linux/ipq806x/image/Makefile
> +++ b/target/linux/ipq806x/image/Makefile
> @@ -9,7 +9,7 @@ UBINIZE_OPTS = -m 2048 -p 128KiB
>  E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024)))
>
>  define Image/BuildKernel/FIT
> -       gzip -9 -c $(KDIR)/Image > $(KDIR)/Image.gz
> +       gzip -9n -c $(KDIR)/Image > $(KDIR)/Image.gz
>         $(call CompressLzma,$(KDIR)/Image,$(KDIR)/Image.gz)
>         $(call Image/BuildKernel/MkFIT,$(1), $(KDIR)/Image.gz, $(LINUX_DIR)/arch/arm/boot/dts/$(1).dtb,gzip,0x42208000,0x42208000)
>         $(CP) $(KDIR)/fit-$(1).itb $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fit-uImage.itb
> diff --git a/target/linux/malta/image/Makefile b/target/linux/malta/image/Makefile
> index 3f14756..180e045 100644
> --- a/target/linux/malta/image/Makefile
> +++ b/target/linux/malta/image/Makefile
> @@ -16,7 +16,7 @@ define CompressLzma
>  endef
>
>  define CompressGzip
> -       gzip -9 -c $(1) > $(2)
> +       gzip -9n -c $(1) > $(2)
>  endef
>
>  define MkuImage
> diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
> index e7e02f1..8e56372 100644
> --- a/target/linux/x86/image/Makefile
> +++ b/target/linux/x86/image/Makefile
> @@ -149,8 +149,8 @@ ifneq ($(CONFIG_VMDK_IMAGES),)
>  endif
>
>  define Image/Build/gzip
> -       gzip -f9 $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img
> -       gzip -f9 $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img
> +       gzip -f9n $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img
> +       gzip -f9n $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img
>  endef
>
>  ifneq ($(CONFIG_TARGET_IMAGES_GZIP),)
> diff --git a/target/linux/xburst/image/Makefile b/target/linux/xburst/image/Makefile
> index 58436d5..3795454 100644
> --- a/target/linux/xburst/image/Makefile
> +++ b/target/linux/xburst/image/Makefile
> @@ -25,7 +25,7 @@ endef
>
>
>  define MkImageGzip
> -       gzip -9 -c $(1) > $(1).gz
> +       gzip -9n -c $(1) > $(1).gz
>         mkimage -A mips -O linux -T kernel -a 0x80010000 -C gzip \
>                 -e $(call kernel_entry,$(KDIR)/vmlinux.debug) -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
>                 -d $(1).gz $(2)
> --
> 2.1.4
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



-- 
Florian
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list