Commit Graph

3583 Commits

Author SHA1 Message Date
Alex Klyubin 9667b18f23 Make signapk use Conscrypt.
This makes the signapk tool use Conscrypt (where possible) instead of
the platform-default JCA providers and the Bouncy Castle JCA provider.
This speeds up (by 10-30%) APK and OTA update signing because
Conscrypt's crypto primitives are backed by BoringSSL.

Previously, the signapk tool consisted only of the signapk.jar.
Because Conscrypt is backed by native code, signapk now consists of
signapk.jar and crypto_openjdk_jni shared library. This requires that
users of the tool be updated to provide a suitable -Djava.library.path
argument to the Java runtime. This change updates all known users of
the tool inside the Android source tree to do so.

Bug: 26097626
Change-Id: I8411b37d7f771ed99269751a3007dff103083552
2015-12-11 08:36:42 -08:00
Alex Klyubin 95ba90d1f0 Merge "Do not run zipalign when re-signing APKs."
am: 31066abfde

* commit '31066abfde08abdefe00be67074a2c7401917f97':
  Do not run zipalign when re-signing APKs.
2015-12-08 20:23:37 +00:00
Alex Klyubin eb756d7b7b Do not run zipalign when re-signing APKs.
Running zipalign is no longer needed because signapk takes care of
alignment.

Bug: 25794543
Change-Id: I1080240a67ea6f1b41585fff83d18d57fdcf44e2
2015-12-08 11:05:13 -08:00
Alex Klyubin 3ad587e9ff Merge "Make signapk align .so entries to 4096 bytes." am: dbb5527a9e
am: 7f1eda800d

* commit '7f1eda800d8cdb793b521e20798eaacb3fe410ad':
  Make signapk align .so entries to 4096 bytes.
2015-12-04 17:13:36 +00:00
Alex Klyubin 7f1eda800d Merge "Make signapk align .so entries to 4096 bytes."
am: dbb5527a9e

* commit 'dbb5527a9ef27f292794d1e51ae56d1df68c328b':
  Make signapk align .so entries to 4096 bytes.
2015-12-04 17:10:01 +00:00
Alex Klyubin dbb5527a9e Merge "Make signapk align .so entries to 4096 bytes." 2015-12-04 17:05:27 +00:00
Shinichiro Hamaji ba1277549d Merge "Remove warnings from ijar/classfile.cc" am: 128053b91b
am: 8707422e4e

* commit '8707422e4ee24ca96befbf2bf54deca2590bedfa':
  Remove warnings from ijar/classfile.cc
2015-12-03 05:45:48 +00:00
Shinichiro Hamaji 8707422e4e Merge "Remove warnings from ijar/classfile.cc"
am: 128053b91b

* commit '128053b91b959d0664c33659063c5246eb57a594':
  Remove warnings from ijar/classfile.cc
2015-12-03 05:42:52 +00:00
Shinichiro Hamaji 128053b91b Merge "Remove warnings from ijar/classfile.cc" 2015-12-03 05:39:24 +00:00
Alex Klyubin 924a683760 Make signapk align .so entries to 4096 bytes.
This makes signapk align uncompressed .so entries to memory page
boundary (4096 bytes) to enable such libraries to be loaded at runtime
through memory-mapping the APK.

With this change in place, there should no longer be a need to run
zipalign after (or before) signapk.

Bug: 25794543
Change-Id: I74775af15a683791f57fcbd3497a79951b3f63a1
2015-12-02 19:02:01 -08:00
Tao Bao 50aa7c731b Merge "releasetools: Always use recovery mount options." am: 643d466f7b
am: 1709cf3768

* commit '1709cf3768b54c1abc267b5ee92f57023e206c26':
  releasetools: Always use recovery mount options.
2015-12-03 01:35:04 +00:00
Tao Bao 1709cf3768 Merge "releasetools: Always use recovery mount options."
am: 643d466f7b

* commit '643d466f7b853ab4009723e2da200e3a6642d2ad':
  releasetools: Always use recovery mount options.
2015-12-03 01:30:40 +00:00
Tao Bao 269d785ce0 releasetools: Always use recovery mount options.
Change-Id: I6e96c417ffb5ad36405f4a6f5342f80f358f375f
2015-12-02 15:51:47 -08:00
Tao Bao 21362f024b Merge "releasetools: Abort the update on apply_patch failures." am: 2a23c0c859
am: d77af53fc6

* commit 'd77af53fc673229a1e9b59d99592272f689df10f':
  releasetools: Abort the update on apply_patch failures.
2015-12-02 22:05:02 +00:00
Tao Bao d77af53fc6 Merge "releasetools: Abort the update on apply_patch failures."
am: 2a23c0c859

* commit '2a23c0c85919bada137985f9e3b32514185b38c5':
  releasetools: Abort the update on apply_patch failures.
2015-12-02 22:00:18 +00:00
Tao Bao c386890d0e releasetools: Abort the update on apply_patch failures.
We used to silently ignore the return value from apply_patch() even if
it had failed. It gives us more trouble to investigate the failure when
the affected file/partition gets touched in subsequent OTAs. This CL
adds the checking of the return value and aborts the update accordingly.

Bug: 25893277
Change-Id: Ie5e1c563576e503343e6a5b28ed4d7039f6f919c
2015-12-02 12:26:57 -08:00
Shinichiro Hamaji 8f2968f095 Remove warnings from ijar/classfile.cc
Also add -Werror.

Change-Id: I2f9fda288d31bd34735856ade33916c93c45922a
2015-12-01 16:44:32 +09:00
Colin Cross dbeab8de65 Merge changes I1de10391,I4399ca26,Iec3b2b0b am: bff3c9b4c1
am: bae8872294

* commit 'bae88722945130a0c8ebbb1ef27eaa845e9f03fd':
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:05:38 +00:00
Colin Cross bae8872294 Merge changes I1de10391,I4399ca26,Iec3b2b0b
am: bff3c9b4c1

* commit 'bff3c9b4c10dcb3ce3820d3a5e144e3df20313dc':
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:03:27 +00:00
Colin Cross bff3c9b4c1 Merge changes I1de10391,I4399ca26,Iec3b2b0b
* changes:
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:00:36 +00:00
Tao Bao 94792ca281 Merge "releasetools: Allow logging the diff for incrementals." am: 6d6e0481fa
am: e88245ddf0

* commit 'e88245ddf0a4920ff90866b9d66b2a3e4bd89f18':
  releasetools: Allow logging the diff for incrementals.
2015-11-30 20:18:45 +00:00
Tao Bao e88245ddf0 Merge "releasetools: Allow logging the diff for incrementals."
am: 6d6e0481fa

* commit '6d6e0481fa86cb552e1b386e5449fe1fde2325cf':
  releasetools: Allow logging the diff for incrementals.
2015-11-30 20:15:39 +00:00
Tao Bao d62c603573 releasetools: Allow logging the diff for incrementals.
Add an option "--log_diff <filename>" to ota_from_target_files.py
script. When enabled, it logs the differences between the source
and target builds into <filename> when generating incremental OTAs.

Also move target_files_diff.py into releasetools/ so that it can be
packed into otatools.zip.

Bug: 25372309
Change-Id: Ifd4ed0f2f12ef040ee377621ec8c35a873cec34f
2015-11-30 11:26:40 -08:00
Colin Cross b15149cb2f Use libstdc++ for ijar
For some reason ijar won't build against libc++ for TARGET_BUILD_APPS
builds, but does build with libstdc++.

