Commit graph

3171 commits

Author SHA1 Message Date
Sami Tolvanen
87f582611a Merge "Error correction: Append codes to verified partitions" 2015-10-19 09:49:18 +00: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
8b528fc3ef am 68319cdf: am 95708eea: Merge "Split large files for BBOTA v3."
* commit '68319cdf4762c7c48cff68ede2b7f4bc267db735':
  Split large files for BBOTA v3.
2015-08-26 19:55:20 +00:00
Tao Bao
9a5caf2c30 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: I5684fab0ac41c8d94fe18f52a34cef77e06f741c
2015-08-26 10:50:11 -07:00
smain@google.com
6e0cca0876 am ed7e864a: fix a few bugs in the studio download button behavior: - make button text always white (avoid blue on blue during hover) - revise logic to add the platform name to download button to avoid weird duplicity bug on small screens - remove the animation scr
* commit 'ed7e864a735f004f1dbb4a2db5261855b5693913':
  fix a few bugs in the studio download button behavior:  - make button text always white (avoid blue on blue during hover)  - revise logic to add the platform name to download button to avoid weird duplicity bug on small screens  - remove the animation script when clicking download before agree because it reloaded the page (unkown cause) depends on: https://googleplex-android-review.git.corp.google.com/#/c/752757/
2015-08-24 16:41:10 +00:00
smain@google.com
ed7e864a73 fix a few bugs in the studio download button behavior:
- make button text always white (avoid blue on blue during hover)
 - revise logic to add the platform name to download button to avoid weird duplicity bug on small screens
 - remove the animation script when clicking download before agree because it reloaded the page (unkown cause)
depends on: https://googleplex-android-review.git.corp.google.com/#/c/752757/

Change-Id: I1b2b4ff9c0b0cbbd34f1c77a2b736fe3425a16e4
2015-08-20 00:52:27 +00:00
Tao Bao
20c68b7494 am 5d690a37: am ab9a3588: Merge "Revise stash for BBOTAs when needed."
* commit '5d690a37d4b3b33dee1cfc2a64b66ed4e9c03460':
  Revise stash for BBOTAs when needed.
2015-08-18 17:25:09 +00:00
Tao Bao
ab9a358801 Merge "Revise stash for BBOTAs when needed." 2015-08-18 16:59:05 +00:00
Dan Willemsen
1b14846717 am 48d95e75: am 05d97fe7: Merge "Remove legacy windows platform build support"
* commit '48d95e752536dc7a81c141e435e8a90b7929cf02':
  Remove legacy windows platform build support
2015-08-18 04:43:04 +00:00
Dan Willemsen
05d97fe723 Merge "Remove legacy windows platform build support" 2015-08-18 04:31:07 +00:00
Dan Willemsen
9cf990beec resolved conflicts for merge of 05fae7e0 to mnc-dev-plus-aosp
Change-Id: I9f0f1169839afabc7ec7e439b668798e2cd111a3
2015-08-17 20:50:48 -07:00
Dan Willemsen
e65107508a Merge "Use repeatable timestamps" 2015-08-18 03:30:11 +00:00
Dan Willemsen
145ae32069 Remove legacy windows platform build support
We still support HOST_OS=windows for the SDK host tools cross-builds, but
that's only when USE_MINGW is set when running under linux.

Change-Id: I37da87dc9fbbd69ba10ce4d7f2668ab3f6482d92
2015-08-17 12:35:04 -07:00
Tao Bao
e3103ce2a5 am 3b409d56: am dae6455c: Merge "Add an option to include a full bootloader in incremental OTA."
* commit '3b409d56f4e142dd4afc7e11bbe4502123a46f31':
  Add an option to include a full bootloader in incremental OTA.
2015-08-17 17:55:34 +00:00
leozwang
aa6c1a1445 Add an option to include a full bootloader in incremental OTA.
Bug: 23101469
Change-Id: Iac466b83f789f10d26e8d289dce766cf0d05148b
(cherry picked from commit c1324751e79b23a63ea494f4bc784446c8f32435)
2015-08-17 10:34:01 -07:00