Commit Graph

40897 Commits

Author SHA1 Message Date
Treehugger Robot b08567cbb6 Merge "releasetools: Fix the tag replacement for ro.build.vendor.fingerprint." 2017-12-18 22:18:14 +00:00
Treehugger Robot d30b75190d Merge "Remove the support for BOARD_HAS_EXT4_RESERVED_BLOCKS." 2017-12-18 22:17:46 +00:00
Baligh Uddin c4f76d670a Merge "Add generate_verity_key (+dependencies) to otatools package." 2017-12-18 20:40:49 +00:00
Baligh Uddin c8bef14c9f Add generate_verity_key (+dependencies) to otatools package. 2017-12-18 10:40:57 -08:00
Treehugger Robot 2b1f0d1810 Merge changes from topic "kati-obsolete-full-treble"
* changes:
  .KATI_obsolete PRODUCT_FULL_TREBLE.
  PRODUCT_NOTICE_SPLIT from PRODUCT_FULL_TREBLE
2017-12-18 17:46:25 +00:00
Steven Moreland 5dcea5de76 .KATI_obsolete PRODUCT_FULL_TREBLE.
It has been broken up into subflags, and usage has been cleaned up.

Bug: 69865032
Test: can't use PRODUCT_FULL_TREBLE
Change-Id: Ia38366a30132f129d09c6f4a985402c202bace62
2017-12-18 17:45:55 +00:00
Treehugger Robot 6663c8476a Merge "Depend on the more specific ndk timestamp." 2017-12-16 03:14:43 +00:00
Treehugger Robot 305d2abb27 Merge "Call clang-tidy with -quiet unless WITH_TIDY is set." 2017-12-16 01:53:44 +00:00
Treehugger Robot 9d3270bd52 Merge "Remove support for pre-r13 NDKs." 2017-12-16 01:15:29 +00:00
Colin Cross 9b93a8892a Merge "Fix swapped certificate and private key in soong apps" 2017-12-16 00:04:07 +00:00
Colin Cross 1ea9c644c8 Merge "Export app implementation and header jars" 2017-12-16 00:00:24 +00:00
Chih-Hung Hsieh 6375b6d730 Call clang-tidy with -quiet unless WITH_TIDY is set.
* Default builds calls clang-tidy only if enabled locally.
  In this case, clang-tidy should be quiet.
* If WITH_TIDY is 1 or true, let clang-tidy emit default messages.
* Even with -quiet and all warnings are suppressed,
  clang-tidy emits one line message of the number of suppressed messages.
  This one-liner could be suppressed in future changes.

Bug: 69051430
Test: default build and build with WITH_TIDY=1
Change-Id: I3138ef45fc4372f904787bd1a391e8d88050f0b3
2017-12-15 15:41:14 -08:00
Treehugger Robot e58d385df1 Merge "releasetools: Use delta_generator to verify payload signatures." 2017-12-15 23:38:12 +00:00
Dan Albert 3d1d1ead79 Remove support for pre-r13 NDKs.
We only have r16 checked in now.

Test: make native
Bug: None
Change-Id: I1600598cf86f803f9fdcf3fa5ada8d1871c98b65
2017-12-15 15:25:06 -08:00
Treehugger Robot 8c2007cf4d Merge "Create build artifact tradefed-tests_list.zip" 2017-12-15 23:25:01 +00:00
Steven Moreland ae69e5787a PRODUCT_NOTICE_SPLIT from PRODUCT_FULL_TREBLE
- until PRODUCT_NOTICE_SPLIT is the default
- disallow PRODUCT_NOTICE_SPLIT_OVERRIDE because it
  doesn't need to be differentiated.

Bug: 69865032
Test: manual
Change-Id: I4a29c298862fc9fab51755bf19f236f61fbd784d
2017-12-15 14:52:07 -08:00
Tao Bao e2ffc8b887 Merge "releasetools: Remove the support for generating verify package." 2017-12-15 22:00:06 +00:00
Colin Cross 4e34ce054c Fix swapped certificate and private key in soong apps
The .x509.pem file should be in CERTIFICATE, and the .pk8 file
in PRIVATE_KEY.