(cherry picked from commit 718bab6aec)

Bug: 25904002
Change-Id: I1de103918faa5bb574af6f12cc954e7fed44dc62
2015-11-30 11:16:30 -08:00
Shinichiro Hamaji 80876a6303 Build ijar for apps build
This fixes git_master-linux-apps build.

(cherry picked from commit 9084705744)

Change-Id: I4399ca2662e08c9b3cc2ad5a317e84d91b728115
2015-11-30 11:16:28 -08:00
Shinichiro Hamaji 89b255ab71 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

(cherry picked from commit c1f5d9c203)

Bug: 24597504
Change-Id: Iec3b2b0b0e674bee5d80cce3c300dc8fad6e7c13
2015-11-30 11:16:23 -08:00
Shinichiro Hamaji 371b8c7f77 Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"" am: 2ff3ad9045
am: 51ef51c4ad

* commit '51ef51c4ad283198d5fb4a2ec9caecdc7a677838':
  Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
2015-11-27 04:05:01 +00:00
Shinichiro Hamaji 15bead2c59 Merge "Revert "Build ijar for apps build"" am: d17c3a57f6
am: c3725c256b

* commit 'c3725c256b5d786007f2565324324b386287725a':
  Revert "Build ijar for apps build"
2015-11-27 04:04:53 +00:00
Shinichiro Hamaji 51ef51c4ad Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files""
am: 2ff3ad9045

* commit '2ff3ad90455e868a1805d065f0aa2b8babbc6660':
  Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
2015-11-27 04:02:09 +00:00
Shinichiro Hamaji c3725c256b Merge "Revert "Build ijar for apps build""
am: d17c3a57f6

* commit 'd17c3a57f6f183b97cc557e10e221b4dc1acf47f':
  Revert "Build ijar for apps build"
2015-11-27 04:02:01 +00:00
Shinichiro Hamaji 2ff3ad9045 Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"" 2015-11-27 03:59:30 +00:00
Shinichiro Hamaji d17c3a57f6 Merge "Revert "Build ijar for apps build"" 2015-11-27 03:59:18 +00:00
Shinichiro Hamaji 3ae7f66bab Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
This reverts commit c1f5d9c203.

Change-Id: I7e9969a060e3f1380154da65e76134168aee15d8
2015-11-27 03:58:51 +00:00
Shinichiro Hamaji ea2da50e17 Revert "Build ijar for apps build"
This reverts commit 9084705744.

Change-Id: I8a9958788c51dcec5028ef396cb67abd541ce31f
2015-11-27 03:57:17 +00:00
Colin Cross 06c44241da Merge "Revert "Use libstdc++ for ijar"" am: 41dca40376
am: 6cd88d7514

* commit '6cd88d75147217bc42fed67b558f9e4c836a20a0':
  Revert "Use libstdc++ for ijar"
2015-11-26 22:25:12 +00:00
Colin Cross 6cd88d7514 Merge "Revert "Use libstdc++ for ijar""
am: 41dca40376

* commit '41dca403766d22373ba469d99ba1625d0930d02e':
  Revert "Use libstdc++ for ijar"
2015-11-26 22:23:02 +00:00
Colin Cross 39cca23d41 Revert "Use libstdc++ for ijar"
This reverts commit 718bab6aec.

Change-Id: I9aa222fc2936d7d89ae0700eeef505c6b317d777
2015-11-26 22:20:22 +00:00
Colin Cross 8713fde1c3 Merge "Use libstdc++ for ijar" am: c97b5272d7
am: 4c1944083f

* commit '4c1944083f03e1ddf55f16f815b89a337ffc60f6':
  Use libstdc++ for ijar
2015-11-26 22:14:40 +00:00
Colin Cross 4c1944083f Merge "Use libstdc++ for ijar"
am: c97b5272d7

* commit 'c97b5272d715ab9f4ff52748bd2f403235f94426':
  Use libstdc++ for ijar
2015-11-26 22:12:38 +00:00
Colin Cross 718bab6aec Use libstdc++ for ijar
For some reason ijar won't build against libc++ for TARGET_BUILD_APPS
builds, but does build with libstdc++.

Change-Id: I8e900b0f764f0bb8f827705cb9173f07e4f33862
2015-11-26 14:09:50 -08:00
Colin Cross 93e138b723 Merge "Build ijar for apps build" am: ec4db56e58
am: 3b5dbebe8d

* commit '3b5dbebe8d9a8beac49a8c16605df6afbec4de72':
  Build ijar for apps build
2015-11-26 17:38:34 +00:00
Colin Cross 3b5dbebe8d Merge "Build ijar for apps build"
am: ec4db56e58

* commit 'ec4db56e5802171bc2d0237f496e97ec093f0be0':
  Build ijar for apps build
2015-11-26 17:36:29 +00:00
Colin Cross ec4db56e58 Merge "Build ijar for apps build" 2015-11-26 17:34:50 +00:00
Shinichiro Hamaji 9084705744 Build ijar for apps build
This fixes git_master-linux-apps build.

Change-Id: I1a77b2495d98d89f570cb165d7f25f617c9af9aa
2015-11-26 17:24:40 +09:00
Shinichiro Hamaji b42da32564 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files" am: c9a1b27845
am: 27770abe27

* commit '27770abe272eb54de5eea5fa94342c1393b681a0':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-11-26 05:33:54 +00:00
Shinichiro Hamaji 27770abe27 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
am: c9a1b27845

* commit 'c9a1b278458eddd3065c0e9fc06e12b2cb1c38cb':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-11-26 05:30:54 +00:00
Shinichiro Hamaji c9a1b27845 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files" 2015-11-26 05:25:58 +00:00
Tao Bao fe1373e194 Merge "target_files_diff: Allow writing outputs to file." am: 7b5eddd52b
am: acd1b8e160

* commit 'acd1b8e160c8114bd07be2175388f7dcefe09687':
  target_files_diff: Allow writing outputs to file.
2015-11-25 00:06:08 +00:00
Tao Bao acd1b8e160 Merge "target_files_diff: Allow writing outputs to file."
am: 7b5eddd52b

* commit '7b5eddd52bfb70485488458a115a33f1af92759a':
  target_files_diff: Allow writing outputs to file.
2015-11-25 00:03:01 +00:00
Tao Bao 5dd9a2ce11 target_files_diff: Allow writing outputs to file.
Also clean up some pylint warnings.

Bug: 25372309
Change-Id: I226bfd72cb1310ba77352f8d367803e815e1cfa3
2015-11-24 15:23:20 -08:00
Alex Klyubin 21f2e7bf0f Merge "Clean up compiler warnings in signapk." am: 0aaf7aa53c
am: febce01c64

* commit 'febce01c64c18a4dea9d6f966939c3642b4381ed':
  Clean up compiler warnings in signapk.
2015-11-24 17:39:18 +00:00
Alex Klyubin febce01c64 Merge "Clean up compiler warnings in signapk."
am: 0aaf7aa53c

* commit '0aaf7aa53ce5d1a8b5880303a21b83959bf1a432':
  Clean up compiler warnings in signapk.
2015-11-24 17:36:06 +00:00
Alex Klyubin 0aaf7aa53c Merge "Clean up compiler warnings in signapk." 2015-11-24 17:30:42 +00:00
Alex Klyubin c218d3eca3 Clean up compiler warnings in signapk.
Bug: 25794543
Change-Id: Ia7da4fbaed77af4020e5aa0b14fe5e1bd8521edb
2015-11-24 09:27:55 -08:00
Tao Bao 842e858f0c Merge "releasetools: Fix the bug with TARGET_NO_RECOVERY." am: 4ed5735a68
am: 733ba8f0e4

