OSDN Git Service

android-x86/build.git
8 years agoMerge "Allow prebuilts to specify mini-debug-info"
Dan Willemsen [Thu, 14 Jul 2016 04:04:42 +0000 (04:04 +0000)]
Merge "Allow prebuilts to specify mini-debug-info"

8 years agoAllow prebuilts to specify mini-debug-info
Dan Willemsen [Wed, 13 Jul 2016 23:08:36 +0000 (16:08 -0700)]
Allow prebuilts to specify mini-debug-info

So that Soong can specify the default that's used by Make.

Change-Id: I0c1062ad8f21df8b9a483f99dce679a1434e4859

8 years agoMerge "Fix root_filesystem_config.txt generation"
Tao Bao [Wed, 13 Jul 2016 23:04:10 +0000 (23:04 +0000)]
Merge "Fix root_filesystem_config.txt generation"

8 years agoMerge "Pass ENABLE_CPUSETS and ENABLE_SCHEDBOOST to Soong"
Treehugger Robot [Wed, 13 Jul 2016 00:39:05 +0000 (00:39 +0000)]
Merge "Pass ENABLE_CPUSETS and ENABLE_SCHEDBOOST to Soong"

8 years agoPass ENABLE_CPUSETS and ENABLE_SCHEDBOOST to Soong
Dan Willemsen [Tue, 12 Jul 2016 22:00:46 +0000 (15:00 -0700)]
Pass ENABLE_CPUSETS and ENABLE_SCHEDBOOST to Soong

Change-Id: I75c0d60854f2ea3d2e4e4d6dcbc6845e3b0336ad

8 years agoMerge "Turn ndk link check warning into error"
Treehugger Robot [Tue, 12 Jul 2016 21:09:32 +0000 (21:09 +0000)]
Merge "Turn ndk link check warning into error"

8 years agoTurn ndk link check warning into error
Dan Willemsen [Tue, 12 Jul 2016 20:10:31 +0000 (13:10 -0700)]
Turn ndk link check warning into error

All instances of this have been removed from the downstream trees. The
APK->JNI_SHARED_LIBRARY and Java->Java checks remain as warnings.

Change-Id: I3eaee284500deee0f26a4f9cdd96497e99ec533e

8 years agoMerge "Remove Android.bp logic from makefiles"
Colin Cross [Tue, 12 Jul 2016 16:15:53 +0000 (16:15 +0000)]
Merge "Remove Android.bp logic from makefiles"

8 years agoRemove Android.bp logic from makefiles
Colin Cross [Mon, 11 Jul 2016 23:57:33 +0000 (16:57 -0700)]
Remove Android.bp logic from makefiles

When Soong was optional, the make build system needed extra complexity
to ignore Android.mk files that had an associated Android.bp file.  Now
that Soong is required and the Android.mk files that were obsoleted by
an associated Android.bp file have been removed, remove all of the logic
that found associated Android.bp files.  Android.mk files and Android.bp
files are now handled independently.

Change-Id: Ia6643d151b920689219ca8abd59ede44d230ba35

8 years agoMerge "Extend SDK link check to java libraries"
Dan Willemsen [Mon, 11 Jul 2016 20:20:40 +0000 (20:20 +0000)]
Merge "Extend SDK link check to java libraries"

8 years agoMerge changes from topic 'imgdiff-squashfs'
Treehugger Robot [Mon, 11 Jul 2016 15:55:51 +0000 (15:55 +0000)]
Merge changes from topic 'imgdiff-squashfs'

* changes:
  releasetools: Fix the detection of using squashfs.
  releasetools: Disable using imgdiff for squashfs.

8 years agoreleasetools: Fix the detection of using squashfs.
Tao Bao [Thu, 7 Jul 2016 16:09:58 +0000 (09:09 -0700)]
releasetools: Fix the detection of using squashfs.

We should disable using imgdiff if *any* of the source and target
partitions uses squashfs.

Bug: 30004734
Test: Create an incremental with two builds with one of them uses squashfs.
Change-Id: I826cd13d7b852c548e4b45e61f5ae00f6407cac3
(cherry picked from commit f8acad1480a3b4479c7ddfa89df8be946d83d3ed)

8 years agoreleasetools: Disable using imgdiff for squashfs.
Tao Bao [Sat, 11 Jun 2016 19:19:23 +0000 (12:19 -0700)]
releasetools: Disable using imgdiff for squashfs.

We use imgdiff to handle files in zip format (e.g. jar/zip/apk) for
higher compression ratio.

For system/vendor in squashfs, a) all files are compressed in LZ4
format; b) we use 4096-byte block size in their sparse images, but the
files in squashfs may not be laid out as 4K-aligned. So the blocks for
a given file as listed in block map may not form a valid zip file, which
may fail the patch generation with imgdiff.

