Commit Graph

4582 Commits

Author SHA1 Message Date
Tao Bao
8145c70f2b Merge "releasetools: Fix the reference to OPTIONS.info_dict." am: 0a5b59e78b am: 8b6d59e110
am: b00dbd1b11

Change-Id: Ib31adf3e30f4b9077e14c577ffdc5791e89b746b
2016-09-30 17:59:31 +00:00
Tao Bao
b00dbd1b11 Merge "releasetools: Fix the reference to OPTIONS.info_dict." am: 0a5b59e78b
am: 8b6d59e110

Change-Id: If2385afbd245654f27a96f02414856a7ce546a00
2016-09-30 17:48:38 +00:00
Tao Bao
b31b94e159 releasetools: Fix the reference to OPTIONS.info_dict.
sign_target_files_apks.py calls common.GetBootableImage() but without
calling 'OPTIONS = common.OPTIONS' first. In common.GetBootableImage(),
we should use the local info_dict parameter instead of OPTIONS.info_dict.

Test: sign_target_files_apks.py generates signed-TF.zip successfully.

Change-Id: Ia3d32b88691c26e5fb98feea709e3e3c3eb70fdb
2016-09-29 22:04:50 -07:00
David Zeuthen
27ac0e34fe resolve merge conflicts of c36ab42 to nyc-mr1-dev-plus-aosp
Change-Id: Iaf78fb6c723955fd92cc64194cb32bba73a9dafb
2016-09-29 14:25:03 -04:00
David Zeuthen
c36ab42dcc Merge "Update for new Android Verified Boot (AVB)." am: 8ee6d119d1
am: 621a3dbf7a

Change-Id: I1e7101853ba81ba21f68b9a72993dc731653692a
2016-09-29 18:04:21 +00:00
David Zeuthen
8ee6d119d1 Merge "Update for new Android Verified Boot (AVB)." 2016-09-29 17:48:40 +00:00
David Zeuthen
2ce63edab7 Update for new Android Verified Boot (AVB).
This updates the build system for the new Android Verified Boot
codebase. As this is based on Brillo Verified Boot, this change replaces
the existing BVB support.

Android Verified Boot is enabled by the BOARD_AVB_ENABLE variable

 BOARD_AVB_ENABLE := true

This will make the build system create vbmeta.img which will contain a
hash descriptor for boot.img, a hashtree descriptor for system.img, a
kernel-cmdline descriptor for setting up dm-verity for system.img and
append a hash-tree to system.img.

Additionally, the descriptors are left in boot.img and system.img so a
third party can create their own vbmeta.img file linking - using the
option --chain_partition - to these images. If this is not needed
footers can be erased using the 'avbtool erase_footer' command. It's
also harmless to just leave them in the images.

By default, the algorithm SHA256_RSA4096 is used with a test key from
the AVB source directory. This can be overriden by the
BOARD_AVB_ALGORITHM and BOARD_AVB_KEY_PATH variables to use e.g. a
4096-bit RSA key and SHA-512:

 BOARD_AVB_ALGORITHM := SHA512_RSA4096
 BOARD_AVB_KEY_PATH := /path/to/rsa_key_4096bits.pem

To prevent rollback attacks, the rollback index should be increased on a
regular basis. The rollback index can be set with the
BOARD_AVB_ROLLBACK_INDEX variable:

 BOARD_AVB_ROLLBACK_INDEX := 5

If this is not set, the rollback index defaults to 0.

The variable BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS can be used to specify
additional options passed to 'avbtool make_vbmeta_image'. Typical
options to be used here include '--prop', '--prop_from_file', and
'--chain_partition'.

The variable BOARD_AVBTOOL_BOOT_ADD_HASH_FOOTER_ARGS can be used to
specify additional options passed to 'avbtool add_hash_footer' for
boot.img. Typical options to be used here include '--hash_algorithm' and
'--salt'.

The variable BOARD_AVBTOOL_SYSTEM_ADD_HASHTREE_FOOTER_ARGS can be used
to specify additional options passed to 'avbtool add_hashtree_footer'
for systems.img. Typical options to be used here include
'--hash_algorithm', '--salt', and '--block_size'.

BUG=31264226
TEST=Manually tested on edison-eng by inspecting {boot, system,
  vbmeta}.img in out/ directory as well as their counterparts in
  the IMAGES/ directory of edision-target_files-eng.zeuthen.zip

Merged-In: Ic9a61cfc65c148b12996e57f04da5432eef6b982

Change-Id: I97042655bca15e7eac899f12c5bada2f6184d307
2016-09-29 11:19:36 -04:00
Meike Baumgärtner
dc7706a8ad Merge "Only run warn.py's main function if it is the main program." am: 312c310f7c am: ce4e16d835
am: 8a37ee0c63

