Commit Graph

4614 Commits

Author SHA1 Message Date
Tao Bao 49758959f2 Merge "releasetools: compare size between compressed and patch while build otapackage" 2016-11-05 00:09:35 +00:00
Tao Bao e3554167e2 Merge "releasetools: Make BBOTA incremental generation repeatable."
am: b9bd78d110

Change-Id: I6402481bf300b52d36df1570cceeae6ec3ff4f8f
2016-11-04 21:29:15 +00:00
Tao Bao b9bd78d110 Merge "releasetools: Make BBOTA incremental generation repeatable." 2016-11-04 21:26:13 +00:00
Colin Cross 7227637308 findleaves.py: prevent recursion into symlink loops
am: 7829ebfebd

Change-Id: Ib0ff185e2798ca57c6c28157a1182e7b4d1ed820
2016-11-04 18:17:35 +00:00
Colin Cross 7829ebfebd findleaves.py: prevent recursion into symlink loops
Keep a set of all visited inodes, and prevent recursing into a symlink
to an already visited inode.

Test: m -j
Test: compare `build/tools/findleaves.py --prune=.repo --prune=.git --mindepth=2 --dir=. Android.mk` before and after
Change-Id: Ied14c40d3066ef9f8e8a2b1535f56f7bbbbd0ab6
2016-11-03 14:29:40 -07:00
Chih-hung Hsieh 85465a39fb Merge "Do not use multiprocessing.Pool when --processes=1."
am: 948ebf5510

Change-Id: Ia305f1c26706069d8e048340eac9037782f895b7
2016-10-28 20:44:35 +00:00
Chih-Hung Hsieh 63de300094 Do not use multiprocessing.Pool when --processes=1.
Purpose of this change is not to save some execution time,
but to avoid forking another process. In other applications
that use a wrapper to call this python script, it is difficult
to get overwritten file I/O functions work in a subprocess.
So the wrapper will call warn.py with --processes=1.

Test: run "warn.py --processes=1 build.log"
Change-Id: I5998d5c70d81a456c86eb4002f444a4a60135477
2016-10-28 10:53:34 -07:00
Tao Bao 3348228423 releasetools: Make BBOTA incremental generation repeatable.
set() doesn't keep elements according to the order of insertion. So
Transfers managed with set() in intermediate steps may not appear in the
same order across runs. This leads to slightly different output packages
when generating the same incremental OTA.

This CL fixes the issue by replacing set() with OrderedDict() in
blockimgdiff.GenerateDigraph() and blockimgdiff.FindVertexSequence().

It also adds a testcase that ensures blockimgdiff.GenerateDigraph()
preserves the insertion order for Transfer.goes_after set.

Bug: 32220816
Test: ota_from_target_files.py gives identical package when running
multiple times.

Change-Id: I56d551e5ca926993ab46896e33c80e0ce42e506a
2016-10-26 09:40:50 -07:00
Tao Bao f4a88279ed Merge "releasetools: Support verity signer args."
am: 02d2d68aec

Change-Id: Ib1aed8ff11eeef2fd64a6520e92cfb30678dadc7
2016-10-24 18:53:33 +00:00
Tao Bao 02d2d68aec Merge "releasetools: Support verity signer args." 2016-10-24 18:50:14 +00:00
YOUNG HO CHA ccc5c40523 releasetools: compare size between compressed and patch while build otapackage
Currently, whether contains patch or verbatim, compute with file size
and patch size.
But ota file must be compressed with zip, so it should be better with
compressed size than uncompressed.

Test: aosp_shamu-user build without proprietary blobs between MOB30P and NRD90S
$ du -k ota_shamu_old.zip ota_shamu_new.zip
217252	ota_shamu_old.zip
216520	ota_shamu_new.zip