Disable using imgdiff for squashfs images, and use bsdiff instead.

Bug: 22322817
Change-Id: Ie76aa4cece5c9d38cb1d1a34c505a4a8f37512d3
(cherry picked from commit 293fd135c7bc0c21b41f1782d21c26de64e8854a)

8 years agoExtend SDK link check to java libraries
Dan Willemsen [Sat, 9 Jul 2016 04:33:05 +0000 (21:33 -0700)]
Extend SDK link check to java libraries

Java code using the SDK should not link to java code built with the
platform APIs or the system SDK. Java code using the system SDK should
not link to the platform APIs either, but it can link to java code using
another SDK.

Change-Id: Iaae0a7e01993cfa1e023649fbd8a7974b5eca709

8 years agoMerge "releasetools: Fix the payload public key replacement."
Treehugger Robot [Fri, 8 Jul 2016 20:58:49 +0000 (20:58 +0000)]
Merge "releasetools: Fix the payload public key replacement."

8 years agoreleasetools: Fix the payload public key replacement.
Tao Bao [Wed, 6 Jul 2016 22:28:59 +0000 (15:28 -0700)]
releasetools: Fix the payload public key replacement.

update_engine expects the extracted public key instead of the
certificate.

Bug: 28701652
Change-Id: I292d39da9e039f96d01a4214226aeb46f8cb881d
(cherry picked from commit afaf295cb85eb4091bc8a82950acab618b4139ca)

8 years agoFix root_filesystem_config.txt generation
Gaelle Nassiet [Fri, 24 Jun 2016 09:18:53 +0000 (11:18 +0200)]
Fix root_filesystem_config.txt generation

The first line returned by awk is empty. In consequence, when
fs_config computes its mode it will consider this line as a file (no
trailing slash) and affect the default android_files mode which is
0644. The mode for the root directory should be the default
android_dirs mode 0755.
Add a special case in fs_config to consider empty line as a directory.

Change-Id: I9f33f6fcf4be05c31914db898e65c92b0a611518
Signed-off-by: Gaelle Nassiet <gaellex.nassiet@intel.com>
8 years agoMerge "Move apksigner library to tools/apksig."
Treehugger Robot [Thu, 7 Jul 2016 20:33:04 +0000 (20:33 +0000)]
Merge "Move apksigner library to tools/apksig."

8 years agoMerge "Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts"
Treehugger Robot [Thu, 7 Jul 2016 19:14:54 +0000 (19:14 +0000)]
Merge "Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts"

8 years agoSupport LOCAL_STRIP_MODULE := keep_symbols for prebuilts
Colin Cross [Thu, 7 Jul 2016 18:16:49 +0000 (11:16 -0700)]
Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts

Change-Id: I92a838b07fe4116d5a4b8521fe1ce8d44e6e84e2

8 years agoMerge "Recognize new C/C++ compiler and static analyzer warnings."
Treehugger Robot [Thu, 7 Jul 2016 18:07:21 +0000 (18:07 +0000)]
Merge "Recognize new C/C++ compiler and static analyzer warnings."

8 years agoMove apksigner library to tools/apksig.
Alex Klyubin [Thu, 7 Jul 2016 16:32:28 +0000 (09:32 -0700)]
Move apksigner library to tools/apksig.

This moves build/tools/apksigner/core to its own project tools/apksig.
The move also renames the moved Java packages from
com.android.apksigner.core.* to com.android.apksig.* to reflect the
new name of the library.

Bug: 27461702
Change-Id: Iab812ae2b8f0a741014f842460c78e35bc249d43

8 years agoMerge "Never add asan libraries to NDK code"
Dan Willemsen [Thu, 7 Jul 2016 17:07:42 +0000 (17:07 +0000)]
Merge "Never add asan libraries to NDK code"

8 years agoMerge "APK signer primitive."
Treehugger Robot [Wed, 6 Jul 2016 22:59:32 +0000 (22:59 +0000)]
Merge "APK signer primitive."

8 years agoRecognize new C/C++ compiler and static analyzer warnings.
Chih-Hung Hsieh [Fri, 1 Jul 2016 22:48:06 +0000 (15:48 -0700)]
Recognize new C/C++ compiler and static analyzer warnings.

Change-Id: I5f47c45498c640702922704aa5305a85e9493fcc
Test: run with Android build.log.

8 years agoMerge "Apply SANITIZE_TARGET=safe-stack to 64 bit targets only."
Evgenii Stepanov [Fri, 1 Jul 2016 20:09:45 +0000 (20:09 +0000)]
Merge "Apply SANITIZE_TARGET=safe-stack to 64 bit targets only."

