Commit Graph

3402 Commits

Author SHA1 Message Date
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
Tao Bao
2f44006a4b am 8f4b307e: Merge "releasetools: Fix the bug when deleting files."
* commit '8f4b307e56ea73153f249b44dc2b15de77e058f7':
  releasetools: Fix the bug when deleting files.
2015-09-04 17:56:22 +00:00
Tao Bao
8f4b307e56 Merge "releasetools: Fix the bug when deleting files." 2015-09-04 17:05:55 +00:00
Tao Bao
a77d41e2f7 releasetools: Fix the bug when deleting files.
For file-based OTAs, we used to remove unneeded files in ascending
order, which failed to delete non-empty directories. Reverse the order
to fix the issue.

For example, now we have the following in our generated script:
  delete("/system/app/Calculator/arm/Calculator.odex",
         "/system/app/Calculator/arm/",
         "/system/app/Calculator/Calculator.apk",
         "/system/app/Calculator/");

Bug: 22960996
Change-Id: I0d36d29b7862fb53bf55bf5685a990180f9c0b3b
2015-09-03 21:21:55 -07:00
Dan Willemsen
1205f2d953 am f18345af: am 4379e2b8: Merge "Add LOCAL_MODULE_HOST_OS"
* commit 'f18345af74ad00d057adad89b1d154471ebf118f':
  Add LOCAL_MODULE_HOST_OS
2015-09-04 01:39:49 +00:00
Dan Willemsen
f18345af74 am 4379e2b8: Merge "Add LOCAL_MODULE_HOST_OS"
* commit '4379e2b8bbaf2a02777f189c758e251015eb7f76':
  Add LOCAL_MODULE_HOST_OS
2015-09-04 01:31:22 +00:00
Dan Willemsen
859ac34064 Add LOCAL_MODULE_HOST_OS
Instead of wrapping a host module definition in 'ifeq($(HOST_OS),...)'
in the Android.mk files, define which hosts are supported using
LOCAL_MODULE_HOST_OS.

A blank LOCAL_MODULE_HOST_OS means that linux and darwin are supported.
A non-empty LOCAL_MODULE_HOST_OS lists the supported HOST_OSs.

Change-Id: I1e342d1908cfa00aef2c39c145b4f5f81c373bc6
2015-09-03 16:40:51 -07:00
Tao Bao
de4177d815 am a6e6afbc: am 39c322ce: releasetools: Fix the bug in symlink deletion.
* commit 'a6e6afbce69da968299898944bb2165f5e799886':
  releasetools: Fix the bug in symlink deletion.
2015-09-03 18:14:42 +00:00
Tao Bao
a6e6afbce6 am 39c322ce: releasetools: Fix the bug in symlink deletion.
* commit '39c322cefcc0ecba76a2ffb8881694fd010a87fc':
  releasetools: Fix the bug in symlink deletion.
2015-09-03 17:26:12 +00:00
Tao Bao
39c322cefc releasetools: Fix the bug in symlink deletion.
For file-based OTAs, symlinks in the source build but not in the target
build will be deleted. However, if a symlink is replaced by a regular
file in the target build, the file will be accidentally deleted when
applying (resuming) the same package again.

Verify the checksum of a symlink that will be unpacked or renamed to.
Delete the file only if it doesn't have the target checksum.

Bug: 23646151
Change-Id: I77bae035e39f2e0be25f7f6d71c5882464e3d50f
(cherry picked from commit 84006eacd0)
2015-09-02 21:21:17 -07:00
Tao Bao
11a93a4831 am 3fb3ece6: am c6c9c61d: Merge "releasetools: Fix the bug in symlink deletion."
* commit '3fb3ece67e643e7437f222068e61ee254ee90b26':
  releasetools: Fix the bug in symlink deletion.
2015-09-03 02:15:37 +00:00
Tao Bao
3fb3ece67e am c6c9c61d: Merge "releasetools: Fix the bug in symlink deletion."
* commit 'c6c9c61d05ffcc41239baaa1f3011b17e8518b65':
  releasetools: Fix the bug in symlink deletion.
2015-09-03 01:40:41 +00:00
Tao Bao
84006eacd0 releasetools: Fix the bug in symlink deletion.
For file-based OTAs, symlinks in the source build but not in the target
build will be deleted. However, if a symlink is replaced by a regular
file in the target build, the file will be accidentally deleted when
applying (resuming) the same package again.

Verify the checksum of a symlink that will be unpacked or renamed to.
Delete the file only if it doesn't have the target checksum.

Bug: 23646151
Change-Id: Ie322abb6022b6fa812c6b36a3127872d9614fc3b
2015-09-02 17:51:16 -07:00
smain@google.com
022b2bbb14 am 59bc4701: am deb3c8c4: am 77c1ff7b: am 4ffdc8fa: Fix bug that caused table of Studio links to result in "stand-alone" tools instructions. bug: 23570662
* commit '59bc470107ad2e1aac75155f3acc07755232534c':
  Fix bug that caused table of Studio links to result in "stand-alone" tools instructions. bug: 23570662
2015-08-31 22:07:09 +00:00
smain@google.com
deb3c8c453 am 77c1ff7b: am 4ffdc8fa: Fix bug that caused table of Studio links to result in "stand-alone" tools instructions. bug: 23570662
* commit '77c1ff7bf983ef4622ecb227d4e5b0c75728c28f':
  Fix bug that caused table of Studio links to result in "stand-alone" tools instructions. bug: 23570662