Change-Id: If68cb1fbe2f7815067451915a0dcfe93ea5ba8d6
Signed-off-by: YOUNG HO CHA <ganadist@gmail.com>
2016-10-18 17:27:09 +09:00
Chih-Hung Hsieh e3345c438b Merge "Use parallel subprocesses to classify warnings."
am: 92396e1747

Change-Id: I6e92d8d5a6ee4ca8e9fa626064f5d5752197d739
2016-10-18 04:01:15 +00:00
Treehugger Robot 92396e1747 Merge "Use parallel subprocesses to classify warnings." 2016-10-18 03:49:49 +00:00
Stephen Hines 2f64eb88e5 Split apart frameworks/compile into sub-projects.
am: d0aec89d43

Change-Id: I52500c1d216dfc26628835c87fb81d1bf5393c62
2016-10-18 01:08:34 +00:00
Chih-Hung Hsieh a6bd044ac1 Use parallel subprocesses to classify warnings.
* Add a --processes flag to specify number of parallel processes,
  with default multiprocessing.cpu_count().
* Wrap long line to suppress pylint warning.

Test: run warn.py with a large build.log file.
Change-Id: I9a93a9324bc531c1bce741367013051ce40a67fa
2016-10-17 17:47:20 -07:00
Tao Bao 458104266f releasetools: Support verity signer args.
system/extras/verity/build_verity_metadata.py now accepts
"--signer_args" to specify verity signer args.

Also remove the duplicate "--verity_signer_args" in
add_img_to_target_files.py, as we already have that in common.py.

Bug: 31500665
Test: Building and signing work w/ and w/o --signer_args.

Change-Id: I02f59c50a1ebf15c5505e9fffd5b9bbbbaa785be
2016-10-17 16:25:22 -07:00
Stephen Hines d0aec89d43 Split apart frameworks/compile into sub-projects.
These projects are all used by RenderScript, but it would be good to
differentiate warnings for each.

Change-Id: I983279d590630175a36075b01e8eec9100c07d26
Test: Ran warn.py
2016-10-17 15:40:38 -07:00
Mark Salyzyn 2421b1c099 Merge "zipalign missing header"
am: 94180579f7

Change-Id: I4643aebbb73a5d9103de48147d5a4a25c2db6ca4
2016-10-17 21:56:52 +00:00
Mark Salyzyn 404fd5bc4a zipalign missing header
Remove assumptions about header side effects

Test: compile
Bug: 30465923
Change-Id: I117567b0f99814b9d9a955b39c56f43f7972cf62
2016-10-17 12:22:44 -07:00
Chih-hung Hsieh fd9558d09a Merge "Add more patterns for a finer project warning list."
am: 8ef4397c22

Change-Id: I5e377a80abc1953455b9b8a1840f579b7f133475
2016-10-15 01:44:04 +00:00
Chih-hung Hsieh 8ef4397c22 Merge "Add more patterns for a finer project warning list." 2016-10-15 01:36:59 +00:00
Sasha Levitskiy 1ea9eacdae Merge "build: tools: Add json collection of installed files with hashes."
am: fe77369b50

Change-Id: Ib3e9c8dead0a6fdbb0f93690da66e2a8e1ea0f39
2016-10-15 01:13:22 +00:00
Sasha Levitskiy 4a34533e11 build: tools: Add json collection of installed files with hashes.
Adds installed-files.json in addition to installed-files.txt
Further sorts the file list to be ordered within the same size bucket.

Test: manual, cross-checked checksums with sha256sum utility
      checked build outputs.

Bug: 19988819
Merged-in: Ifb632eb4df65ec48645c8f93e36bae44ccc52ba8
Change-Id: Ifb632eb4df65ec48645c8f93e36bae44ccc52ba8
Signed-off-by: Sasha Levitskiy <sanek@google.com>
2016-10-14 16:29:16 -07:00
Chih-Hung Hsieh 144864eed0 Add more patterns for a finer project warning list.
Bug: 31377083
Test: run warn.py --byproject build.log
Change-Id: I3cad8e24bc97a84f067a162ff728e30fde3c7197
2016-10-14 12:27:17 -07:00
Alex Deymo ad5b6d2acb fat16copy: Fix allocation logic when extending directories. am: a1c977735b am: a507800e5f
am: 0931a41ea5