Change-Id: I48db2a1358ab5236706217a2c9a14de856854037
2016-09-29 04:19:33 +00:00
Meike Baumgärtner
8a37ee0c63 Merge "Only run warn.py's main function if it is the main program." am: 312c310f7c
am: ce4e16d835

Change-Id: I44973ef0f9ff3f8e1bc641db592b1ac3c96d051a
2016-09-29 04:11:30 +00:00
Treehugger Robot
312c310f7c Merge "Only run warn.py's main function if it is the main program." 2016-09-29 03:58:07 +00:00
Meike Baumgärtner
ac9d5df349 Only run warn.py's main function if it is the main program.
Test: run warn.py --byproject build.log
Change-Id: I155cce8c952d6d8a02c8e1809bf61a46c847c26e
2016-09-28 17:59:08 -07:00
Chih-Hung Hsieh
882737b7cb Merge "Fix pylint warning and refactor project_list." am: 6784a3fcdd am: ac2df1c205
am: 62c9956819

Change-Id: I9171de8c9062b93de102ae782345d93da6892598
2016-09-28 18:00:50 +00:00
Chih-Hung Hsieh
62c9956819 Merge "Fix pylint warning and refactor project_list." am: 6784a3fcdd
am: ac2df1c205

Change-Id: I7f2017a50ab5b5aee425e86211e0746538e94e90
2016-09-28 17:57:47 +00:00
Treehugger Robot
6784a3fcdd Merge "Fix pylint warning and refactor project_list." 2016-09-28 17:47:41 +00:00
Tao Bao
7f5f23160d Merge "Analyze unchanged blocks in odex files." am: 6e12b72966 am: 0493339a1f
am: 4fbdde5150

Change-Id: Ibbd1b92b81249b7f11de1ba166ff04ee7ba73b88
2016-09-28 17:18:15 +00:00
Tao Bao
4fbdde5150 Merge "Analyze unchanged blocks in odex files." am: 6e12b72966
am: 0493339a1f

Change-Id: Icfdd5a0f02f43fdca2adf6468b106fcd403614bc
2016-09-28 17:15:45 +00:00
Tao Bao
6e12b72966 Merge "Analyze unchanged blocks in odex files." 2016-09-28 17:08:10 +00:00
Chih-hung Hsieh
c67151bdf2 Merge "Fix Google pylint warnings." am: aa5f2ccde2 am: 2d06a27ae6
am: 9e0609ee36

Change-Id: Id5152ca1676935175d7a5c911b128d7e4b312aae
2016-09-28 04:22:56 +00:00
Chih-hung Hsieh
9e0609ee36 Merge "Fix Google pylint warnings." am: aa5f2ccde2
am: 2d06a27ae6

Change-Id: Id90eacb4b5316ac1cecd4c8578127fbf6a1c5102
2016-09-28 04:19:56 +00:00
Chih-Hung Hsieh
9f766239f0 Fix pylint warning and refactor project_list.
Bug: 31377083
Test: run warn.py --byproject build.log
Change-Id: Id442cf6608bf5c14784063c05f5ff0b731f17486
2016-09-27 21:13:52 -07:00
Chih-Hung Hsieh
b426c54e8a Fix Google pylint warnings.
* Rename 'severity' to 'Severity'.
* Fix bad line indentations and space.

Test: run warn.py --byproject build.log
Change-Id: I33d701cca408b5ca4715be8d44c890942b7d132a
2016-09-27 18:15:40 -07:00
Chih-Hung Hsieh
0c86a5b490 Merge "Add buttons to group warning by project or severity." am: 9796175d0f am: 9dee2ac43c
am: 3791e7b242

Change-Id: Ia47f5be94cfc37d2bb934eef97a3b9f860a0d139
2016-09-27 21:25:39 +00:00
Chih-Hung Hsieh
3791e7b242 Merge "Add buttons to group warning by project or severity." am: 9796175d0f
am: 9dee2ac43c

Change-Id: I10ff9eb5c01a9d594ccc3332b5a8daaf673705c8
2016-09-27 21:22:40 +00:00
Przemyslaw Szczepaniak
06dcac3666 Fix for non-empty a[name] tags in openJdk based javadocs. am: a7edd92c45
am: 8bcdd9a36c

Change-Id: Idf0ddf51b41549c55336a2c583d0f6199165284c
2016-09-27 09:11:55 +00:00
Przemyslaw Szczepaniak
8bcdd9a36c Fix for non-empty a[name] tags in openJdk based javadocs.
am: a7edd92c45