8 years agoApply SANITIZE_TARGET=safe-stack to 64 bit targets only.
Evgenii Stepanov [Sat, 7 May 2016 01:15:57 +0000 (18:15 -0700)]
Apply SANITIZE_TARGET=safe-stack to 64 bit targets only.

Bug: 27729263
Change-Id: I214a9f40b94f6e6716aca05be774f014e62f73e8

8 years agoMerge "Apply SANITIZE_TARGET and LOCAL_SANITIZE when both are present."
Evgenii Stepanov [Fri, 1 Jul 2016 20:07:04 +0000 (20:07 +0000)]
Merge "Apply SANITIZE_TARGET and LOCAL_SANITIZE when both are present."

8 years agoApply SANITIZE_TARGET and LOCAL_SANITIZE when both are present.
Evgenii Stepanov [Fri, 20 May 2016 00:45:21 +0000 (17:45 -0700)]
Apply SANITIZE_TARGET and LOCAL_SANITIZE when both are present.

The idea is that targets with LOCAL_SANITIZE = signed-integer-overflow
and SANITIZE_TARGET=safe-stack should get both sanitizers.
This should work just fine for SANITIZE_TARGET=address, too.

Bug: 27729263
Change-Id: Ifee350da4877008fb061bc7f6c700e7fade405bc

8 years agoMerge changes I17a96b97,Ib4412657,I73e6d479
Treehugger Robot [Fri, 1 Jul 2016 04:26:26 +0000 (04:26 +0000)]
Merge changes I17a96b97,Ib4412657,I73e6d479

* changes:
  Build: Add module-level product configuration of sanitization
  Build: Add option to restrict sanitization by owner
  Build: Add option to restrict sanitization by architecture

8 years agoMerge "Build: Fix vendor sanitizer library for secondary arch"
Treehugger Robot [Fri, 1 Jul 2016 04:24:46 +0000 (04:24 +0000)]
Merge "Build: Fix vendor sanitizer library for secondary arch"

8 years agoBuild: Fix vendor sanitizer library for secondary arch
Andreas Gampe [Fri, 1 Jul 2016 03:20:38 +0000 (20:20 -0700)]
Build: Fix vendor sanitizer library for secondary arch

Fix the directory for secondary-architecture libraries under
sanitization. These incorrectly wrote into vendor/lib instead
of data/vendor/lib.

Bug: 29498013
Change-Id: Iee08422a1f7ad42cbe71a322347e98cb74e3ef7f

8 years agoMerge "Sanitizer build tweaks."
Evgenii Stepanov [Fri, 1 Jul 2016 00:42:12 +0000 (00:42 +0000)]
Merge "Sanitizer build tweaks."

8 years agoSanitizer build tweaks.
Evgenii Stepanov [Fri, 20 May 2016 00:49:51 +0000 (17:49 -0700)]
Sanitizer build tweaks.

-Wl,-no-undefined is currently disabled for any SANITIZE_TARGET. Limit that to
the sanitizers with a runtime library (i.e. address, thread).

Re-enable the relocation packer for ASan. This has been fixed upstream a long
time ago.

Bug: 27729263
Change-Id: I566df6104de816223dc1c519d41a87629ce9c47c

8 years agoMerge "Only add libdl dependency for ASan/TSan on target."
Evgenii Stepanov [Thu, 30 Jun 2016 23:49:26 +0000 (23:49 +0000)]
Merge "Only add libdl dependency for ASan/TSan on target."

8 years agoOnly add libdl dependency for ASan/TSan on target.
Evgenii Stepanov [Thu, 12 May 2016 20:07:36 +0000 (13:07 -0700)]
Only add libdl dependency for ASan/TSan on target.

Only sanitizers that intercept stuff need that. For example,
SafeStack does not, and I think UBSan too.

Bug: 27729263
Change-Id: I413cd46cc6c6914a363a3c53da7954beacd8f0d8

8 years agoBuild: Add module-level product configuration of sanitization
Andreas Gampe [Mon, 27 Jun 2016 22:15:31 +0000 (15:15 -0700)]
Build: Add module-level product configuration of sanitization

To allow special sanitizer settings for modules shared between
products, add product-specific module settings.

This was copied from the product-specific dexopt settings.

Bug: 29498013
Change-Id: I17a96b975bb6ac7f4ffb3d5b08e2f00b21bd97a1
(cherry picked from commit bb5454b6db5770f0b0275424148b2d7d3c52a56d)

8 years agoBuild: Add option to restrict sanitization by owner
Andreas Gampe [Tue, 21 Jun 2016 00:46:29 +0000 (17:46 -0700)]
Build: Add option to restrict sanitization by owner