Bug: 70669383
Test: examine apkcerts.txt
Change-Id: I480f19be2efbbd72ea23ebd681f312b94accfd7a
2017-12-15 13:41:24 -08:00
Colin Cross 75a698b394 Export app implementation and header jars
Also fix a missing dependency on the jacoco-report-classes.jar

Test: m checkbuild
Change-Id: I67e924051e1029a409b82f2220811a27d5401db9
2017-12-15 13:41:24 -08:00
Treehugger Robot aec47c67cd Merge "Revert "Default NDK modules to libc++_shared."" 2017-12-15 21:39:29 +00:00
Tao Bao 750385e455 releasetools: Use delta_generator to verify payload signatures.
We used to take a hard approach by parsing the payload with Python
script. This can be done by calling deleta_generator directly, which
also avoids the dependency on protobuf.

- Passing case
$ ./build/make/tools/releasetools/check_ota_package_signature.py \
    build/target/product/security/testkey.x509.pem \
    out/dist/aosp_marlin-ota-eng.zip

Package: out/dist/aosp_marlin-ota-eng.zip
Certificate: build/target/product/security/testkey.x509.pem
  ...
Whole package signature VERIFIED

Verifying A/B OTA payload signatures...
[1215/122842:INFO:generate_delta_main.cc(171)] Verifying signed payload.
[1215/122845:INFO:payload_verifier.cc(93)] signature blob size = 264
[1215/122845:INFO:payload_verifier.cc(112)] Verified correct signature 1 out of 1 signatures.
[1215/122845:INFO:payload_verifier.cc(93)] signature blob size = 264
[1215/122845:INFO:payload_verifier.cc(112)] Verified correct signature 1 out of 1 signatures.
[1215/122845:INFO:generate_delta_main.cc(181)] Done verifying signed payload.

Payload signatures VERIFIED

$ echo $?
0

- Failing case
Sign the whole package file with a different key, but leaving payload entries intact.

$ ./build/make/tools/releasetools/check_ota_package_signature.py \
    testkey2.x509.pem \
    marlin-ota-mismatching.zip
Package: marlin-ota-mismatching.zip
Certificate: testkey2.x509.pem
  ...
Whole package signature VERIFIED

Verifying A/B OTA payload signatures...
[1215/123054:INFO:generate_delta_main.cc(171)] Verifying signed payload.
[1215/123056:INFO:payload_verifier.cc(93)] signature blob size = 264
[1215/123056:ERROR:payload_verifier.cc(118)] None of the 1 signatures is correct. Expected:
[1215/123056:INFO:utils.cc(444)] Logging array of length: 256
[1215/123056:INFO:utils.cc(461)] 0x00000000 : 00 01 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
  ...
[1215/123056:ERROR:payload_verifier.cc(121)] But found decrypted hashes:
[1215/123056:INFO:utils.cc(444)] Logging array of length: 256
[1215/123056:INFO:utils.cc(461)] 0x00000000 : 52 68 78 36 f6 9e cd 2d 5e 9f 31 d5 26 03 c9 aa
  ...
[1215/123056:ERROR:payload_signer.cc(333)] PayloadVerifier::VerifySignature( signature_blob, public_key_path, payload_hash) failed.
[1215/123056:INFO:generate_delta_main.cc(177)] VerifySignedPayload failed

    ERROR: Failed to verify payload with delta_generator: marlin-ota-mismatching.zip

$ echo $?
1

Bug: 65261072
Test: See above.
Change-Id: Id2e065655ec49b80dd2b13c6a859f41913be055b
2017-12-15 12:45:09 -08:00
Treehugger Robot b982d8b7ae Merge "Remove Treble from soong_config.mk" 2017-12-15 20:07:21 +00:00
Dan Albert 37099686c0 Revert "Default NDK modules to libc++_shared."
This reverts commit 6168f5baf1.

