Commit Graph

27118 Commits

Author SHA1 Message Date
David Sehr
49fbdd1f28 Filter logging from dexdump/dex2oat to errors only
Change-Id: Idb3f1c3d216e2db87ce3b03cbacc6fc3ceff37e0
2016-06-24 09:27:00 -07:00
Christopher Wiley
7e918b6a46 Merge "Fix path escaping for aidl generated java" 2016-06-24 16:00:33 +00:00
Tao Bao
46abc55954 Merge "Fix the path for verity_key replacement when signing." 2016-06-24 05:20:20 +00:00
Tao Bao
8e6582b238 Merge "Add ability to pass in payload_signer args" 2016-06-24 05:20:06 +00:00
Tao Bao
983a42bdf1 Merge "releasetools: Support using payload_signer." 2016-06-24 05:19:54 +00:00
Tao Bao
6efa887f9b Merge "releasetools: replace verity keyid" 2016-06-24 05:19:40 +00:00
Tao Bao
f2c34ece3c Merge "Replace OTA keys when signing for A/B devices." 2016-06-24 05:19:22 +00:00
Tao Bao
8adcfd1688 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 e0ee794fa1)
2016-06-23 22:17:46 -07:00
Baligh Uddin
34eb000de5 Add ability to pass in payload_signer args
Bug: 28701652
Change-Id: I110d5fc14446e4a6a0f8e25dcb0d300decdf09a4
(cherry picked from commit 2abbbd0333)
2016-06-23 22:16:46 -07:00
Tao Bao
1a5e1d18a7 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 dea0f8bfed)
2016-06-23 22:15:30 -07:00
Badhri Jagan Sridharan
35c9b1243f 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 b58d23fe00)
2016-06-23 22:13:12 -07:00
Tao Bao
a80ed221b8 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 24a7206430)
2016-06-23 22:12:31 -07:00
Christopher Wiley
d9205ba17e Fix path escaping for aidl generated java
Bug: 29619260
Change-Id: I806044573661c61e691adf36a47092188db87ab6
Test: Generated java with ../ in paths appears in the right place.
2016-06-23 16:49:32 -07:00
Treehugger Robot
744e7746c4 Merge "Use Builder pattern for ApkVerifier parameters." 2016-06-23 00:31:53 +00:00
Alex Klyubin
9a41c93f41 Use Builder pattern for ApkVerifier parameters.
This should make it easier to add parameters/options without breaking
existing clients.

Bug: 27461702
Change-Id: Ia4577f78d703a6b91828dd08492c78d5e9afb110
2016-06-22 14:59:12 -07:00
Treehugger Robot
239f2b0f9f Merge "Finish refactoring tests to NATIVE_TESTS" 2016-06-22 20:37:41 +00:00
Dan Willemsen
e1c6deab10 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
2016-06-22 00:27:54 -07:00
Treehugger Robot
59e060e1c6 Merge "move test artifact build rules into open source location" 2016-06-22 00:47:28 +00:00
Guang Zhu
a9bc78af69 move test artifact build rules into open source location
Bug: 29404304
Change-Id: I5553d275fe478fac0d6fe00a931a1c1f1e3bdd59
(cherry picked from commit 8322be7252)
2016-06-21 15:49:09 -07:00
Dan Willemsen
4f807026e2 Merge "Clean up vendor image handling" 2016-06-21 21:54:40 +00:00
Elliott Hughes
bc450fc9c8 Merge "Remove --no_prereq flag from OTA script." 2016-06-20 23:57:56 +00:00
Elliott Hughes
d8a52f9785 Remove --no_prereq flag from OTA script.
Bug: http://b/29393071
Test: aosp_flounder "make dist"
Change-Id: I9ec85210e118f7e525291e31ab4081a2bd10f998
2016-06-20 14:44:18 -07:00
David Sehr
ee199c49d0 Merge "Also turn down the logging for dex2oat on the boot image" 2016-06-20 19:50:54 +00:00
Joe Onorato
b7fd3d212b Also turn down the logging for dex2oat on the boot image
Bug: 27499257
Change-Id: I190ce72b44e49451dab44902e2ca33dd5c2815ce
(cherry picked from commit 632db649fb)
2016-06-20 11:15:31 -07:00
Dan Willemsen
6c3e79b8e3 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
2016-06-18 17:47:12 -07:00
Alex Klyubin
8427083a26 Merge "Let caller handle NoSuchAlgorithmException." 2016-06-17 20:36:00 +00:00
Alex Klyubin
05f87de7a3 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
2016-06-17 12:15:32 -07:00
Alex Klyubin
2ea2e205f4 Merge "maxSdkVersion can be specified for APK verification." 2016-06-17 19:10:42 +00:00
Alex Klyubin
f31ced2e10 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
2016-06-17 10:02:47 -07:00
Alex Klyubin
21213cff9c Merge "Reject PKCS#7 SignerInfo with unsupported parameters." 2016-06-17 15:56:51 +00:00
Treehugger Robot
63fc2b6766 Merge "Remove obsolete MTD support from the releasetools scripts." 2016-06-17 04:47:47 +00:00
Elliott Hughes
305b088729 Remove obsolete MTD support from the releasetools scripts.
Bug: http://b/29250988
Change-Id: I653dc306485c6b35411840b53211d42eb6d19e34
2016-06-16 20:48:47 -07:00
Treehugger Robot
ab95c4a59d Merge "Add new Android.mk to handle repo move" 2016-06-16 23:25:46 +00:00
Treehugger Robot
fcb8a89c3b Merge "Remove build/libs" 2016-06-16 22:49:35 +00:00
Dan Willemsen
c72dfe3cca 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
2016-06-16 15:30:19 -07:00
Dan Willemsen
eb4431595c 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
2016-06-16 14:52:47 -07:00
Alex Klyubin
d7236da153 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
2016-06-16 12:44:36 -07:00
Treehugger Robot
b727d5bb32 Merge "Support wiping userdata for A/B OTA packages." 2016-06-16 15:39:23 +00:00
Dan Willemsen
3068a85962 Merge changes Ib6ffcc38,Ia58e6bc1
* changes:
  Check that NDK-built modules only link to NDK-built modules
  Add macros for printing pretty warnings/errors in rules