* commit '733ba8f0e473b214e55e3b93ded7739c35d85b10':
  releasetools: Fix the bug with TARGET_NO_RECOVERY.
2015-11-20 04:53:32 +00:00
Tao Bao 733ba8f0e4 Merge "releasetools: Fix the bug with TARGET_NO_RECOVERY."
am: 4ed5735a68

* commit '4ed5735a68090e9eec240693ff6b97ea57576151':
  releasetools: Fix the bug with TARGET_NO_RECOVERY.
2015-11-20 04:50:31 +00:00
Tao Bao 48550cceb0 releasetools: Fix the bug with TARGET_NO_RECOVERY.
The packaging script is broken when we set TARGET_NO_RECOVERY and
SYSTEM_ROOT_IMAGE both. With TARGET_NO_RECOVERY set, we don't have
RECOVERY/RAMDISK/etc/recovery.fstab. It thus fails the assertion in
common.LoadRecoveryFSTab() that "/" must exist in fstab when enabling
SYSTEM_ROOT_IMAGE.

Change-Id: Id509d724f18be7cf7389dd786924ead894ac0cc1
2015-11-19 17:14:21 -08:00
Tao Bao c684a97329 Add ro.build.ab_update property.
am: 532fdf4479

* commit '532fdf4479acb50cdb480e6fdfe24f0698fcd67b':
  Add ro.build.ab_update property.
2015-11-19 18:42:52 +00:00
Shinichiro Hamaji c1f5d9c203 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

Bug: 24597504
Change-Id: Id54953aea25e497c8ebbe783b03f13b488577c6a
2015-11-19 17:10:35 +09:00
Tao Bao 2c1a4b9e88 Merge "releasetools: Pack updatable images into IMAGES/ for A/B update."
am: 128466cea5

* commit '128466cea5358eadbde19f52f16eef03f2685446':
  releasetools: Pack updatable images into IMAGES/ for A/B update.
2015-11-17 05:37:01 +00:00
Tao Bao 128466cea5 Merge "releasetools: Pack updatable images into IMAGES/ for A/B update." 2015-11-17 05:32:56 +00:00
Tao Bao a0421cd1bd releasetools: Pack updatable images into IMAGES/ for A/B update.
Vendor-specific images (radio, bootloader and etc) used to stay in
RADIO/ in target_files zip. A/B updater expects them to be available
under IMAGES/. Make a copy for such images when calling
add_img_to_target_files.py.

We cannot move them directly from RADIO/ to IMAGES/, because we will
delete everything under IMAGES/ when signing for release.

Bug: 25674625
Change-Id: I977c879d0ff7e45c83b3f5c63844a5b135caa383
2015-11-16 16:42:43 -08:00
Tao Bao 532fdf4479 Add ro.build.ab_update property.
Set ro.build.ab_update if AB_OTA_UPDATER is true. Device will depend on
this property to call the proper update API.

Change-Id: I5916ef5b30ea3351d323382f7ce83a17df2b0a70
2015-11-16 12:38:07 -08:00
Tao Bao b11d2c5dd6 releasetools: Support packaging for system_root_image.
For system images that contain the root directory, we need to find the
root directory at ROOT/ instead of BOOT/RAMDISK/.

 Conflicts:
	tools/releasetools/common.py

Change-Id: Ica345c8b1b03475f8ac6c44fd576045fcf17c882
2015-11-16 12:38:07 -08:00
Tao Bao 6ed1491402 Support systems that use a full copy of recovery image.
If BOARD_USES_FULL_RECOVERY_IMAGE == true, a full copy of recovery
image will be carried as /system/etc/recovery.img instead of a patch
at /system/recovery_from_boot.p.

Bug: 22641135
Change-Id: Ie271d3e2d55d7b003f667ac5b44203d69b23c63b
(cherry picked from commit 8beab69bd5)
2015-11-16 12:02:24 -08:00
Daniel Rosenberg b3b8ce6241 Add support for system images that contain the root directory
When the root directory is included in system, the assumption that
system is mounted at /system breaks down. Redirect /system to /
in that case.

Change-Id: I8031b32d7cb9ca699c1cc22939e28afce9d1c847
2015-11-16 12:02:24 -08:00
Daniel Rosenberg fa7f9f7e0c Add ro.build.system_root_image
ro.build.system_root_image is true if the root directory is built
into the system image.

Change-Id: I17208ebd004c63aebb09db6c3e5f795619e73bd2
2015-11-16 12:02:24 -08:00
Tao Bao 37b96ef26b Honor TARGET_NO_RECOVERY flag.
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: Ia7f08943834ee39e781d7e9b5beb1b31d95a73d9
(cherry picked from commit db45efa647)
2015-11-16 12:02:24 -08:00
Tao Bao 116977c7db DO NOT MERGE Change the cache partition size check into warnings.
For some old builds, we may not define cache partition size. Change the
exception into a warning to make the script backward compatible.

Change-Id: Ia90531e3455d4888cfac6510cab879c50883be53
(cherry picked from commit 575d68a48e)
2015-11-16 12:02:24 -08:00
Tao Bao 741c16686e Merge "build: Remove check_prereq."
am: 79dd4b2983

* commit '79dd4b29831b5fe5b6d9627c0b0373374c4e3036':
  build: Remove check_prereq.
2015-11-12 16:46:13 +00:00
Tao Bao 79dd4b2983 Merge "build: Remove check_prereq." 2015-11-12 16:41:45 +00:00
Tao Bao cb4abef523 build: Remove check_prereq.
check_prereq is a tool for recovery API v2, which has been obselete
since we moved to v3 in [1].

[1] commit e08991e02a7d678f2574e85289a34b2a9a537c82

Bug: 24621915
Change-Id: Ie96348fb56c5a3e029cac2417b59d8eb62dc085b
2015-11-11 21:26:29 -08:00
Dan Willemsen 44c9fc0c28 Merge "Add tool to diff two target files packages"
am: 5685af316e

* commit '5685af316e5e3f9601c8c56a68cad9b833153268':
  Add tool to diff two target files packages
2015-11-12 05:20:03 +00:00
Dan Willemsen 5685af316e Merge "Add tool to diff two target files packages" 2015-11-12 05:16:29 +00:00
Tao Bao 58dcdc41c0 Merge "releasetools: Support generating verify packages."
am: 6af8ef528b

* commit '6af8ef528b97614bbb6cd6733ae5a8bc2fb8fbda':
  releasetools: Support generating verify packages.
2015-11-11 21:58:52 +00:00
Tao Bao 6af8ef528b Merge "releasetools: Support generating verify packages." 2015-11-11 21:53:11 +00:00
Tao Bao a95168b221 Merge "releasetools: Refactor ota_from_target_files.py."
am: c1c01c6504

* commit 'c1c01c65042a84f9d12a1683451433ebaa111545':
  releasetools: Refactor ota_from_target_files.py.
2015-11-11 19:45:41 +00:00
Tao Bao c1c01c6504 Merge "releasetools: Refactor ota_from_target_files.py." 2015-11-11 19:38:44 +00:00
Dan Willemsen eb861a7bc1 Merge "Create reproducible NOTICE collections"
am: 92d746d158

* commit '92d746d1580054722e0bdab9283f515a69e9c1ec':
  Create reproducible NOTICE collections