Add Make variable SANITIZE_NEVER_BY_OWNER to selectively
sanitize modules. By default, both are being sanitized. The
value of the variable is interpreted as a space or colon
separated list of owner names.

This can be used to create builds that lower the sanitization
burden by not sanitizing parts of the platform.

Bug: 29498013
Change-Id: Ib4412657fd38ff28a5c0863eddc2acde63c88ebb
(cherry picked from commit ea38d8e95d7daea49cc2a528d69e06a0005b31a6)

8 years agoBuild: Add option to restrict sanitization by architecture
Andreas Gampe [Tue, 21 Jun 2016 00:36:49 +0000 (17:36 -0700)]
Build: Add option to restrict sanitization by architecture

Add Make variable SANITIZE_ARCH to selectively sanitize binaries.
This uses the "bitness," i.e., 32 or 64, to potentially filter
the sanitization. By default, both are being sanitized.

This can be used to create builds that lower the sanitization
burden by not sanitizing "half" of the platform.

Bug: 29498013
Change-Id: I73e6d479f08a970ba912f4f63967d32f3487125f
(cherry picked from commit 0290a416c844f9a8ec953f63f199b00d36283228)

8 years agoMerge "Add LOCAL_NOSANITIZE."
Evgenii Stepanov [Thu, 30 Jun 2016 22:49:52 +0000 (22:49 +0000)]
Merge "Add LOCAL_NOSANITIZE."

8 years agoAdd LOCAL_NOSANITIZE.
Evgenii Stepanov [Thu, 12 May 2016 20:07:17 +0000 (13:07 -0700)]
Add LOCAL_NOSANITIZE.

This can be used to selectively disable individual sanitizers on a
target. For example, some parts of libc should be built with
SafeStack (when requested with SANITIZE_TARGET), but never with
AddressSanitizer. Current build rules specify LOCAL_SANITIZE := never
to disable AddressSanitizer; the idea is to change that to
LOCAL_NOSANITIZE := address thread.

Bug: 27729263
Change-Id: I2b770f2ce3faf6ad6798792327e96adb86fe4a4f

8 years agoMerge "Detect `uname -m` == i686 as a 32-bit host"
Treehugger Robot [Wed, 29 Jun 2016 20:37:13 +0000 (20:37 +0000)]
Merge "Detect `uname -m` == i686 as a 32-bit host"

8 years agoDetect `uname -m` == i686 as a 32-bit host
Dan Willemsen [Wed, 29 Jun 2016 19:26:53 +0000 (12:26 -0700)]
Detect `uname -m` == i686 as a 32-bit host

Change-Id: I0350629ce6ea7a5f0224489bafc98bc190e70932
Test: UNAME from https://groups.google.com/d/msg/android-building/nGQna2xuW5s/eEcXSo9ZBgAJ

8 years agoMerge "Skip copying existing vendor images"
Tianjie Xu [Wed, 29 Jun 2016 18:37:38 +0000 (18:37 +0000)]
Merge "Skip copying existing vendor images"

8 years agoSkip copying existing vendor images
Tianjie Xu [Tue, 28 Jun 2016 21:34:03 +0000 (14:34 -0700)]
Skip copying existing vendor images

add_img_to_target_files.py has an option of "-a" to add missing
images only. Under this option, the script should skip copying
the radio images for A/B devices when given image exists already
under "IMAGES/".

Test: Run the command on an A/B device, the existing radio images under "IMAGES/" don't get overwritten; and missing images are added correctly.
Bug: 29608905
Change-Id: Ie034b85a5d777d53e367f99470cea4d19cb1aaaf

8 years agoMerge "Add jdk.net to whitelist"
Yi Kong [Wed, 29 Jun 2016 11:00:47 +0000 (11:00 +0000)]
Merge "Add jdk.net to whitelist"

8 years agoNever add asan libraries to NDK code
Dan Willemsen [Tue, 28 Jun 2016 23:47:43 +0000 (16:47 -0700)]
Never add asan libraries to NDK code

We're beginning to enforce (still warning) that NDK code only links to
other NDK code. So we should never need to link them to the address
sanitizer libraries.

This breaks down a bit when platform code starts depending on NDK-built
code, where the NDK-built code should be mostly the same as if it was
built with the platform, but has an implicit LOCAL_SANITIZE := never.
Even so, this change shouldn't make that worse, as we'll still compile
fine, and anything platform code that uses asan should pull in the
shared library.

Change-Id: I81b30b9edd971468c3cb1467f809f184807b505e

8 years agoMerge "Extract public key ID from cert"
Badhri Jagan Sridharan [Tue, 28 Jun 2016 23:36:22 +0000 (23:36 +0000)]
Merge "Extract public key ID from cert"