2016-06-16 15:38:02 +00:00
Tao Bao
7c5dc578b3 Support wiping userdata for A/B OTA packages.
update_engine now accepts POWERWASH=1 to schedule a factory reset in
the post-install phase. Hook up with the --wipe_user_data flag in the
OTA script.

Bug: 28700985
Change-Id: Ie73876a61db90d124d2af588d674757376e9aabc
(cherry picked from commit 38ca0be399)
2016-06-15 23:19:52 -07:00
Dan Willemsen
b097fbed0a Check that NDK-built modules only link to NDK-built modules
Modules built against the NDK should only link against modules also
built against the NDK (or link to the NDK prebuilts). This patch
attempts to catch these cases, and prints a large warning when this is
violated. Once the tree is cleaned up, this will change to an error.

Change-Id: Ib6ffcc38d9161abdbe45a58af26ba429fb6f1876
2016-06-15 20:22:19 -07:00
Dan Willemsen
dd5a5d328b Add macros for printing pretty warnings/errors in rules
Change-Id: Ia58e6bc1328c84e5f4ba1f6a2fd2d650e94e127e
2016-06-15 20:22:19 -07:00
Treehugger Robot
a6f510c776 Merge "Fix kati --no_ignore_dirty usage" 2016-06-15 22:41:32 +00:00
Dan Willemsen
7fba3347b9 Merge "Forbid libstdc++ on Linux and Darwin" 2016-06-15 22:38:30 +00:00
Dan Willemsen
3773b45c3b Fix kati --no_ignore_dirty usage
Kati only supports a single use of --no_ignore_dirty, so we were
ignoring the SOONG_ANDROID_MK file, and only detecting changes to
SOONG_MAKEVARS_MK. Fix this by using a pattern that should apply to both
of those makefiles.

Change-Id: I46390f9887f95f1db0efe4e93339667f35ebc67c
2016-06-15 14:55:58 -07:00
Dan Willemsen
327fa9c411 Forbid libstdc++ on Linux and Darwin
The last user has been removed, forbid any modules from selecting this.

Change-Id: Idd9ef6ca4b6c6754935d59c4a09c7d213ae481c1
2016-06-15 13:41:45 -07:00
Alex Klyubin
1fb96c3ff5 Merge "Don't depend on Bouncy Castle." 2016-06-15 20:32:35 +00:00
Treehugger Robot
98b4f07dfc Merge "Faster and cleaner way to obtain UTF-8 encoded form." 2016-06-14 22:37:10 +00:00
Treehugger Robot
6c0c720389 Merge "Use more prebuilt build-tools" 2016-06-14 22:14:07 +00:00
Alex Klyubin
d4761a19b8 Faster and cleaner way to obtain UTF-8 encoded form.
Instead of specifying character encoding by name, the faster, cleaner,
and safer way is to use StandardCharsets.UTF_8.

Bug: 27461702
Change-Id: I897284d3ceeb44a21cc74de09a9b25f6aec8c205
2016-06-14 14:18:21 -07:00