2015-11-10 21:46:09 +00:00
Tao Bao 9bc6bb23b5 releasetools: Support generating verify packages.
We can generate a special OTA package that verifies all the partitions
(boot, recovery, system, vendor and etc) on a device. It also calls
device-specific script to verify bootloader and radio images. This
ensures a flashed device contains all the desired images faithfully.

Usage:
ota_from_target_files.py --gen_verify target_files.zip output.zip

Bug: 24679956
Change-Id: Ib3091d98c4b17a6fad305b3edf16d09efbda5c38
2015-11-10 12:49:33 -08:00
Dan Willemsen 8ae4984c2c Create reproducible NOTICE collections
Sort the lists of notice files instead of relying on the filesystem
ordering returned by os.walk

Bug: 23972440
Change-Id: Id32be9ce8e540244ad9d67b6fc7883fc2963fe5c
2015-11-10 12:37:23 -08:00
Tao Bao 767e3ac246 releasetools: Refactor ota_from_target_files.py.
Factor out some common lines between generating incremental and full
OTAs. Remove the outer while loop for cleaner logic.

Change-Id: I0a4d44a4a59b488748222c2031bd63f67d45e0b5
2015-11-10 12:23:10 -08:00
Dan Willemsen 9956862b4b Add tool to diff two target files packages
This tool will help identify unexpected differences between two target
files packages. Expected changes (build number / date) are hidden, along
with known bugs.