2015-08-31 21:46:46 +00:00
Tao Bao
418632f517 resolved conflicts for merge of 50827e0d to mnc-dr-dev-plus-aosp
Change-Id: I88f94e520f59a381f441de9d4bad158b6c7045c4
2015-08-31 14:38:31 -07:00
smain@google.com
77c1ff7bf9 am 4ffdc8fa: Fix bug that caused table of Studio links to result in "stand-alone" tools instructions. bug: 23570662
* commit '4ffdc8faf2c795027f38b6ef4685dd6d1179878e':
  Fix bug that caused table of Studio links to result in "stand-alone" tools instructions. bug: 23570662
2015-08-31 21:36:29 +00:00
Tao Bao
29c245e803 am e337093e: Merge changes from topic \'stash-size\' into mnc-dr-dev
* commit 'e337093e6c5d502f0f4094639b41c001b3048d0f':
  Split large files for BBOTA v3.
  Revise stash for BBOTAs when needed.
  Assert the stash size when generating OTAs.
2015-08-31 21:10:06 +00:00
smain@google.com
4ffdc8faf2 Fix bug that caused table of Studio links to result in "stand-alone" tools instructions.
bug: 23570662

Change-Id: I7482eddbeffa581307bf7f76b9653de41966b6f9
2015-08-28 17:27:47 -07:00
Tao Bao
8c85549a3c am c9ff5102: am 35da9685: Merge "Use the basename of file_contexts from the info dict."
* commit 'c9ff5102ad9258f9189afd3bd15eb58cab186215':
  Use the basename of file_contexts from the info dict.
2015-08-28 18:56:36 +00:00
Tao Bao
c9ff5102ad am 35da9685: Merge "Use the basename of file_contexts from the info dict."
* commit '35da9685f0d3bb367b50aaa4c476b12907099f77':
  Use the basename of file_contexts from the info dict.
2015-08-28 18:46:31 +00:00
Tao Bao
79735a6a82 Use the basename of file_contexts from the info dict.
Changes in [1] break the backward compatibility of the OTA scripts. Fix
the issue by extracting the file basename from the info dict in
META/misc_info.txt.

[1] commit d3a803e668

Bug: 23620049
Change-Id: I40a5625bbe0beb295f34b2328906a4a4283fe59b
2015-08-28 11:17:38 -07:00
Dan Willemsen
00cf9d5008 am 399c59f3: am d5deac8d: Merge "Add _(darwin|linux|windows)"
* commit '399c59f3aa3b7f025a8ec5b0b60af402f9954142':
  Add _(darwin|linux|windows)
2015-08-28 03:55:05 +00:00
Dan Willemsen
399c59f3aa am d5deac8d: Merge "Add _(darwin|linux|windows)"
* commit 'd5deac8db951ec0a1c9edd806ea1758b836f8c46':
  Add _(darwin|linux|windows)
2015-08-28 03:49:01 +00:00
Dan Willemsen
7a5498568f Add _(darwin|linux|windows)
So that we can support building both linux and windows binaries at the
same time on a linux host. This replaces the ifeq($(HOST_OS),...) checks
in Android.mk files.

Bug: 23566667

Change-Id: I693e11984e36d55bb6f09fa0d49bc485463e16fb
2015-08-28 03:36:22 +00:00
Tao Bao
5bf558767d am 4988f18b: am 6458fd96: Merge "rangelib.py: Fix the bug in monotonic check."
* commit '4988f18b1f0884eb1365820cb365fc6a6d082d1d':
  rangelib.py: Fix the bug in monotonic check.
2015-08-27 23:37:41 +00:00
Tao Bao
4988f18b1f am 6458fd96: Merge "rangelib.py: Fix the bug in monotonic check."
* commit '6458fd96d5d0cd3b54a02a5f9c276f49e566cb53':
  rangelib.py: Fix the bug in monotonic check.
2015-08-27 20:44:35 +00:00
Tao Bao
044bd31e50 am 575643a8: am 14342066: Merge "Add unit tests for rangelib.py."
* commit '575643a85d41a428aeda6676146d86b0356e0785':
  Add unit tests for rangelib.py.
2015-08-27 12:40:31 +00:00
Tao Bao
575643a85d am 14342066: Merge "Add unit tests for rangelib.py."
* commit '14342066dbaec25593c12fdba5396d4ca9cad841':
  Add unit tests for rangelib.py.
2015-08-27 05:23:08 +00:00
Tao Bao
e8f756137c rangelib.py: Fix the bug in monotonic check.
RangeSet("2-10").monotonic gives a wrong result of "False". Fix the bug
and add more tests into test_rangelib.py.

Change-Id: I04780571b45ecafd34040f405756b9745a9e21a5
2015-08-26 21:16:43 -07:00
Tao Bao
873a15e267 Add unit tests for rangelib.py.
Separate the test cases in rangelib.py comments into a python unittest
file.

To invoke:
  $ python -m unittest test_rangelib

Change-Id: I59e4ce0aaccc83bcbb42fee15775683dcd559d99
2015-08-26 16:13:18 -07:00
Tao Bao
937847ae49 Split large files for BBOTA v3.
For BBOTA v3, we need to stash source blocks to support resumable
feature. However, with the growth of file size and the shrink of the
cache size, source blocks that represent a file are too large to be
stashed as a whole. CL in [1] solves the issue by replacing the diff
command with a "new" command. However, it may increase the generated
package size substantially (e.g. from ~100MB to ~400MB).

With this CL, if a file spans too many blocks, we split it into smaller
pieces by generating multiple commands. For the same case above, it
reduces the package size to ~150MB.

One potential downside is that after splitting, files like .jar,
.apk and .zip can no longer use imgdiff. We may lose the potential
benefit of using imgdiff for patch size reduction.

[1] commit 82c47981bd

Bug: 22430577
Change-Id: Iee1ad6543f3d40368e079e418cc31728e1ab3f48
(cherry picked from commit 9a5caf2c30)
2015-08-26 15:00:38 -07:00