Change-Id: Iaad5cd91d5f09da7996c791ed55515c3d633c9ae
2016-10-14 03:32:45 +00:00
Alex Deymo 556d863425 fat16copy: Sort new directory entries. am: 567c5d0f95 am: cf24e4b85f
am: 3c6bf619ac

Change-Id: I689251be77849cb3ae1cdfa595d4ff3111f59ab5
2016-10-14 03:32:40 +00:00
Casey Dahlin 2ca8667d9e Make fat16copy.py add . and .. entries to directories am: df71efe378 am: 8cf11d1423
am: 70e24e55b3

Change-Id: Ib3b8a5e1145451ea52158a1ca23a62902f2794d4
2016-10-14 03:32:34 +00:00
Alex Deymo 0931a41ea5 fat16copy: Fix allocation logic when extending directories. am: a1c977735b
am: a507800e5f

Change-Id: Ida8f372a1656ff0b4059c8b2d5629ea1b479c9fc
2016-10-14 03:27:14 +00:00
Alex Deymo 3c6bf619ac fat16copy: Sort new directory entries. am: 567c5d0f95
am: cf24e4b85f

Change-Id: I109b9e0d9f9e3bf6851b575a3b9576282b851c0a
2016-10-14 03:27:09 +00:00
Casey Dahlin 70e24e55b3 Make fat16copy.py add . and .. entries to directories am: df71efe378
am: 8cf11d1423

Change-Id: I6f2dd99f66ffafffca7161cc578cc08f7c798078
2016-10-14 03:27:04 +00:00
Alex Deymo a507800e5f fat16copy: Fix allocation logic when extending directories.
am: a1c977735b

Change-Id: I5bc6da73f2c5f9dfb9b9e9cf34b77481d45ab911
2016-10-14 03:24:14 +00:00
Alex Deymo cf24e4b85f fat16copy: Sort new directory entries.
am: 567c5d0f95

Change-Id: I2d7bc7b3e7ed5e0ddf940d490de439ff591c9817
2016-10-14 03:24:09 +00:00
Casey Dahlin 8cf11d1423 Make fat16copy.py add . and .. entries to directories
am: df71efe378

Change-Id: Idc2516c8a29d62589f355e8bdbbaade170a5cdb5
2016-10-14 03:24:04 +00:00
Alex Deymo 3b54b69205 Merge changes Ie3d82cfa,I2f808896,I587f400d
* changes:
  fat16copy: Fix allocation logic when extending directories.
  fat16copy: Sort new directory entries.
  Make fat16copy.py add . and .. entries to directories
2016-10-14 03:19:55 +00:00
Dan Willemsen a62ff78df4 Update droiddoc templates for build/make move
am: 0f40bafa96

Change-Id: I74f5c5bb84c5a748ea38e6c8015dce8ecc269aaa
2016-10-12 19:21:52 +00:00
Clay Murphy f8d8458edd Merge "Update droiddoc templates for build/make move" 2016-10-12 18:34:23 +00:00
Dan Willemsen 0f40bafa96 Update droiddoc templates for build/make move
Since build/ was moved to build/make/, the droiddoc templates now need
another ../ to reach the android root.

Test: m online-sac-docs
Change-Id: I2393f6c791df9b67ccafb4eb047fd8ccc52481cb
2016-10-12 10:35:53 -07:00
Chih-Hung Hsieh 71155edd09 Merge "Better pattern matching and dump of warning messages." am: 6949e7ecba am: 1a876e215b
am: fbb1b890fa