Change-Id: Iaef35c55e7af6f27a12944491026ee45b5ef8312
2016-09-27 09:08:40 +00:00
Chih-Hung Hsieh
2a38c37d57 Add buttons to group warning by project or severity.
* Add more project patterns.
* Add more top level comments for global variables and functions.
* Resequence severity numbers to match the dump order.
* Emit warning messages and tables to static HTML JavaScript arrays.
* Replace old static HTML table dumper functions with
  new dynamic HTML JavaScript to generate sections of warnings.
* Warning messages are grouped into sections by severity or projects.
* Better descriptions for SKIP warning patterns.
* Replace output function with print.

Bug: 31377083
Test: run warn.py --byproject build.log
Change-Id: I7b44ef6223d5b2f1aa31655a5a47d854f9a1dedc
2016-09-26 16:02:12 -07:00
Chih-Hung Hsieh
2616d8adfe Merge "Fix Google pylint warnings." am: bcd229277a am: 64af14a4d2
am: 14a22e9222

Change-Id: I6ef533be4ce3c798a4ff4c7d7364b3b3f5b81e49
2016-09-26 21:27:55 +00:00
Chih-Hung Hsieh
14a22e9222 Merge "Fix Google pylint warnings." am: bcd229277a
am: 64af14a4d2

Change-Id: I332da66829738d6793ca1795103f903271f235c6
2016-09-26 21:25:25 +00:00
Treehugger Robot
bcd229277a Merge "Fix Google pylint warnings." 2016-09-26 21:18:08 +00:00
Chih-Hung Hsieh
6c0fdbb84d Fix Google pylint warnings.
* Rename variables and functions to follow Google coding style.
* Fix line indentations to follow Google coding style.
* Add module and function docstrings.
* Change shebang line to avoid pylint warning.
* Suppress some pylint warnings to avoid too many changes at once.
* Fix typos.

Test: run warn.py --byproject build.log
Change-Id: I569961981b562e35cb5609a96cd5ebb40a80829c
2016-09-26 12:24:54 -07:00
Przemyslaw Szczepaniak
a7edd92c45 Fix for non-empty a[name] tags in openJdk based javadocs.
openJdk based android javadoc contains <a name=... tags
that are non-empty. Currently they are being hidden,
causing badly formatted pages for some java.* classes
(missing text and random whitespace blocks).

This change makes the existing a[name] hiding rule
apply only to empty tags.

Test: make docs
Bug: 31700998
Change-Id: Ifa75bbabe308d7aed0cce6165c1113e5a382a121
2016-09-26 16:36:03 +00:00
Alex Deymo
a1c977735b fat16copy: Fix allocation logic when extending directories.
When extending a directory, empty directory entries were left behind
signaling the end of a directory.

Bug: 31570546
Test: make dist; mdir shows all the files.

(cherry picked from commit d4516300b010c8155861e310dac871e8c10d3382)

Change-Id: Ie3d82cfaad51be73911293a54d18746e8adf62a2
2016-09-23 14:21:43 -07:00
Alex Deymo
567c5d0f95 fat16copy: Sort new directory entries.
Sort the entries returned by os.listdir to give a consistent ordering
across build.

Bug: None
Test: `make dist`

(cherry picked from commit ef34e5dca216e61fd81020e818f247f6ce47d26e)

Change-Id: I2f80889684f108208f07e13d725acaa7bc0ab099
2016-09-23 14:21:38 -07:00
Casey Dahlin
df71efe378 Make fat16copy.py add . and .. entries to directories
Test: fsck no longer complains
Bug: None

(cherry picked from commit 7d38ec37432c307d729b9a8fdb78dbf820427538)

Change-Id: I587f400df2f57b987df8b92d551c99f2f42a9af6
2016-09-23 14:21:31 -07:00
Tao Bao
08c8583aea Analyze unchanged blocks in odex files.
In BBOTA, we generate patches based on _all_ the blocks of a pair of
input files (src and tgt). For security incremental OTAs, one common
pattern is that only a few blocks are changed in odex files (e.g.
headers). We don't really need to stash/patch the unchanged blocks.

This CL analyzes the unchanged blocks in odex files and computes the
diff for the changed blocks only. It reduces the OTA install time by
about 25% to 40% in our experiments, by paying an increase of 5% to 30%
OTA generation time cost.

Bug: 31570716
Test: Generate an incremental and apply on device.

Change-Id: If842c1afeff6894a3d27eb60b7e8f65a179b7977
2016-09-23 12:15:23 -07:00
Chih-Hung Hsieh
6b4ce491f2 Merge "Recognize new warning messages." am: b0553ca65b am: d95f164112
am: b6e37662ba