Reason for revert: http://b/70718590

Change-Id: I3e7afe3d1642260c2b5103cb07c636b0b5d72379
2017-12-15 20:01:03 +00:00
Joe Onorato fa839296ea Merge "When compiling with the lite protobuf option, pass the option to aprotoc to force the lite runtime." 2017-12-15 19:39:46 +00:00
Bo Hu d9ee7467fd Merge "emulator: disable location service" 2017-12-15 19:14:20 +00:00
Yifan Hong b1b5a0969b Merge changes from topic "fcm_version"
* changes:
  Move fwk comp mat level logic into assemble_vintf
  PRODUCT_COMPATIBILITY_MATRIX_LEVEL_OVERRIDE is deprecated.
2017-12-15 18:58:34 +00:00
Treehugger Robot d8d276c5a6 Merge "Rename VINTF XML module names" 2017-12-15 18:46:20 +00:00
Steven Moreland 60b0f06d9b Remove Treble from soong_config.mk
This variable has been broken up into smaller components.

Bug: 62019611
Test: nothing uses it
Change-Id: Ic985e42179df24a43d9a0d0047a31ecd3bf35ec7
2017-12-15 10:26:52 -08:00
Tao Bao 0c6a414fff releasetools: Remove the support for generating verify package.
We used to have "--gen_verify" that would generate a verify package for
non-A/B devices. Since a) we don't have active users; b) it works with
non-A/B only; c) we have better alternatives (e.g. using fastboot to
compute the partition checksum), this CL removes the support.

Test: `m dist`
Change-Id: Ib4a2c8c2a0394b54e66c106089aa52a0b900f034
2017-12-15 10:20:52 -08:00
Treehugger Robot 4b7ab33f4e Merge "Expose Treble requirement variables in Soong." 2017-12-15 17:41:28 +00:00
Joe Onorato bfc7811441 When compiling with the lite protobuf option, pass the option to aprotoc to force the lite runtime.
With LOCAL_PROTO_OPTIMIZE_TYPE set to one of the lite variants, the build system thinks
the proto should be compiled with lite, and will link in the line runtime libs. But if
the .proto files don't contain the directive to compile the source as lite
(option optimize_for = LITE_RUNTIME;), then the generated code will be full and the
libraries will be full, and it won't link.

Test: make
Merged-In: Ib8a135218d62fa42fa6448c49c97f7aeb2755c42
Change-Id: Ib8a135218d62fa42fa6448c49c97f7aeb2755c42
2017-12-15 08:40:48 -08:00
Tao Bao 23f7ea9e70 Merge "releasetools: Add common.ZipDelete()." 2017-12-15 16:36:55 +00:00
Søren Gjesse adcd4c761d Merge "Revert "Enable R8 by default (second attempt)"" 2017-12-15 15:27:16 +00:00
Søren Gjesse cd13676221 Revert "Enable R8 by default (second attempt)"
This reverts commit f2a697725c.

Reason for revert: b/70710434

Change-Id: Ia6d42e4c2fc7e7a4ca67d42d7aaa57ab95c2cc9a
2017-12-15 15:18:57 +00:00
Søren Gjesse 837408b4ca Merge "Enable R8 by default (second attempt)" 2017-12-15 11:05:25 +00:00
Treehugger Robot 587ced4a80 Merge "Default NDK modules to libc++_shared." 2017-12-15 02:29:58 +00:00
Yifan Hong 43ec6ead28 Rename VINTF XML module names
* system_compatibility_matrix/manifest.xml
   => framework_...
* compatibility_matrix/manifest.xml
   => device_...

This is to follow the naming scheme in VINTF
doc.

Test: build all four targets

Change-Id: If5f6a99ded9964f3500c8e5fb97278f8fd0de387
2017-12-14 18:19:44 -08:00
Tao Bao 89d7ab23e8 releasetools: Add common.ZipDelete().
We have been shelling out to 'zip -d' to delete existing ZIP entries in
add_img_to_target_files.py. This CL moves the function into common.py,
and calls that for the similar work in ota_from_target_files.py. This CL
also adds unittests for the newly added function.