It ignores anything that is just packaging for other files that are
already being diffed, like the recovery patching, and all of IMAGES/*

Bug 25372309

Change-Id: I4641754dd5dfbdfd3a89d8fa5262b9a9595e8e9c
2015-11-06 18:42:57 -08:00
Dan Willemsen 163196aa48 Merge "Use explicitly sized types in zipalign/ziptime"
am: 1b2685137e

* commit '1b2685137ee9cde6ea24ff37b54c5d8e1ee18b01':
  Use explicitly sized types in zipalign/ziptime
2015-11-05 20:32:46 +00:00
Dan Willemsen 41bc424c32 Use explicitly sized types in zipalign/ziptime
getLongLE would return a 64-bit number with the upper 32-bits set when
decoding a 32-bit number with the top bit set. Per the zip file format,
it was only expected to return a 32-bit number. Use explicitly sized
types so that we use the proper sizes and don't do any implicit
extensions.

Change-Id: I5a4304dc99ce5f8f17284d4ca3094ae115207a1e
2015-11-04 23:52:52 +00:00
Clay Murphy 97b8e290b5 Merge "Docs: Add Security tab to top"
am: e47d8b99a2

* commit 'e47d8b99a2274b7689371685a819b5d1bf6e1cb1':
  Docs: Add Security tab to top
2015-11-03 23:56:54 +00:00
Clay Murphy e47d8b99a2 Merge "Docs: Add Security tab to top" 2015-11-03 23:45:56 +00:00
Bill Yi af05ad919a Merge commit '4f5e8cc3ca6da83f11bf42d04f1a57b9af16a582' into HEAD 2015-11-03 14:28:58 -08:00
Dan Willemsen a0975edc16 Merge "Remove changing uids/timestamps from zip/jar files" 2015-11-03 21:38:45 +00:00
Dan Willemsen 48a621c277 Remove changing uids/timestamps from zip/jar files
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
2015-11-02 14:51:54 -08:00
Clay Murphy 2a0522b277 Docs: Add Security tab to top
Bug: 24908502
Change-Id: If3331bc4ba84a8694bc30cfa81d9dc080e93fa09
2015-10-29 15:19:06 -07:00
Dan Willemsen d8d06da814 Merge "Revert "Remove changing uids/timestamps from zip/jar files""
am: 49d8c5196e

* commit '49d8c5196eb690fc987673c27cb61087c5886be4':
  Revert "Remove changing uids/timestamps from zip/jar files"
2015-10-29 21:33:39 +00:00
Dan Willemsen b589ae4e26 Revert "Remove changing uids/timestamps from zip/jar files"
This reverts commit 3c2c064c87.

zipalign depends on libandroidfw, and some setups don't include frameworks/base.

Bug: 24201956
Change-Id: I48ee95808924f6b2221f0a49ab205c2565096b1f
2015-10-29 21:26:18 +00:00
Dan Willemsen a51b1d532e Merge "Remove changing uids/timestamps from zip/jar files"
am: 9f25219371

* commit '9f252193714c82dbce702e8055ffaa7eec4afe66':
  Remove changing uids/timestamps from zip/jar files
2015-10-29 19:12:37 +00:00
Dan Willemsen 3c2c064c87 Remove changing uids/timestamps from zip/jar files
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
2015-10-29 11:57:16 -07:00
Tao Bao e5eb4567d4 Merge "Honor TARGET_NO_RECOVERY flag."
am: c448e91c3d

* commit 'c448e91c3d3d095f8f200c9925f7db2ad525132f':
  Honor TARGET_NO_RECOVERY flag.
2015-10-29 16:45:31 +00:00
Sami Tolvanen a25cced65f Merge "Error correction: Use block_image_recover in block OTAs"
am: fe4e86c7fd

* commit 'fe4e86c7fd1b9c8903fda194b8515451c477ced9':
  Error correction: Use block_image_recover in block OTAs
2015-10-29 16:45:14 +00:00
Tao Bao c448e91c3d Merge "Honor TARGET_NO_RECOVERY flag." 2015-10-29 16:13:52 +00:00
Sami Tolvanen f0a7c76b45 Error correction: Use block_image_recover in block OTAs
If block_image_verify fails, attempt to recover using FEC before giving up.

Bug: 21893453
Change-Id: Ibc1fe5d28b2a8099d2b5094277b572ec08229c3a
2015-10-29 11:39:31 +00:00
Ying Wang 4f5e8cc3ca Merge "Normalize the product makefile path in inherit-product." am: aabff90bfe
am: 3482ea54a2

* commit '3482ea54a2fecc756c79a94f37a66113d21d7558':
  Normalize the product makefile path in inherit-product.
2015-10-28 23:59:12 +00:00
Ying Wang 3482ea54a2 Merge "Normalize the product makefile path in inherit-product."
am: aabff90bfe

* commit 'aabff90bfe2312a95d3cf57564845fef8dc469a2':
  Normalize the product makefile path in inherit-product.
2015-10-28 23:55:10 +00:00
Ying Wang a174261042 Normalize the product makefile path in inherit-product.
Some vendor product makefiles call $(inherit-product) on the same
product makefile with different paths, by using "../" in relative paths.
However inherit-product requires unique path as ID for a product
makefile, for bookkeeping purpose.
Normalize the product makefile path in inherit-product, if the path
contains "../".

Change-Id: I1a864ce120c713d8e79ec179213b9fc9352aba53
2015-10-28 15:20:41 -07:00
Tao Bao db45efa647 Honor TARGET_NO_RECOVERY flag.
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
2015-10-27 20:00:10 -07:00
Ying Wang 8ac0c4bebb Merge "Normalize java source file paths before running "sort -u"." am: 0d4dad46f4
am: 471d347b89

* commit '471d347b8928e6b030d94869a2a9229086b79528':
  Normalize java source file paths before running "sort -u".
2015-10-23 20:28:15 +00:00
Ying Wang 471d347b89 Merge "Normalize java source file paths before running "sort -u"."
am: 0d4dad46f4

* commit '0d4dad46f44d6f4a498a1a8205a4b26ae2e55ac5':
  Normalize java source file paths before running "sort -u".
2015-10-23 20:24:52 +00:00
Ying Wang 4d68879ca6 Normalize java source file paths before running "sort -u".
We rely on "sort -u" to dedupe aidl/logtags generated java files added
by both from $(all_java_sources) and from "find
$(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java".
But "sort -u" doesn't work if any of the aidl/logtags source file path
has "../" in it.
This change fixes this issue by normalizing the source file paths before
passing them to "sort -u".

Change-Id: I12d2c4e0397bed9f426a1ed9b13608d72d01e0df
2015-10-23 13:19:47 -07:00
Tao Bao 5ddc4ac802 Merge "Bump up the BBOTA version to 4." am: ac4ec1a4ea
am: ada3927e53

* commit 'ada3927e53f5ff99beb6919162ea186924cb7621':
  Bump up the BBOTA version to 4.
2015-10-23 18:49:59 +00:00
Tao Bao ada3927e53 Merge "Bump up the BBOTA version to 4."
am: ac4ec1a4ea

* commit 'ac4ec1a4ea83a150e08ccd43f30fe34de52cdebf':
  Bump up the BBOTA version to 4.
2015-10-23 18:45:35 +00:00
Tao Bao eba409c4da Bump up the BBOTA version to 4.
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
2015-10-23 10:45:36 -07:00
Tao Bao cae2a34bf8 Merge "Fix calculation of stashed blocks." am: db08d835d0
am: 8287572f7f

* commit '8287572f7fefe72e4519aab96ea4e93d3c02ed2b':
  Fix calculation of stashed blocks.
2015-10-22 19:13:42 +00:00
Tao Bao 8287572f7f Merge "Fix calculation of stashed blocks."
am: db08d835d0

* commit 'db08d835d0d071b27fc6fcf14e0cf261a5f18f68':
  Fix calculation of stashed blocks.
2015-10-22 19:11:12 +00:00
Tao Bao db08d835d0 Merge "Fix calculation of stashed blocks." 2015-10-22 18:57:42 +00:00
Tao Bao ecffed1a4a Merge "blockimgdiff.py: Fix the script error for BBOTA v1." am: bcb9240a2b
am: 954024649e

* commit '954024649eaca7b257030846126329951e627ecd':
  blockimgdiff.py: Fix the script error for BBOTA v1.
2015-10-22 18:15:05 +00:00
Tao Bao 954024649e Merge "blockimgdiff.py: Fix the script error for BBOTA v1."
am: bcb9240a2b

* commit 'bcb9240a2b168c711e4a9543e9d34f9c58a6f0c2':
  blockimgdiff.py: Fix the script error for BBOTA v1.
2015-10-22 18:12:56 +00:00
caozhiyuan 21b37d83eb Fix calculation of stashed blocks.
Change-Id: Ic3d607cb6691fc58e189a54a7244942cf3f3c387
Signed-off-by: caozhiyuan <cao.zhiyuan@zte.com.cn>
2015-10-22 09:57:10 +08:00
Tao Bao 4fcb77e4e3 blockimgdiff.py: Fix the script error for BBOTA v1.
CL in [1] added an assertion to make sure an empty RangeSet cannot call
RangeSet.to_raw_string(). However, we may unintentionally hit that when
generating BBOTA v1 script (e.g. for "new" commands that always have
empty src_ranges).

[1] commit e8f756137c

Change-Id: I1723606967f354ace9286d2b888fdbc80ba10e39
2015-10-21 17:03:18 -07:00
Colin Cross 5538dc8bfe Merge changes I2ba90314,I5f47307d am: fc8b331858
am: 8b63d67e1b

* commit '8b63d67e1ba42d090e19cae32e802117b9cac852':
  makeparallel: prepend flags to ninja command line
  Put NINJA_ARGS last
2015-10-21 00:26:52 +00:00
Colin Cross 8b63d67e1b Merge changes I2ba90314,I5f47307d
am: fc8b331858

* commit 'fc8b331858747f8207e3861c0ada2c4fd359f648':
  makeparallel: prepend flags to ninja command line
  Put NINJA_ARGS last
2015-10-21 00:21:52 +00:00
Colin Cross 466ea35202 makeparallel: prepend flags to ninja command line
Ninja stops parsing top level options after -t is used to select a
tool.  Put any inserted command line options at the beginning of the
command.

Change-Id: I2ba903143366aaded63e21d749476248617c8962
2015-10-20 17:05:49 -07:00
Sami Tolvanen 6a14ba317c am 58a748d3: am 87f58261: Merge "Error correction: Append codes to verified partitions"
* commit '58a748d37e0a6f9ec063b374d4f60354def26579':
  Error correction: Append codes to verified partitions
2015-10-19 09:59:12 +00:00
Sami Tolvanen 58a748d37e am 87f58261: Merge "Error correction: Append codes to verified partitions"
* commit '87f582611a5a5c23abf3237abe0e467e46111567':
  Error correction: Append codes to verified partitions
2015-10-19 02:55:51 -07:00
Sami Tolvanen 87f582611a Merge "Error correction: Append codes to verified partitions" 2015-10-19 09:49:18 +00:00
Ying Wang 6129c60a35 am cd9545a4: am 4f6f0f92: Merge "If a console doesn\'t exist, read password from stdin."
* commit 'cd9545a499a1124a52e4edf962c53b83f23ebae8':
  If a console doesn't exist, read password from stdin.
2015-10-18 17:17:28 +00:00
Ying Wang cd9545a499 am 4f6f0f92: Merge "If a console doesn\'t exist, read password from stdin."
* commit '4f6f0f924eba9f80493861a9e7ff7f40f9924aa2':
  If a console doesn't exist, read password from stdin.
2015-10-18 10:12:27 -07:00
Ying Wang 4f6f0f924e Merge "If a console doesn't exist, read password from stdin." 2015-10-18 17:07:28 +00:00
Tao Bao 5631d5c6e1 am 46ae586a: am e09359ab: DO NOT MERGE Pass source\'s info_dict to vendor\'s releasetools.py.
* commit '46ae586ab26f5bf63baaac6c68942f1bfba4addc':
  DO NOT MERGE Pass source's info_dict to vendor's releasetools.py.
2015-10-17 00:13:36 +00:00
Tao Bao 46ae586ab2 am e09359ab: DO NOT MERGE Pass source\'s info_dict to vendor\'s releasetools.py.
* commit 'e09359abc0f8c29fbb16d35ab7375d80fde6f931':
  DO NOT MERGE Pass source's info_dict to vendor's releasetools.py.
2015-10-17 00:09:35 +00:00
Tao Bao 88aea00628 am 6ce8ae76: am ac39bef4: Merge "common.py: Fix the build."
* commit '6ce8ae761b8a238ce215638510230baed277235f':
  common.py: Fix the build.
2015-10-16 22:50:39 +00:00
Tao Bao e09359abc0 DO NOT MERGE Pass source's info_dict to vendor's releasetools.py.
When building incremental packages, the info_dict from the source build
should be the one in use. We have done that for most of the partitions
(system and etc.), and should pass that to vendor's script as well.

Also includes the CL in commit aac4ad56b6
that fixes a bug in commit 6f0b219ac5.

Bug: 24898607
Change-Id: I4ea6037dad7061e1683661fc4c394fa3a7a7c5cd
(cherry picked from commit 6f0b219ac5)
2015-10-16 15:47:51 -07:00
Tao Bao 6ce8ae761b am ac39bef4: Merge "common.py: Fix the build."
* commit 'ac39bef43fb032bff75b8558f54107e733355265':
  common.py: Fix the build.
2015-10-16 15:46:31 -07:00
Tao Bao aac4ad56b6 common.py: Fix the build.
Should only use source_info_dict when creating incremental OTAs.

Change-Id: I6a4e5f8fa3613a1b36563ec915e433247965a2b8
2015-10-16 15:28:00 -07:00
Tao Bao db078f5166 am 63e63c2a: am 543b28d4: Merge "Pass source\'s info_dict to vendor\'s releasetools.py."
* commit '63e63c2a0754e726d6f810588a0314a79268f404':
  Pass source's info_dict to vendor's releasetools.py.
2015-10-16 21:55:46 +00:00
Tao Bao 63e63c2a07 am 543b28d4: Merge "Pass source\'s info_dict to vendor\'s releasetools.py."
* commit '543b28d42f8fdebe011a906826251ab8df70a226':
  Pass source's info_dict to vendor's releasetools.py.
2015-10-16 14:49:40 -07:00
Sami Tolvanen f99b53143d Error correction: Append codes to verified partitions
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
2015-10-14 18:06:20 +01:00
Tao Bao 6f0b219ac5 Pass source's info_dict to vendor's releasetools.py.
When building incremental packages, the info_dict from the source build
should be the one in use. We have done that for most of the partitions
(system and etc.), and should pass that to vendor's script as well.

Bug: 24898607
Change-Id: Ie2973d41b905637862616286663baf80df83bd88
2015-10-13 16:38:36 -07:00
Tao Bao ed48af8d5b am b03d55aa: Merge "DO NOT MERGE: Only use a fixed timestamp when packaging." into mnc-dr-dev
* commit 'b03d55aaeb5962690631ed1a25d8e628667d8ad2':
  DO NOT MERGE: Only use a fixed timestamp when packaging.
2015-10-12 18:42:21 +00:00
Tao Bao 338da607e8 DO NOT MERGE: Only use a fixed timestamp when packaging.
This CL changes to use a fixed timestamp only when packaging
into the target_files zip.

Bug: 24377993
Change-Id: I01d136f4b99e1eff80c559192d93db83a3c5c0a4
(cherry picked from commit 822f5840c0)
2015-10-12 09:55:26 -07:00
Joe Fernandez 8563700a72 am 761fcbe7: am fed4cf89: am 1b5eef1b: am b16edb5f: Merge "add unique ID to each windows download link. These IDs are necessary for the TOS wall to identify which link should be applied to the download button." into mnc-dev
* commit '761fcbe7920ccc3fc2e85fde2844f19ce9163658':
  add unique ID to each windows download link. These IDs are necessary for the TOS wall to identify which link should be applied to the download button.
2015-10-10 00:20:36 +00:00
Joe Fernandez fed4cf896d am 1b5eef1b: am b16edb5f: Merge "add unique ID to each windows download link. These IDs are necessary for the TOS wall to identify which link should be applied to the download button." into mnc-dev
* commit '1b5eef1b490cc143474ec74d58369aac9bf6629e':
  add unique ID to each windows download link. These IDs are necessary for the TOS wall to identify which link should be applied to the download button.
2015-10-10 00:08:09 +00:00
Joe Fernandez 1b5eef1b49 am b16edb5f: Merge "add unique ID to each windows download link. These IDs are necessary for the TOS wall to identify which link should be applied to the download button." into mnc-dev
* commit 'b16edb5f3ef9032b7e19c29aac2496c34bb8ac76':
  add unique ID to each windows download link. These IDs are necessary for the TOS wall to identify which link should be applied to the download button.
2015-10-09 23:59:07 +00:00
Joe Fernandez b16edb5f3e Merge "add unique ID to each windows download link. These IDs are necessary for the TOS wall to identify which link should be applied to the download button." into mnc-dev 2015-10-09 23:54:46 +00:00
smain@google.com 3d59345527 add unique ID to each windows download link.
These IDs are necessary for the TOS wall to identify which link should be applied to the download button.

Change-Id: I1b5b8b516a5b8d7fd8433c02011cb4fb2044b71f
2015-10-09 16:30:05 -07:00
Tao Bao 128f01cf58 am ce9635ec: am 2124d7e1: Merge "Only use a fixed timestamp when packaging."
* commit 'ce9635ec7ad6bcc6b9bc74136edb91847fe9e4ff':
  Only use a fixed timestamp when packaging.
2015-10-01 00:00:06 +00:00
Tao Bao ce9635ec7a am 2124d7e1: Merge "Only use a fixed timestamp when packaging."
* commit '2124d7e1e2dec91ce4ab15c6a215d61f7693a8d6':
  Only use a fixed timestamp when packaging.
2015-09-30 23:50:49 +00:00
Tao Bao 822f5840c0 Only use a fixed timestamp when packaging.
[1] changed to use a fixed timestamp for all the generated images
(either the one under $ANDROID_PRODUCT_OUT/ or the one added into the
target_files zip). It makes 'adb sync' after 'fastboot flashall' to
resync all the files. This CL changes to use a fixed timestamp only when
packaging into the target_files zip.

[1]: commit 052ae3542b

Bug: 24377993
Bug: 24536411
Change-Id: I209318966109fd4902468dfe96caf777464f9fe1
2015-09-30 16:01:14 -07:00
Tao Bao 5b8bd02ed4 am 9a5afa52: am 5e23069b: Merge "build_image.py: Use a fixed timestamp in the generated image."
* commit '9a5afa5242a4d179fc45f59944c0fba5ccaa4c15':
  build_image.py: Use a fixed timestamp in the generated image.
2015-09-28 21:24:38 +00:00
Tao Bao 9a5afa5242 am 5e23069b: Merge "build_image.py: Use a fixed timestamp in the generated image."
* commit '5e23069bceebfbf17f67c709bad495d707b194dc':
  build_image.py: Use a fixed timestamp in the generated image.
2015-09-28 21:16:34 +00:00
Tao Bao 052ae3542b build_image.py: Use a fixed timestamp in the generated image.
Bug: 24377993
Change-Id: I9b1433c8c877dc2a391615bb016b8970426e9f70
2015-09-28 13:44:13 -07:00
adattatr 50c7c5a722 If a console doesn't exist, read password from stdin.
When signapk.jar is invoked by scripts like
sign_target_files_apks.py, there is no console as signapk is
invoked using popen(). To support signing of APKs using
software keys with passwords, we need to read
the password from stdin if there is no console.

Change-Id: Icf69ba1e58bf1f91979eaf1d3b91cb202782e8fd
Signed-off-by: adattatr <anisha.dattatraya.kulkarni@intel.com>
Signed-off-by: Brad Geltz <brad.geltz@intel.com>
2015-09-28 11:44:27 -07:00
Tao Bao c41dc0ad1a am 251d56b8: Merge "releasetools: Update the fingerprint when signing."
* commit '251d56b851af2159df8139639b4a1a1602d60163':
  releasetools: Update the fingerprint when signing.
2015-09-25 21:14:17 +00:00
Tao Bao cb7ff77da5 releasetools: Update the fingerprint when signing.
ro.bootimage.build.fingerprint should be updated when signing.

Bug: 22720426
Bug: 24009888
Change-Id: Ib246a257581fd31f90ad6b3d21f39d1a2de24ba8
(cherry picked from commit 265d9aeb62)
2015-09-25 12:41:34 -07:00
Colin Cross 7f908a438b am a084f2c7: am 0881ce18: Merge changes Ic1be7572,Id6481430
* commit 'a084f2c73b905ab4906eb5e7aad593bd6fa222e6':
  Pass --ninja to makeparallel for ninja
  makeparallel: improve support for wrapping ninja
2015-09-19 19:59:59 +00:00
Colin Cross a084f2c73b am 0881ce18: Merge changes Ic1be7572,Id6481430
* commit '0881ce1817395d62d2746a14350767bf411f89d4':
  Pass --ninja to makeparallel for ninja
  makeparallel: improve support for wrapping ninja
2015-09-19 19:52:44 +00:00
Colin Cross 69047fab7e makeparallel: improve support for wrapping ninja
Allow makeparallel to pass better -j and -k arguments to ninja if the
first argument to makeparallel is --ninja.  Uses getopt to parse
MAKEFLAGS to get values for --jobserver-fds, -k, and -j, and uses the
result to not pass any -j argument to ninja for make -j with no number,
and pass -k0 to ninja for make -k.

Also improve the test makefile to provide many more tests.

Bug: 24199503
Change-Id: Id6481430f77e9e952213be58a98fe78c46ee5d6a
2015-09-18 15:02:40 -07:00
Baligh Uddin 12ab99be09 am aa3d37a1: am 5790d54a: am 59f4ff10: Add verity_signer and verity_key flags to add_img_to_target_files.
* commit 'aa3d37a1d704ab9204de7d76dca784c9b17bd2ee':
  Add verity_signer and verity_key flags to add_img_to_target_files.
2015-09-17 05:01:26 +00:00
Baligh Uddin 5790d54ab8 am 59f4ff10: Add verity_signer and verity_key flags to add_img_to_target_files.
* commit '59f4ff109d7da6d608cb6b1248a4403b13d8b2bc':
  Add verity_signer and verity_key flags to add_img_to_target_files.
2015-09-17 04:46:21 +00:00
Baligh Uddin 59f4ff109d Add verity_signer and verity_key flags to add_img_to_target_files.
The signing process requires the boot and recovery images be signed
by CROS-Signer, which is done after a signed_target_files.zip is
available.  Once the boot/recovery images are signed, we need
to insert it back into signed_target_files.zip and regenerate the
system.map and verity tree.  The script (add_img_to_target_files) does
this operation and needs to be aware of verity specific flags.

Bug: 23831896
Change-Id: Id24e878161052c768b74da1231b97eb0574b4c8b
2015-09-16 21:20:30 -07:00
Ian Pedowitz 2029791350 resolved conflicts for f4fc29b0 to mnc-dr-dev-plus-aosp
Change-Id: Ieee6621881ace1631ae53d2a5879c271ba45382f
2015-09-15 19:18:15 -07:00
Ian Pedowitz b00f80cc65 am a0abf49d: resolved conflicts for a1fcaf86 to mnc-dr-dev
* commit 'a0abf49d2bdc42c81e5f636e54da9038de9dfc21':
  Add an option to include a full bootloader in incremental OTA.
2015-09-16 01:48:58 +00:00
Ian Pedowitz a0abf49d2b resolved conflicts for a1fcaf86 to mnc-dr-dev
Change-Id: Ie53652faa530a3c9c83f30c8f2b636d90f0f1b7a
2015-09-15 18:39:19 -07:00
leozwang a1fcaf86c4 Add an option to include a full bootloader in incremental OTA.
Bug: 23999213
Change-Id: I6c715eb01048e187622ba1e90c89a3306a294b8a
2015-09-15 08:44:12 -07:00
leozwang 5f37367d7d am 34863c69: am d0c8ef98: am 1e7f6f74: Fix build.
* commit '34863c6989c0df7ba6c31d0f70804728c4ad69af':
  Fix build.
2015-09-15 09:53:14 +00:00
leozwang d0c8ef989e am 1e7f6f74: Fix build.
* commit '1e7f6f7442ca2addc8e4447d3070c625dbba8d3f':
  Fix build.
2015-09-15 07:57:43 +00:00
leozwang 91c8c66eb0 am 17aa06f6: Fix build.
* commit '17aa06f6fe0c10cb3bb84a11dfc78a88a4155adc':
  Fix build.
2015-09-15 07:52:08 +00:00
leozwang 1e7f6f7442 Fix build.
Convert ota_from_target_files back to symbolic link.

Change-Id: I932ba8c0b15fa71a27083adc92e9f9a90dc82f8c
(cherry picked from commit 17aa06f6fe)
2015-09-15 07:50:10 +00:00
leozwang 17aa06f6fe Fix build.
Convert ota_from_target_files back to symbolic link.

Change-Id: I932ba8c0b15fa71a27083adc92e9f9a90dc82f8c
2015-09-15 00:41:53 -07:00
Leo Wang 684b234ddf am 6570b1e6: am 0cec840c: am 888b6f47: am 47f6a4e7: am 1c1a6d15: am 2c9dfb82: am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '6570b1e6373e709e01fc91fd7589abeb0a4d4c01':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 05:11:26 +00:00
Leo Wang 0cec840cbc am 888b6f47: am 47f6a4e7: am 1c1a6d15: am 2c9dfb82: am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '888b6f47c73c7ff0f4780e4406f18a83dbd4d8c2':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 04:58:06 +00:00
Leo Wang 888b6f47c7 am 47f6a4e7: am 1c1a6d15: am 2c9dfb82: am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '47f6a4e72592bef7ed91f2541c55c151428e11ad':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 04:51:19 +00:00
Leo Wang 47f6a4e725 am 1c1a6d15: am 2c9dfb82: am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '1c1a6d15b2c979f28d3cf9a13e96e16e24be16ec':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 04:43:38 +00:00
Leo Wang 1c1a6d15b2 am 2c9dfb82: am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '2c9dfb8239bb4cbe1c9118ccc5bd115713f513e6':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 04:36:53 +00:00
Leo Wang 2c9dfb8239 am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '1d4ad5158b2cf2f30269d8f733548188208af64a':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 04:29:45 +00:00
Leo Wang 1d4ad5158b Revert "Add an option to include a full bootloader in incremental OTA."
This reverts commit 46d5efcd0d.

Change-Id: Ibd347be362db50c0cdb34bf828718872bd74ad56
2015-09-15 04:03:20 +00:00
leozwang ffa5b08178 am 89cd35ab: am fd5330c0: am 160603cf: am 5837f102: am 1753b4e9: resolved conflicts for 00fdede3 to lmp-mr1-ub-dev
* commit '89cd35ab823fc549072aed41dd44cce5886e3d06':
  Add an option to include a full bootloader in incremental OTA.
2015-09-15 02:12:35 +00:00
leozwang fd5330c057 am 160603cf: am 5837f102: am 1753b4e9: resolved conflicts for 00fdede3 to lmp-mr1-ub-dev
* commit '160603cfc20362df30886a05735054842c6f79b8':
  Add an option to include a full bootloader in incremental OTA.
2015-09-15 01:24:53 +00:00
leozwang 160603cfc2 am 5837f102: am 1753b4e9: resolved conflicts for 00fdede3 to lmp-mr1-ub-dev
* commit '5837f1025cf28935f3c6f3e0417dcfeac4d56688':
  Add an option to include a full bootloader in incremental OTA.
2015-09-15 01:17:03 +00:00
leozwang 5837f1025c am 1753b4e9: resolved conflicts for 00fdede3 to lmp-mr1-ub-dev
* commit '1753b4e9e444d9ce57f5ce481ed5e3317670ee31':
  Add an option to include a full bootloader in incremental OTA.
2015-09-15 01:07:05 +00:00
Colin Cross b690d4e955 am e173cb8b: am 4ce3cea7: Merge changes I6e4f957c,Id41a2d81
* commit 'e173cb8b38ab2ac8eb1b5373eb2987516aacdeb3':
  Use makeparallel to propagate -j flag to ninja or kati
  Implement makeparallel
2015-09-15 00:30:41 +00:00
Colin Cross e173cb8b38 am 4ce3cea7: Merge changes I6e4f957c,Id41a2d81
* commit '4ce3cea77065396b81a4e50283b785e9cc64788f':
  Use makeparallel to propagate -j flag to ninja or kati
  Implement makeparallel
2015-09-15 00:25:06 +00:00
leozwang 1753b4e9e4 resolved conflicts for 00fdede3 to lmp-mr1-ub-dev
Change-Id: If4b79f7ed4d67cd8ed708a84703eac58b1e979ac
2015-09-14 16:39:23 -07:00
Colin Cross a55544875a Implement makeparallel
makeparallel communicates with the GNU make jobserver
(http://make.mad-scientist.net/papers/jobserver-implementation/)
in order claim all available jobs, and then passes the number of jobs
claimed to a subprocess with -j<jobs>.

Change-Id: Id41a2d81e0d835517da8ba52c818c763fc455c14
2015-09-14 14:33:50 -07:00
leozwang 00fdede320 am 46d5efcd: Add an option to include a full bootloader in incremental OTA.
* commit '46d5efcd0d451a48cc793931efef2b1ca982386d':
  Add an option to include a full bootloader in incremental OTA.
2015-09-14 21:27:04 +00:00
leozwang 46d5efcd0d Add an option to include a full bootloader in incremental OTA.
Bug: 23101469
Bug: 23999213

Change-Id: Id5ed748a5639663bb5df954f9375838fd9c295ca
2015-09-14 10:41:34 -07:00
Tao Bao 2acb582a83 am fdd713fa: am fbecca31: am e35d00d0: am 265d9aeb: releasetools: Update the fingerprint when signing.
* commit 'fdd713fa78b589eb89dc9c02d34af2148f24afe8':
  releasetools: Update the fingerprint when signing.
2015-09-12 23:21:25 +00:00
Tao Bao fbecca3143 am e35d00d0: am 265d9aeb: releasetools: Update the fingerprint when signing.
* commit 'e35d00d019aaff92b5e20b86d9c3b8222c0c946a':
  releasetools: Update the fingerprint when signing.
2015-09-12 23:07:41 +00:00
Tao Bao e35d00d019 am 265d9aeb: releasetools: Update the fingerprint when signing.
* commit '265d9aeb622c5829787b16b903f028cacaa99c18':
  releasetools: Update the fingerprint when signing.
2015-09-12 23:00:24 +00:00
Tao Bao 265d9aeb62 releasetools: Update the fingerprint when signing.
ro.bootimage.build.fingerprint should be updated when signing.

Bug: 22720426
Bug: 24009888
Change-Id: I5bd31858c6bc31edcecc6f5248f4274481506288
2015-09-11 16:47:28 -07:00
Tao Bao 8cb50e052f am e0540445: am c5fe3f11: Merge "releasetools: Fix the expected total blocks."
* commit 'e0540445e3d5d7bd5439312a60aa0c467bae1b39':
  releasetools: Fix the expected total blocks.
2015-09-09 19:44:37 +00:00
Tao Bao e0540445e3 am c5fe3f11: Merge "releasetools: Fix the expected total blocks."
* commit 'c5fe3f117d79ed9ddb6e77fbf211a87dc5dffed4':
  releasetools: Fix the expected total blocks.
2015-09-09 19:39:40 +00:00
Tao Bao b32d56ea8c releasetools: Fix the expected total blocks.
With the change in [1], it zeroes out extra blocks that might be read
by dm-verity. We should update the expected number of blocks that get
touched.

[1] commit e9b619108d.

Bug: 23786644
Change-Id: I7a7c3531e5af6bf381d3a14832e77abfa9a8efce
2015-09-09 11:56:58 -07:00
Tao Bao 484617a79a am 5ffff55b: am 10b2e62b: Merge "releasetools: Don\'t write empty groups."
* commit '5ffff55bbd5770dfc3e7586396c326f97c7b2b47':
  releasetools: Don't write empty groups.
2015-09-08 22:38:35 +00:00
Tao Bao 5ffff55bbd am 10b2e62b: Merge "releasetools: Don\'t write empty groups."
* commit '10b2e62b6d45dc4b406be1544fd9b25d6f800e89':
  releasetools: Don't write empty groups.
2015-09-08 22:33:16 +00:00
Tao Bao 42206c3f2f releasetools: Don't write empty groups.
For a DataImage, we may have no mapping of ZERO or NONZERO blocks. Don't
write those groups if they are empty.

Bug: 19024504
Change-Id: I1e921effcdbf0661d4f4b541c104dd456ac0c582
2015-09-08 14:06:08 -07:00
Tao Bao 8eb3ac18ad am 28f6f9c3: releasetools: Always write the last block if it\'s padded.
* commit '28f6f9c3deb4d23fd627d15631d682a5cfa989fc':
  releasetools: Always write the last block if it's padded.
2015-09-08 20:30:51 +00:00
Tao Bao 00f3c89fd4 rangelib.py: Remove the obsolete comment line.
It was supposed to be removed in [1], but still exists for unknown
reason.

[1]: commit e8f756137c

Change-Id: Ic51e14085294495ec390bbf3cbe8c4fb6e97b860
2015-09-08 12:08:24 -07:00
Tao Bao 4748de05f0 am 102ffce5: am 16656668: Merge "releasetools: Always write the last block if it\'s padded."
* commit '102ffce5dc9aefa6da39e3d91b7c7acf071a302b':
  releasetools: Always write the last block if it's padded.
2015-09-08 17:58:44 +00:00
Tao Bao 28f6f9c3de releasetools: Always write the last block if it's padded.
In BBOTAs if the last block of a DataImage is padded, we should always
write the whole block even for incremental OTAs. Because otherwise the
last block may be skipped if unchanged, but would fail the post-install
verification if it has non-zero contents in the padding bytes.

Bug: 23828506
Change-Id: I6f6789eec568ed0b808b9e425f5ecdbea1bdf446
(cherry picked from commit 7589e961a7)
2015-09-08 10:55:32 -07:00
Tao Bao 102ffce5dc am 16656668: Merge "releasetools: Always write the last block if it\'s padded."
* commit '16656668e1cca5b62ca4487206c462b93bf5a0fc':
  releasetools: Always write the last block if it's padded.
2015-09-08 17:50:25 +00:00
Tao Bao 7589e961a7 releasetools: Always write the last block if it's padded.
In BBOTAs if the last block of a DataImage is padded, we should always
write the whole block even for incremental OTAs. Because otherwise the
last block may be skipped if unchanged, but would fail the post-install
verification if it has non-zero contents in the padding bytes.

Bug: 23828506
Change-Id: I4b0af7344d18261258cd48d18c029c089d6ff365
2015-09-05 20:54:55 -07:00
Tao Bao 276a4f4512 am 2f44006a: am 8f4b307e: Merge "releasetools: Fix the bug when deleting files."
* commit '2f44006a4bbfe6eb7af4d69a24bd068a0875a304':
  releasetools: Fix the bug when deleting files.
2015-09-04 18:02:30 +00:00