Change-Id: Iaa46479649224d5b8e05d69d9af57aedd3d396c7
2016-09-23 04:40:43 +00:00
Chih-Hung Hsieh
b6e37662ba Merge "Recognize new warning messages." am: b0553ca65b
am: d95f164112

Change-Id: I063024bfa1bf1ad1ef516905ec04a0902cc840c1
2016-09-23 04:38:41 +00:00
Chih-Hung Hsieh
0a19207f7b Recognize new warning messages.
* -Wunnamed-type-template-args and -W#pragma-messages

Test: run warn.py with build.log.
Change-Id: I36277e001081604f92a4d9c92f9a0b5d3f0ee5e5
2016-09-22 17:44:38 -07:00
Chih-Hung Hsieh
213815c966 Merge "Simplify warn.py and output of warning count table and tablerow." am: eac773047f am: d7f5496a7c
am: 693c1baa15

Change-Id: I5830b4e416df88c5988bf2564c5d7461fd68626f
2016-09-23 00:15:11 +00:00
Chih-Hung Hsieh
693c1baa15 Merge "Simplify warn.py and output of warning count table and tablerow." am: eac773047f
am: d7f5496a7c

Change-Id: Ia434a91fd21427107170931bc7a6dd26199754f1
2016-09-23 00:13:41 +00:00
Dirk Dougherty
197ed2bf27 Support "ID" lang code in place of "IN". am: fc61720cd5
am: 992ceaad75

Change-Id: Ic003d4fb88047791c4b2272e03bc6c850e652962
2016-09-22 22:18:04 +00:00
Chih-Hung Hsieh
99459fc0d0 Simplify warn.py and output of warning count table and tablerow.
* Use a loop to initialize empty 'members' and 'option' of warnpatterns.
* Create severity.{color,columnheader,header} from an attributes list.
* Compute totalbyproject and totalbyseverity from a constructor.
* Skip all-zero rows and columns in the warning count table.
* Remove redundant spaces and newlines in tablerow output.

Test: run through build.log files
Change-Id: I4d3fa4ecd92e1afab91d85b7535d03f8696e83d8
2016-09-22 15:15:43 -07:00
Dirk Dougherty
992ceaad75 Support "ID" lang code in place of "IN".
am: fc61720cd5

Change-Id: I5b83ffec940a6b0c0d613955027b7b0668cbe589
2016-09-22 20:08:54 +00:00
Dirk Dougherty
fc61720cd5 Support "ID" lang code in place of "IN".
Change-Id: I56632e638fdda81e494cbb7080502b35393a291f
2016-09-21 18:29:18 -07:00
Dan Willemsen
83aba3a7ab Merge "Fix link_type checking" am: 665cda08f0 am: 1347d959de
am: 8459bbca6f

Change-Id: I22da0f1703995c4734a72901abe2dbcee62c1406
2016-09-20 01:01:38 +00:00
Dan Willemsen
8459bbca6f Merge "Fix link_type checking" am: 665cda08f0
am: 1347d959de

Change-Id: Ia7ba9accbfa4c7de8843d5554a62524500509d5b
2016-09-19 23:21:16 +00:00
Dan Willemsen
665cda08f0 Merge "Fix link_type checking" 2016-09-19 21:54:09 +00:00
Tao Bao
f71719b635 Merge "Add a script that verifies OTA package signature." am: 3b0cb6e842 am: 3db2c7fedd
am: e3ca43013f

Change-Id: I04d5da95fe3299b2f8fb378cfa0b27e69333d1da
2016-09-19 17:42:36 +00:00
Tao Bao
e3ca43013f Merge "Add a script that verifies OTA package signature." am: 3b0cb6e842
am: 3db2c7fedd

Change-Id: I017800761e4ab883af62d42075542fb250cde22c
2016-09-19 17:39:35 +00:00
Tao Bao
9c63fb59bd Add a script that verifies OTA package signature.
Currently it supports verifying packages signed with RSA algorithms
(v1-v4 as in bootable/recovery/verifier.cpp). No support for ECDSA (v5)
signed packages yet.

$ ./build/tools/releasetools/check_ota_package_signature.py \
    bootable/recovery/tests/testdata/testkey_v1.x509.pem \
    bootable/recovery/tests/testdata/otasigned_v1.zip

Package: bootable/recovery/tests/testdata/otasigned_v1.zip
Certificate: bootable/recovery/tests/testdata/testkey_v1.x509.pem
Comment length: 1738
Signed data length: 2269
Use SHA-256: False
Digest: 115e688ec3b77743070b743453e2fc6ce8754484

VERIFIED

Bug: 31523193
Test: Used the tool to verify existing packages (like above).

Change-Id: I71d3569e858c729cb64825c5c7688ededc397aa8
2016-09-16 15:08:40 -07:00