8 years agoExtract public key ID from cert
Badhri Jagan Sridharan [Sat, 30 Apr 2016 01:20:13 +0000 (18:20 -0700)]
Extract public key ID from cert

Extracts keyid inline using openssl commands.
The keyid is passed as one of the kernel command line parameters
for the dm-android-verity module to mount root fs(system)
with verity enabled.

(cherry-picked from 3af315aed5d657942b28ccae342324b9ee90116d
https://googleplex-android-review.git.corp.google.com/#/c/1061691/)

BUG: 28384658
Change-Id: I8efbe1b0e415ef1d396f9b51cfa4b3fa01b22484

8 years agoMerge "Turn unused source files from warning to error"
Treehugger Robot [Tue, 28 Jun 2016 19:41:39 +0000 (19:41 +0000)]
Merge "Turn unused source files from warning to error"

8 years agoTurn unused source files from warning to error
Dan Willemsen [Tue, 28 Jun 2016 17:22:08 +0000 (10:22 -0700)]
Turn unused source files from warning to error

All instances have disappeared from the build server, so switch this to
error before more turn up.

Change-Id: Iac07526a6e77ebf33733033249f2a108aae3fa7d

8 years agoMerge "Add VENDOR_PRODUCT_RESTRICT_VENDOR_FILES"
Treehugger Robot [Tue, 28 Jun 2016 06:17:32 +0000 (06:17 +0000)]
Merge "Add VENDOR_PRODUCT_RESTRICT_VENDOR_FILES"

8 years agoAdd VENDOR_PRODUCT_RESTRICT_VENDOR_FILES
Hung-ying Tyan [Fri, 20 May 2016 11:08:30 +0000 (19:08 +0800)]
Add VENDOR_PRODUCT_RESTRICT_VENDOR_FILES

Allow exceptions specified by module (VENDOR_EXCEPTION_MODULES) and
path (VENDOR_EXCEPTION_PATHS, not including leading vendor/).

BUG=26968426

Change-Id: I068e43f3eae14f8793c33ae916d46979ab1681d1

8 years agoMerge "releasetools: Change the default key path for bvbtool"
Treehugger Robot [Tue, 28 Jun 2016 01:52:36 +0000 (01:52 +0000)]
Merge "releasetools: Change the default key path for bvbtool"

8 years agoAPK signer primitive.
Alex Klyubin [Wed, 22 Jun 2016 21:03:06 +0000 (14:03 -0700)]
APK signer primitive.

This adds an APK signer primitive which preserves as much of the input
APK as possible. For example, it preserves the order of APK entries
and preserves their contents, including compressed form and alignment
of data.

Bug: 27461702
Change-Id: I51d07c530480182a66379e70a00f680544ff6214

8 years agoreleasetools: Change the default key path for bvbtool
Ethan Xia [Mon, 27 Jun 2016 09:19:01 +0000 (17:19 +0800)]
releasetools: Change the default key path for bvbtool

The bvb path has been changed from 'system/bvb' to 'external/bvb'

Change-Id: I8587351b7d702a287883c6bd3c9de1cd3540435b

8 years agoMerge "Fix typo in setting PRIVATE_MODULE for AIDL source"
Treehugger Robot [Fri, 24 Jun 2016 21:16:23 +0000 (21:16 +0000)]
Merge "Fix typo in setting PRIVATE_MODULE for AIDL source"

8 years agoFix typo in setting PRIVATE_MODULE for AIDL source
Christopher Wiley [Fri, 24 Jun 2016 20:13:52 +0000 (13:13 -0700)]
Fix typo in setting PRIVATE_MODULE for AIDL source

Bug: 29619260
Change-Id: I59f883c1a92075800844cc2a77b307782a9ab800

8 years agoMerge "Add +/- buttons to expand/collapse warning categories."
Chih-hung Hsieh [Fri, 24 Jun 2016 18:07:44 +0000 (18:07 +0000)]
Merge "Add +/- buttons to expand/collapse warning categories."

8 years agoMerge "Filter logging from dexdump/dex2oat to errors only"
David Sehr [Fri, 24 Jun 2016 18:07:07 +0000 (18:07 +0000)]
Merge "Filter logging from dexdump/dex2oat to errors only"

8 years agoAdd jdk.net to whitelist
Yi Kong [Fri, 24 Jun 2016 17:57:55 +0000 (18:57 +0100)]
Add jdk.net to whitelist

Tracks libcore commit a434f3be3c22c6b3e7ddd426766808e76a5780fd

Bug: 29067535
Change-Id: I764b602aa0f2a991dc26b5fd42a1143bb58d67ba

8 years agoFilter logging from dexdump/dex2oat to errors only
David Sehr [Fri, 24 Jun 2016 16:17:04 +0000 (09:17 -0700)]
Filter logging from dexdump/dex2oat to errors only

Change-Id: Idb3f1c3d216e2db87ce3b03cbacc6fc3ceff37e0

8 years agoMerge "Fix path escaping for aidl generated java"
Christopher Wiley [Fri, 24 Jun 2016 16:00:33 +0000 (16:00 +0000)]
Merge "Fix path escaping for aidl generated java"

8 years agoMerge "Fix the path for verity_key replacement when signing."
Tao Bao [Fri, 24 Jun 2016 05:20:20 +0000 (05:20 +0000)]
Merge "Fix the path for verity_key replacement when signing."

8 years agoMerge "Add ability to pass in payload_signer args"
Tao Bao [Fri, 24 Jun 2016 05:20:06 +0000 (05:20 +0000)]
Merge "Add ability to pass in payload_signer args"

8 years agoMerge "releasetools: Support using payload_signer."
Tao Bao [Fri, 24 Jun 2016 05:19:53 +0000 (05:19 +0000)]
Merge "releasetools: Support using payload_signer."

8 years agoMerge "releasetools: replace verity keyid"
Tao Bao [Fri, 24 Jun 2016 05:19:40 +0000 (05:19 +0000)]
Merge "releasetools: replace verity keyid"

8 years agoMerge "Replace OTA keys when signing for A/B devices."
Tao Bao [Fri, 24 Jun 2016 05:19:22 +0000 (05:19 +0000)]
Merge "Replace OTA keys when signing for A/B devices."

8 years agoFix the path for verity_key replacement when signing.
Tao Bao [Sat, 18 Jun 2016 00:01:22 +0000 (17:01 -0700)]
Fix the path for verity_key replacement when signing.

system_root_image expects the key at ROOT/verity_key as opposed to
BOOT/verity_key. Also refactor the verity key replacement lines.

Bug: 29397395
Test: 'sign_target_files_apks.py --replace_verity_private_key newkey --replace_verity_public_key newkey.pub target_files.zip signed-target_files.zip' and verify the replaced key in boot.img.
Change-Id: I58a5defff4be008ad55d4b5a5b7148569c3b8d66
(cherry picked from commit e0ee794fa16b206e792eac0942f448df34247fd8)

8 years agoAdd ability to pass in payload_signer args
Baligh Uddin [Wed, 22 Jun 2016 19:14:16 +0000 (12:14 -0700)]
Add ability to pass in payload_signer args

Bug: 28701652
Change-Id: I110d5fc14446e4a6a0f8e25dcb0d300decdf09a4
(cherry picked from commit 2abbbd03339947327ada0becba5bd4ef41f1bdab)

8 years agoreleasetools: Support using payload_signer.
Tao Bao [Tue, 21 Jun 2016 00:55:06 +0000 (17:55 -0700)]
releasetools: Support using payload_signer.

For A/B OTAs, by default it calls 'openssl pkeyutl' to sign the payload
and metadata with the package private key. If the private key cannot be
accessed directly, a payload signer that knows how to do that should be
supplied via "--payload_signer <signer>".

The signer will be called with "-inkey <path_to_private_key>",
"-in <input_file>" and "-out <output_file>" parameters.

Test: Use a dummy signer, call 'ota_from_target_files.py --payload_signer <signer> <target_files.zip> <ota.zip>' and verify the signatures in the generated package.
Bug: 28701652
Change-Id: I26cfdd3fdba6fc90799221741b75426988e46fd3
(cherry picked from commit dea0f8bfed01fa620d23d7dd8ff533246f26e8a0)

8 years agoreleasetools: replace verity keyid
Badhri Jagan Sridharan [Fri, 17 Jun 2016 02:58:44 +0000 (19:58 -0700)]
releasetools: replace verity keyid

Replace verity keyid with the keyid extracted from cert
passed through --replace_verity_keyid. The veritykeyid in the
BOOT/cmdline of input target files is replaced with keyid
extracted from --replace_verity_keyid and written to the
output target files.

BUG: 28384658
Change-Id: Ic683f36f543c4fcd94b6f95e40f01200fbf45ee1
(cherry picked from commit b58d23fe00697a0cf9c7c9c75639fd8c7b5bb016)

8 years agoReplace OTA keys when signing for A/B devices.
Tao Bao [Thu, 16 Jun 2016 21:41:24 +0000 (14:41 -0700)]
Replace OTA keys when signing for A/B devices.

It replaces the package verification key (change of path due to
system_root_image flag), as well as the payload verification key.

Bug: 29397395
Change-Id: I10435072aaf4356f2d8b5e1b6e82eb9cead7ad62
(cherry picked from commit 24a72064309dd55d4aa80b70480eed55c54f818d)

8 years agoFix path escaping for aidl generated java
Christopher Wiley [Thu, 23 Jun 2016 23:44:47 +0000 (16:44 -0700)]
Fix path escaping for aidl generated java

Bug: 29619260
Change-Id: I806044573661c61e691adf36a47092188db87ab6
Test: Generated java with ../ in paths appears in the right place.

8 years agoAdd +/- buttons to expand/collapse warning categories.
Chih-Hung Hsieh [Thu, 23 Jun 2016 02:15:12 +0000 (19:15 -0700)]
Add +/- buttons to expand/collapse warning categories.

* Add expand/collapse-all buttons to expand/collapse all warnings.
* Use HTML styles to reduce output file size.

Change-Id: Ica188cc4f123ce0ab8547f88315325c3e0560a39
Test: Checked output html file with Chrome browser.

8 years agoMerge "Use Builder pattern for ApkVerifier parameters."
Treehugger Robot [Thu, 23 Jun 2016 00:31:53 +0000 (00:31 +0000)]
Merge "Use Builder pattern for ApkVerifier parameters."

8 years agoUse Builder pattern for ApkVerifier parameters.
Alex Klyubin [Tue, 21 Jun 2016 17:46:56 +0000 (10:46 -0700)]
Use Builder pattern for ApkVerifier parameters.

This should make it easier to add parameters/options without breaking
existing clients.

Bug: 27461702
Change-Id: Ia4577f78d703a6b91828dd08492c78d5e9afb110

8 years agoMerge "Finish refactoring tests to NATIVE_TESTS"
Treehugger Robot [Wed, 22 Jun 2016 20:37:40 +0000 (20:37 +0000)]
Merge "Finish refactoring tests to NATIVE_TESTS"

8 years agoFinish refactoring tests to NATIVE_TESTS
Dan Willemsen [Wed, 22 Jun 2016 07:27:54 +0000 (00:27 -0700)]
Finish refactoring tests to NATIVE_TESTS

Now that the source trees all use NATIVE_TESTS for intermediate files
and generated sources, make it a requirement.

Change-Id: Id5718fabe63f6e8dde7981a6f0f5bd89e0ec7ee5

8 years agoMerge "move test artifact build rules into open source location"
Treehugger Robot [Wed, 22 Jun 2016 00:47:27 +0000 (00:47 +0000)]
Merge "move test artifact build rules into open source location"

8 years agomove test artifact build rules into open source location
Guang Zhu [Tue, 21 Jun 2016 05:03:24 +0000 (22:03 -0700)]
move test artifact build rules into open source location

Bug: 29404304
Change-Id: I5553d275fe478fac0d6fe00a931a1c1f1e3bdd59
(cherry picked from commit 8322be725282d4ac64a65b44e2f6b0c681e35819)

8 years agoMerge "Clean up vendor image handling"
Dan Willemsen [Tue, 21 Jun 2016 21:54:40 +0000 (21:54 +0000)]
Merge "Clean up vendor image handling"

8 years agoMerge "Remove --no_prereq flag from OTA script."
Elliott Hughes [Mon, 20 Jun 2016 23:57:56 +0000 (23:57 +0000)]
Merge "Remove --no_prereq flag from OTA script."

8 years agoRemove --no_prereq flag from OTA script.
Elliott Hughes [Mon, 20 Jun 2016 21:35:47 +0000 (14:35 -0700)]
Remove --no_prereq flag from OTA script.

Bug: http://b/29393071
Test: aosp_flounder "make dist"
Change-Id: I9ec85210e118f7e525291e31ab4081a2bd10f998

8 years agoMerge "Also turn down the logging for dex2oat on the boot image"
David Sehr [Mon, 20 Jun 2016 19:50:54 +0000 (19:50 +0000)]
Merge "Also turn down the logging for dex2oat on the boot image"

8 years agoAlso turn down the logging for dex2oat on the boot image
Joe Onorato [Thu, 17 Mar 2016 17:12:36 +0000 (10:12 -0700)]
Also turn down the logging for dex2oat on the boot image

Bug: 27499257
Change-Id: I190ce72b44e49451dab44902e2ca33dd5c2815ce
(cherry picked from commit 632db649fb16c0a8259c36dcf7534c8596273d89)

8 years agoClean up vendor image handling
Dan Willemsen [Fri, 17 Jun 2016 21:07:37 +0000 (14:07 -0700)]
Clean up vendor image handling

Standardize symlinking /system/vendor -> /vendor for aosp_* devices,
since some /vendor binaries still use /system/vendor/... paths.

Support using a prebuilt vendor image and including it into all the
normal packaging steps.

Bug: 28987532
Change-Id: I27040e8a8d1df0777e16cd1e3c3a9f1b28695e96

8 years agoMerge "Let caller handle NoSuchAlgorithmException."
Alex Klyubin [Fri, 17 Jun 2016 20:36:00 +0000 (20:36 +0000)]
Merge "Let caller handle NoSuchAlgorithmException."

8 years agoLet caller handle NoSuchAlgorithmException.
Alex Klyubin [Thu, 16 Jun 2016 16:21:54 +0000 (09:21 -0700)]
Let caller handle NoSuchAlgorithmException.

This surfaces relevant NoSuchAlgorithmExceptions to the caller instead
of rethrowing as other exception types. Some setups need to be able to
distringuish issues due to their own misconfiguration
(required crypto algorithm mising -- NoSuchAlgorithmException) from
issues with the APK being signed or verified.

Bug: 27461702
Change-Id: I993f73edb29b2cd4cc485734a89a924ec357ef19

8 years agoMerge "maxSdkVersion can be specified for APK verification."
Alex Klyubin [Fri, 17 Jun 2016 19:10:42 +0000 (19:10 +0000)]
Merge "maxSdkVersion can be specified for APK verification."

8 years agomaxSdkVersion can be specified for APK verification.
Alex Klyubin [Fri, 17 Jun 2016 16:38:32 +0000 (09:38 -0700)]
maxSdkVersion can be specified for APK verification.

This enables verification of APKs which are served to a specific
range of Android platform versions, or to replicate behavior of
particular platform versions.

Bug: 27461702
Change-Id: I44ab4c99419eb97d72c4ccd109137fe1efda577d

8 years agoMerge "Reject PKCS#7 SignerInfo with unsupported parameters."
Alex Klyubin [Fri, 17 Jun 2016 15:56:51 +0000 (15:56 +0000)]
Merge "Reject PKCS#7 SignerInfo with unsupported parameters."

8 years agoMerge "Remove obsolete MTD support from the releasetools scripts."
Treehugger Robot [Fri, 17 Jun 2016 04:47:47 +0000 (04:47 +0000)]
Merge "Remove obsolete MTD support from the releasetools scripts."

8 years agoRemove obsolete MTD support from the releasetools scripts.
Elliott Hughes [Thu, 16 Jun 2016 00:04:54 +0000 (17:04 -0700)]
Remove obsolete MTD support from the releasetools scripts.

Bug: http://b/29250988
Change-Id: I653dc306485c6b35411840b53211d42eb6d19e34

8 years agoMerge "Add new Android.mk to handle repo move"
Treehugger Robot [Thu, 16 Jun 2016 23:25:45 +0000 (23:25 +0000)]
Merge "Add new Android.mk to handle repo move"

8 years agoMerge "Remove build/libs"
Treehugger Robot [Thu, 16 Jun 2016 22:49:35 +0000 (22:49 +0000)]
Merge "Remove build/libs"

8 years agoAdd new Android.mk to handle repo move
Dan Willemsen [Thu, 16 Jun 2016 22:30:19 +0000 (15:30 -0700)]
Add new Android.mk to handle repo move

We're moving the platform/build repository down a level, then symlinking
the directories and necessary files back into build/. So if we're still
in build/, keep searching for Android.mk files, otherwise stop, since
they'll be found through the symlinks.

Bug: 28001743
Change-Id: Ieea6e3b1fca265b548395c6af148ebb4efa43b0f

8 years agoRemove build/libs
Dan Willemsen [Thu, 16 Jun 2016 21:52:47 +0000 (14:52 -0700)]
Remove build/libs

There's only a single library, libhost, and it's only used by acp and
atree in build/tools, move it there.

Bug: 28001743
Change-Id: Ie404d2793710de4e265a6fa95d462c32d4042623

8 years agoReject PKCS#7 SignerInfo with unsupported parameters.
Alex Klyubin [Wed, 15 Jun 2016 16:58:53 +0000 (09:58 -0700)]
Reject PKCS#7 SignerInfo with unsupported parameters.

This addresses the TODO to mimic the behavior of Android when
verifying APK JAR signatures. Unfortunately, the behavior of Android
kept changing in interesting ways between different platform versions.
This is hard-coded as a big lookup.

Bug: 27461702
Change-Id: I49bc181ee05f774ef8ee041af870385b35212c23

8 years agoMerge "Support wiping userdata for A/B OTA packages."
Treehugger Robot [Thu, 16 Jun 2016 15:39:23 +0000 (15:39 +0000)]
Merge "Support wiping userdata for A/B OTA packages."