OSDN Git Service

Place the META/ dir first in the target_files.zip.
authorAlex Deymo <deymo@google.com>
Wed, 27 Jan 2016 02:47:44 +0000 (18:47 -0800)
committerAlex Deymo <deymo@google.com>
Wed, 27 Jan 2016 02:52:10 +0000 (18:52 -0800)
To help early verification of a target_files.zip being uploaded to our
servers, we place the META/ directory first in the .zip file, so checks
against the product_id.txt and product_version.txt don't need to wait
for the whole file to upload.

Note that META/*filesystem_config.txt files are generated and added to
the .zip file at a later point, so they are not included at the
beginning.

Bug: 26806325
TEST=`make dist` and `unzip -l out/dist/edison-target_files-eng.$USER.zip` shows most META/ files first.

Change-Id: I1955645412688f5c7823063ed56606b251daccfd

core/Makefile

index f64dc28..18135d3 100644 (file)
@@ -1724,8 +1724,11 @@ ifeq ($(BREAKPAD_GENERATE_SYMBOLS),true)
        @# If breakpad symbols have been generated, add them to the zip.
        $(hide) $(ACP) -r $(TARGET_OUT_BREAKPAD) $(zip_root)/BREAKPAD
 endif
-       @# Zip everything up, preserving symlinks
-       $(hide) (cd $(zip_root) && zip -qryX ../$(notdir $@) .)
+       @# Zip everything up, preserving symlinks and placing META/ files first to
+       @# help early validation of the .zip file while uploading it.
+       $(hide) (cd $(zip_root) && \
+               zip -qryX ../$(notdir $@) ./META && \
+               zip -qryXu ../$(notdir $@) .)
        @# Run fs_config on all the system, vendor, boot ramdisk,
        @# and recovery ramdisk files in the zip, and save the output
        $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="SYSTEM/" } /^SYSTEM\// {print "system/" $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/filesystem_config.txt