ziptime fails on zip file larger than 2GB.
These zip files won't installed on device and we don't care that much
about their reprodudcibility across builds.
Change-Id: I47062928d075a59eda92dd5333e59502f490d1cb
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.
Add a new tool, ziptime, that uses a very stripped down copy of
zipalign. It no longer depends on libandroidfw, and now rewrites the
timestamps in place instead of making a copy of the zipfile. This should
improve speed and reduce disk requirements, especially with the large
packaging zip files.
Bug: 24201956
Change-Id: I50f68669f659da1b4393e964ad40b6aafb00c1e7
Specifically, do not error out if no installable apps are found.
- When creating an archive of all the apps, and if no apps exist
for the target, generate an empty archive file.
- If building for a target with no installable jar(s) or apk(s),
generate an empty package stats file.
The former is just an output artifact. The latter is used
by the upload_pkg_stats.py script which correctly handles
an empty input file.
BUG: 23421592
Change-Id: I48db9f9e1f61914d8fd938130e09b41849685450
This reverts commit 3c2c064c87.
zipalign depends on libandroidfw, and some setups don't include frameworks/base.
Bug: 24201956
Change-Id: I48ee95808924f6b2221f0a49ab205c2565096b1f
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.
Add a new option to zipalign, -t, to replace all timestamps with static
timestamps (2008 Jan 1 00:00:00). Use this for all non-APK zip files.
APK zip timestamps are set based on the certificate date in SignApk.
Bug: 24201956
Change-Id: Ifb619fc499ba9d99fc624f2acd5f8de36d78ef8e
- For unmodified "make product-graph" and "make dump-products",
load only the current product configuration makefiles. This is much
faster than loading all product makefiles.
- For "make product-graph ANDROID_PRODUCT_GRAPH=--all",
"make dump-products ANDROID_DUMP_PRODUCTS=all", load all product
makefiles.
- Move product-graph.mk out of build tasks, so we can skip loading all
the Android.mks, which takes long and we don't really need them.
More importantly, with all product makefiles loaded, modules in
Android.mks are prone to clash (if they are conditionally included
by variables set up in product makefiles) and lead to parse-time
error.
Change-Id: Idc1d6b0c23eb2c8bb34fdd7a1fa4d56171768d21
Don't generate recovery.img when calling 'make dist' if
TARGET_NO_RECOVERY is set. The build system passes the flag to the
packaging script which then generates recovery.img conditionally.
Bug: 25329471
Change-Id: Ifbc999300d5c31e897878f81e231ae7dd2aca660
To accommodate new changes (such as error correction in [1]) to BBOTA
in N release. We bump up the version to keep the OTA script backward
compatible.
Needs the matching CL in commit
1fdec8685af858c5ff4f45d2e3059186ab5ed2ab.
[1]: commit 0a7b47397db3648afe6f3aeb2abb175934c2cbca
Change-Id: Ib9158b455cd5905fe2d4742ce81feb1b7583054f
In order to have all the A/B updater variables in the same AB_OTA_
namespace we rename UPDATE_AB_PARTITIONS to AB_OTA_PARTITIONS.
Bug: None
Test: `make dist` includes the partitions.txt file if properly configured.
Change-Id: Ied4faabd7e2f0ab8a5007afb44ad2f38df8d630d
When using the A/B updater, include the product id string to
target_files.zip.
This is needed by the Omaha backend.
Bug: 24946811
Change-Id: I2ce5f6cffe440c29a1820348ee215c71cec07861
Append error-correcting codes to verified partitions provided that
PRODUCT_SUPPORTS_VERITY_FEC is true.
This moves verity metadata to be after the hash tree, and requires
matching changes from
Ide48f581bbba77aed6132f77b309db71630d81ed
Bug: 21893453
Change-Id: I6945cbab99e214566a1f9d3702333f2dbbc35816
When using the A/B updater, include the product version string to
target_files.zip.
This is needed by the Omaha backend.
BUG: 24743570
Change-Id: Idaba06624c1de452b1e1f9d3ebec851229af987a
The OTA/bin tools are not needed in the target files zip when using
the A/B OTA updater.
Bug: 24577767
Change-Id: I7938a906e4d73709aaa944e8065f922536072e27
The list of A/B partitions updated is product-specific. Normally you
would update boot and system, but the product could require to update
other partitions during a system update. This patch packages the list
of A/B partitions configured to be updated when using the A/B updater.
The list can be set in the product makefile by setting the make
variable UPDATE_AB_PARTITIONS.
Bug: 24387863
Test: `make dist` creates the META/ab_partitions.txt in the target_files.zip
Change-Id: I4226ab05c7c7cd74721b06f1da64c6cf4d0e52ac
This config file pulled directly from the source specifies the update
payload version supported by the code. When generating an incremental
update payload for the A/B updater, the generated payload format will
match the version supported by the old version.
Bug: 24406755
Test: `make dist` on Brillo.
Change-Id: Ib7ac6828d0d34eb31e786dbaae5d59ecf26c3576
This is to support the change to bsdiff which depends on
libdivsufsort.so and libdivsufsort64.so now.
Bug: 24332905
Change-Id: I232fc1b2abda67456f012a83fa4f69a99bc6ea14
When BREAKPAD_GENERATE_SYMBOLS is set to true, package the breakpad
symbols into the target files zip thats generated with `make dist`.
Bug: 24165970
Change-Id: I11c0d9a9d9e159475bfdb7bc338f9e9ac60aeada