Test: `m dist`
Test: python -m unittest test_common
Test: ota_from_target_files.py generates identical packages w/ and w/o
      the CL (so we know the streaming property computation is intact).
Test: Run 'add_img_to_target_files.py -a' that triggers a call to
      ReplaceUpdatedFiles().
Change-Id: Icaa6c3ea3ee2166023f78fa79275295f837ea842
2017-12-14 17:17:04 -08:00
Yifan Hong ed42caf94d Move fwk comp mat level logic into assemble_vintf
Deprecation schedule requirements is specified in assemble_vintf.
Move all checking logic to assemble_vintf.

Test: builds

Bug: 69636193
Change-Id: I2d62555633494014dc0005931de6c8ae9e6877fa
Merged-In: I2d62555633494014dc0005931de6c8ae9e6877fa
2017-12-14 15:35:15 -08:00
Yifan Hong 97de88c14e PRODUCT_COMPATIBILITY_MATRIX_LEVEL_OVERRIDE is deprecated.
It is replaced by FCM Version specified in the device manifest
directly.

Test: builds
Bug: 69636193
Change-Id: I9e2b871b4c6190107ba9fbb36495bb41c461a0a3
Merged-In: I9e2b871b4c6190107ba9fbb36495bb41c461a0a3
2017-12-14 15:35:15 -08:00
Dan Albert 6168f5baf1 Default NDK modules to libc++_shared.
Test: make native
Bug: None
Change-Id: I9ca2313c2082e9841a20e240ffca84219a419d49
2017-12-14 14:45:33 -08:00
Colin Cross c212517c9b Merge "Add Soong modules to apkcerts" 2017-12-14 22:20:08 +00:00
Treehugger Robot 78b5724622 Merge "releasetools: Remove '-w' from ota_from_target_files options." 2017-12-14 22:18:56 +00:00
Dan Albert 248b832d44 Depend on the more specific ndk timestamp.
There are now two NDK sysroot timestamp files: ndk_base which depends
on the headers and stub libraries, and ndk which depends on ndk_base
and the static libraries. For building modules that need the NDK, we
only need to depend on the base sysroot.

Test: make native
Bug: None
Change-Id: I803032eda125a632d780c9cde10f47270491d0d2
2017-12-14 13:52:04 -08:00
Søren Gjesse f2a697725c Enable R8 by default (second attempt)
Test: m -j PRODUCT-aosp_x86-userdebug
Test: Check that some .vdex files built have R8 generated code
Change-Id: I06903dc30c802bbcffd6992c3c25a1b711a5875c
2017-12-14 22:24:48 +01:00
Colin Cross aec3640560 Add Soong modules to apkcerts
Bug: 70669383
Test: m apkcerts-list contains framework-res
Change-Id: I00c5c5d9e7311bbe4f16bf48407dd0efa242c7aa
2017-12-14 12:29:30 -08:00
bohu 680ab2effb emulator: disable location service
So that watchdog does not reboot the
system because location service is not
responding.

This is just to get emulator images
booting on aosp.

BUG: 70378659
Change-Id: I81277208e6b9f92bb56c11b072a1f108ea964bb7
Merged-In: I81277208e6b9f92bb56c11b072a1f108ea964bb7
2017-12-14 17:09:18 +00:00
Steven Moreland 0cf92b0c57 Expose Treble requirement variables in Soong.
As a followup to this, Treble will be removed. It's too generic
to be used with any reliability or meaning. Individual switches
also mean that they can be used independently.

Bug: 62019611
Test: manual
Change-Id: Ib1bd7d23510daac70a4520b9082f7492b8cbf027
2017-12-13 14:07:13 -08:00
Treehugger Robot 973301af79 Merge "Replace build/tools with build/make/tools" 2017-12-13 02:34:42 +00:00
Treehugger Robot 553de17d44 Merge "Define PLATFORM_VNDK_VERSION" 2017-12-13 01:49:41 +00:00