Change-Id: Icaff358e282166c635c3ac2edd3297547c32cf6d
2016-10-12 16:59:33 +00:00
Chih-Hung Hsieh ae1a5c973b Merge "Normalize warning source file path to relative path." am: eb2f711528 am: d4b0a20c01
am: b4a26ee48f

Change-Id: I9fa7bdf12f86f65259409a1dc0735ab455ea6320
2016-10-12 16:59:19 +00:00
Chih-Hung Hsieh fbb1b890fa Merge "Better pattern matching and dump of warning messages." am: 6949e7ecba
am: 1a876e215b

Change-Id: Ieeb9fe468a12aeb532f35ede9879f3968441709d
2016-10-12 16:52:01 +00:00
Chih-Hung Hsieh b4a26ee48f Merge "Normalize warning source file path to relative path." am: eb2f711528
am: d4b0a20c01

Change-Id: I16d7425b3a933596c06ee7acdf396b0b2b37a483
2016-10-12 16:51:46 +00:00
Treehugger Robot 6949e7ecba Merge "Better pattern matching and dump of warning messages." 2016-10-12 16:35:34 +00:00
Dan Willemsen 82be5468c3 Update droiddoc templates for build/make move
Since build/ was moved to build/make/, the droiddoc templates now need
another ../ to reach the android root.

Test: m online-sac-docs
Change-Id: I2393f6c791df9b67ccafb4eb047fd8ccc52481cb
2016-10-12 00:10:33 -07:00
Chih-Hung Hsieh 5722f9247b Better pattern matching and dump of warning messages.
* Warning messages must start with source file path.
  This will reject lines containing only 'warning:'
  but not a source file path prefix.
* Escape both backslash and quotation marks in the
  dump of strings to JavaScript string literals.

Bug: 32060052
Test: run through build.log files
Change-Id: Ib064768b1ba2954f974604ea054f7a6d2ad15ae7
2016-10-11 15:33:19 -07:00
Chih-Hung Hsieh a45c5c1cf9 Normalize warning source file path to relative path.
Remove Android root directory path from long
absolute source file path.

Test: run warn.py with build.log
Bug: 32059187
Change-Id: Ib630cebd8c56a9fef443139ca502d97e59c7b42e
2016-10-11 15:30:26 -07:00
Yunlian Jiang b087e00ba0 Merge "Fix a nullness warning." am: b37e81d3cd am: 10b5a9d3f6
am: ea4f981031

Change-Id: Ie1fd127b89e6bc37514b05051708e69f37ae95f9
2016-10-11 19:48:01 +00:00
Yunlian Jiang ea4f981031 Merge "Fix a nullness warning." am: b37e81d3cd
am: 10b5a9d3f6

Change-Id: I07c3a7c4f8b08b3b9c0a90a6b72cae70efcf9f4e
2016-10-11 19:42:01 +00:00
Treehugger Robot b37e81d3cd Merge "Fix a nullness warning." 2016-10-11 19:29:37 +00:00
Yunlian Jiang 4fdd8f156d Merge "Fix an uninitialized value warning." am: f943e138d7 am: d7a0b25d66
am: 570063f82d

Change-Id: Iefbe15d4bb48b9e92df1a2223cccec0a32000452
2016-10-11 03:05:28 +00:00
Yunlian Jiang 570063f82d Merge "Fix an uninitialized value warning." am: f943e138d7
am: d7a0b25d66

Change-Id: I0f19e57829765e7d070cad4370d808a3a23d46ad
2016-10-11 02:59:59 +00:00
Treehugger Robot f943e138d7 Merge "Fix an uninitialized value warning." 2016-10-11 02:43:47 +00:00
Yunlian Jiang 221c1c027a Fix an uninitialized value warning.
Warning from the static analyzer:

build/tools/zipalign/ZipFile.cpp:503:5: warning: Function call argument
is an uninitialized value
pEntry->setDataInfo(uncompressedLen, endPosn - startPosn, crc,

Specifically, it's referencing `crc`, which would be uninitialized if we
hit either of these two error cases, since we'd return `NO_ERROR`.

Note that the warning is still there, but that's only because the static
analyzer can't see the asserts. If we #undef NDEBUG in the file, then
the warning disappears.

Bug: none
Test: With NDEBUG undefined, the warning is gone.
Change-Id: Iaed66127746c38add2c842ab027f2e1982d0e2fd
2016-10-10 17:31:06 -07:00
Dirk Dougherty 7f56225968 Fix samples metadata concat. am: 8d565ed204
am: 22fe7409a4

Change-Id: I08418dfb23d225fa73ed21cb0704b69c2c8d0028
2016-10-08 02:31:32 +00:00
Dirk Dougherty 22fe7409a4 Fix samples metadata concat.
am: 8d565ed204

Change-Id: Ic1a7d62fb278022518154f9c8fe3394df620670c
2016-10-08 02:27:02 +00:00
Dirk Dougherty 8d565ed204 Fix samples metadata concat.
Change-Id: Ie9b616818995b3066d0e65ea1aa30077ed9d82ce
2016-10-07 12:12:50 -07:00
Amanda Kassay 284c15d7c2 Adding excludeFromSuggestions, wear preview project path, and android wear/tv/auto/versions projectsw to template am: b5c04107af
am: 95bf07b069

Change-Id: I58488322e94b7e1ece1f77fdc600bc1fac6442b0
2016-10-06 16:55:32 +00:00
Amanda Kassay 95bf07b069 Adding excludeFromSuggestions, wear preview project path, and android wear/tv/auto/versions projectsw to template
am: b5c04107af

Change-Id: I0dbabb4c9dfa21971d6c46f3eb68aedec377968b
2016-10-06 16:52:32 +00:00
Chih-hung Hsieh 9031974b1f Merge "Add a new ANALYZER severity group." am: 89244619ad am: 8a2f279b37
am: 9a838ef507

Change-Id: I44d24577700403f26544a443fc47f1453daa1010
2016-10-05 23:43:52 +00:00
Chih-hung Hsieh 9a838ef507 Merge "Add a new ANALYZER severity group." am: 89244619ad
am: 8a2f279b37

Change-Id: If326565dda294235df273211ba2fb21ef4c292c9
2016-10-05 23:41:21 +00:00
Chih-hung Hsieh 89244619ad Merge "Add a new ANALYZER severity group." 2016-10-05 23:31:43 +00:00
Dan Willemsen c9c6284660 Merge "Add tool to run kati for all products" am: 480678e220 am: 652c4b4001
am: 8c0a4f49a2

Change-Id: I086f181ffcd8291fa950c084f0471686d845eaf7
2016-10-05 23:04:28 +00:00
Dan Willemsen 8c0a4f49a2 Merge "Add tool to run kati for all products" am: 480678e220
am: 652c4b4001

Change-Id: I70645fc341fa1df26635d60731c8877421f73ead
2016-10-05 23:01:28 +00:00
Amanda Kassay b5c04107af Adding excludeFromSuggestions, wear preview project path, and android wear/tv/auto/versions projectsw to template
b/31771704 b/31903798 b/31773716

Staged:
https://android-dot-devsite.googleplex.com/about/versions/nougat/index.html
https://android-dot-devsite.googleplex.com/index.html
https://android-dot-devsite.googleplex.com/wear/preview/index.html

Change-Id: Idf9893f9d108c26038ead06c84de771e21b89f37
2016-10-05 22:31:22 +00:00
Dan Willemsen 4c364620ac Add tool to run kati for all products
Test: get_build_var all_named_products
Test: build/tools/kati_all_products.sh
Change-Id: I3496cb4c59a1edb11c9149b95ecabd3a828b8972
2016-10-05 14:04:21 -07:00
Chih-Hung Hsieh 1eabb0ecb2 Add a new ANALYZER severity group.
* Separate clang-tidy's clang-analyzer-* warnings from
  other clang-tidy warnings.

Bug: 31559947
Test: build with WITH_TIDY=1 and DEFAULT_GLOBAL_TIDY_CHECKS=*,-readability-*,-google-readability-*
Change-Id: If03c421c9319741ef6588bc0d803b6da0cc4433a
2016-10-05 11:53:20 -07:00
Yunlian Jiang 4f1a91cbac Fix a nullness warning.
This silences a warning null pointer passed as an argument to a
'nonnull' parameter

BUG=None
Test: The warning is gone.

Change-Id: I10a17d4674bfb373d7fe8666863abd5f10a4d11f
2016-10-05 10:52:35 -07:00
David Zeuthen 4e9c89ab87 resolve merge conflicts of 86180eb to nyc-mr1-dev-plus-aosp
Change-Id: Ia4bfb2571bac509cebe22f70ff43e6696f832423
2016-10-04 18:53:34 -04:00
David Zeuthen 86180ebab9 Merge "Make room for AVB hashtree and metadata." am: 70209ad9f0
am: b5b638f7fa

Change-Id: I2bdfd752ff2082b241ad5fbf88e89644d9cd2f3f
2016-10-04 22:39:21 +00:00
David Zeuthen 70209ad9f0 Merge "Make room for AVB hashtree and metadata." 2016-10-04 22:32:27 +00:00
David Zeuthen 4014a9daa7 Make room for AVB hashtree and metadata.
While the system.img images currently built with AVB support verify
correctly, mounting the filesystem content fails. This is because
'avbtool add_hashtree_footer' used to claim some of the unused /
DONT_CARE space for stashing the verity tables and this resulting in the
mapped device ending up being smaller causing the mount failure.

Fix this by leaving enough room for AVB hashtree and metadata before
building the image. This is achieved by moving the AVB hashtree support
into build_image.py and using a just added '--calc_max_image_size'
option to 'avbtool add_hashtree_footer' to figure out how much space to
leave out.

This depends on https://android-review.googlesource.com/#/c/281821/

Bug: 31264226
Test: Mounting dm-verity set up from system.img now works.

Merged-In: I4c5de1004c1059f8c582e76b3b8517d427aa1a87

Change-Id: I945a5f1f6782791736cd319f216cfa6b448fb04d
2016-10-04 17:32:16 -04:00
Przemyslaw Szczepaniak a8c8dadd09 Merge "Fix for non-empty a[name] tags in openJdk based javadocs." 2016-10-04 11:35:58 +00:00
Przemyslaw Szczepaniak 4bce2866fb 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
(cherry picked from commit a7edd92c45)
2016-10-04 10:31:54 +00:00
Colin Cross c66ad83f43 Merge "Propagate signals through makeparallel" am: e0f42b41f6 am: 6f4807da4b
am: fd00ed23a9

Change-Id: I322f8cecc72e64a6c318e04950c0d200c7f9ef6b
2016-10-04 00:34:44 +00:00
Colin Cross fd00ed23a9 Merge "Propagate signals through makeparallel" am: e0f42b41f6
am: 6f4807da4b

Change-Id: Ia2a896df2782603b68c4dd5d348bcc7f5d661933
2016-10-04 00:30:39 +00:00
Colin Cross 49c45aecc4 Propagate signals through makeparallel
Set up a signal handler in makeparallel that will forward SIGHUP,
SIGINT, SIGQUIT, and SIGTERM to the child process.

Bug: 31907490
Test: m -j & killall make; pgrep -a ninja
Test: make makeparallel_test
Change-Id: I306e5335ed1b2c7056804d5da377a2f283877f30
2016-10-03 15:33:11 -07:00
Dirk Dougherty 7e9cccdfba For ds builds only, emit a separate metadata file for samples only. am: a9fcf48078
am: 913e1dfcd7

Change-Id: I7c6164efec249e50abdc4b032e8f9a47f0ae17eb
2016-10-01 01:11:15 +00:00
Dirk Dougherty 913e1dfcd7 For ds builds only, emit a separate metadata file for samples only.
am: a9fcf48078

Change-Id: Ic2b786401a3431896e6441c8c2c61545a6aaea1b
2016-10-01 01:07:42 +00:00
Dirk Dougherty a9fcf48078 For ds builds only, emit a separate metadata file for samples only.
Change-Id: I95c03a10cca586c6675f98664479ba8bf2e43576
2016-09-30 17:33:50 -07:00
Tao Bao 658af49662 Merge "releasetools: Clean up sign_target_files_apks.py." am: ad49deb5e6 am: 4299e48f0c
am: dfc210c9a4

Change-Id: Iee5cda2c10bc9c474140bf1f303261d8cf31d7b8
2016-10-01 00:24:10 +00:00
Tao Bao dfc210c9a4 Merge "releasetools: Clean up sign_target_files_apks.py." am: ad49deb5e6
am: 4299e48f0c

Change-Id: Ic59f6a2839502c4007f2e5dc51ac4a8eb2477b2d
2016-10-01 00:20:39 +00:00
Tao Bao 9aa4b9b1b6 releasetools: Clean up sign_target_files_apks.py.
Remove the obsolete workaround for API 24. Also make it pylint clean.

Test: 1. Sign a target_files.zip and get identical results.
      2. `pylint --rcfile=pylintrc sign_target_files_apks.py` gives 10.00/10.

Change-Id: I21736f959c5182486fd8ccebea9bbc594edef9fb
2016-09-30 15:29:09 -07:00
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 4c851b1098 Change the default parameter values in common.MakeTempFile().
tempfile.TemporaryFile() complains when 'None' is passed as the
prefix/suffix. It uses prefix='tmp' and suffix='' as the default values
and we should do the same.

Test: Call check_ota_package_signature.py and ota_from_target_files.py
and they still work.

Change-Id: I7fb023a3fd0b1a57c009631d0c57a7bb8e4cb5a3
2016-09-19 13:58:49 -07: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
Dan Willemsen 121e284b46 Fix link_type checking
This was printing "error:", but not actually triggering an error.
Instead of trying to write a single line bash script to handle this,
move the actual check into python. This allows us to print all of the
errors for a single module before triggering the failure.

Also updates the warning format and the warn.py script to properly parse
these warning. Many of the java:sdk -> java:platform warnings are false
positives due to the lack of LOCAL_SDK_VERSION markings on prebuilts.

Individual tags can be marked as warnings now, which lets us check for
system libraries linking against vendor libraries (which won't work on
AOSP). I'm not sure this is a completely valid check, which one reason
that it's just a warning.

Test: m all_link_types (with some missing libs commented out)
Change-Id: I333e418c9a4511b7c7e826891ae481da08fbf6f9
2016-09-15 14:40:39 -07:00
Chih-hung Hsieh 205eac92ea Merge "Emit a table of warnings by project and severity." am: 029ced528b am: ecbfa77903
am: 74a9e76175

Change-Id: I79075e55329c0c04e90de9a10d8b036c5d776f82
2016-09-14 16:57:14 +00:00
Chih-hung Hsieh 74a9e76175 Merge "Emit a table of warnings by project and severity." am: 029ced528b
am: ecbfa77903

Change-Id: Idb0cceaf1d3476e08879f1cba9986bce6ec3376b
2016-09-14 16:54:45 +00:00
Chih-hung Hsieh 029ced528b Merge "Emit a table of warnings by project and severity." 2016-09-14 16:39:27 +00:00
Chih-Hung Hsieh e41c99b721 Emit a table of warnings by project and severity.
* Use 't1' CSS class for main warning tables,
  and default table style for new warning count table.
* Count total skipped warnings.
* Append count of warnings in each severity header.
* Fix some skipped warning patterns and count/dump skipped warnings.
* Add dumpskippedanchors function to fix expand_collapse
  error when --byproject flag is used and severity.SKIP
  is not emitted.
* Minor coding style changes:
  * Loop through severity.kinds.
  * Remove unused import.
  * Add spaces around assignment operators.
  * Adjust indentation.

Bug: 31377083
Test: run warn.py with build.log
Change-Id: I68949edc4601b10ea2f7ac84e48e6c3da4ab1e4f
2016-09-13 10:18:01 -07:00
Dan Willemsen d111debc18 resolve merge conflicts of 8dadc2d to nyc-mr1-dev-plus-aosp
Change-Id: I296a81c17f9311a9425619141e1b5f5f5fb4c0dc
2016-09-12 21:43:19 -07:00
Dan Willemsen 8dadc2d2e6 Merge "Remove incremental workaround for aapt overlays" am: 946e58bdff
am: cd573e3aef

Change-Id: I7f90596676af64202fe17f76beb49f0a61a0dc1b
2016-09-13 04:38:22 +00:00
Dan Willemsen 8e6e6fdba9 Remove incremental workaround for aapt overlays
This workaround to clean package intermediates is no longer necessary,
as ninja reruns commands whose command line changes.

Test: switch between product overlays that use add-resource, verify
      R.java is regenerated.
Change-Id: Icb1f76360e39882e4401180414a031956777b020
2016-09-12 20:30:12 -07:00
smain@google.com 0070d17b04 add support for constraint layout's DATA list am: 7055897faa
am: bca27e5836

Change-Id: I9689cfe6088637a6702d8bee52835eb7ff19a33c
2016-09-10 01:37:52 +00:00
smain@google.com bca27e5836 add support for constraint layout's DATA list
am: 7055897faa

Change-Id: Ibce59cf7867e6a197a39873453dae8336419e233
2016-09-10 01:33:17 +00:00
Scott Main 64bd41ff7d Merge "add support for constraint layout's DATA list" into nyc-dev 2016-09-10 01:28:09 +00:00
smain@google.com 7055897faa add support for constraint layout's DATA list
Change-Id: Ia301ad235dcfd5a5c2bb13bfa6daa753f9206800
2016-09-09 15:47:58 -07:00
Alex Klyubin d6acfd5767 Merge ""SignApk" in Created-By header" am: 6e85eeaf53 am: 1989b26783
am: c16afc3e6e

Change-Id: I87fae3aca5c6b6736620dadb8567512a6757c115
2016-09-08 17:23:01 +00:00
Alex Klyubin c16afc3e6e Merge ""SignApk" in Created-By header" am: 6e85eeaf53
am: 1989b26783

Change-Id: Ie6ba1f239e36ee671ae9b5973bef6f1b8f584b5a
2016-09-08 17:20:36 +00:00
Treehugger Robot 6e85eeaf53 Merge ""SignApk" in Created-By header" 2016-09-08 17:10:37 +00:00
Alex Klyubin 969e354b1f "SignApk" in Created-By header
The switch to apksig changed the Created-By header value in .SF file
from "1.0 (Android SignApk)" to "1.0 (Android apksigner)". This commit
reverts the value back to "1.0 (Android SignApk)".

Change-Id: I2fc462cade40a5b31bb6191996fd6f18fabbf08f
2016-09-07 13:21:00 -07:00
Casey Dahlin 2ceedbee92 Merge "Add tool to copy files in to fat16 images" am: bfea84dabc am: f061b906e4
am: 1da082d2c5

Change-Id: Ia13845de77d1750c7ba54de13d06ed0eb55b8ac9
2016-09-07 20:09:10 +00:00
Casey Dahlin 1da082d2c5 Merge "Add tool to copy files in to fat16 images" am: bfea84dabc
am: f061b906e4

Change-Id: Ia3988e59b82245ffa41b92a5df057cada1ac6154
2016-09-07 20:06:41 +00:00