Commit graph

48994 commits

Author SHA1 Message Date
Martin Stjernholm
f8b6fefcd1 Drop libsigchain from the system image.
It is now in the Runtime APEX and considered internal there.

Test: Flash and boot
Test: atest CtsCompilationTestCases CtsBionicTestCases
Bug: 118374951
Bug: 124293228
Change-Id: I33bb9c238d7db46795deb592c9d20fe6591c1654
2019-04-01 18:37:06 +01:00
Treehugger Robot
a719f02197 Merge "Adding gsk_keys.mk" 2019-04-01 13:43:34 +00:00
Bowgo Tsai
a0e177edba Adding gsk_keys.mk
Adds the following line into a device.mk in order to include
GSI keys into the first-stage ramdisk.

   $(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk)

Bug: 112293933
Test: make checks $OUT/ramdisk/avb/.
Change-Id: I8e4a9a8dd607916a3f45a07e0ba14c58def5d8d3
2019-04-01 18:24:35 +08:00
Anton Hansson
8adf501905 Merge "Access PRODUCT_ variables directly" 2019-03-29 16:54:47 +00:00
Anton Hansson
b5cec0d792 Merge "Automate the strip and assignment of PRODUCT_ vars" 2019-03-29 16:54:25 +00:00
Treehugger Robot
20ac920654 Merge "Make the APEX lib absence check optional, for local use." 2019-03-29 13:43:32 +00:00
Treehugger Robot
482e67f4ee Merge "Adds some tests for merge_target_files." 2019-03-29 04:16:57 +00:00
Dan Willemsen
672e98fac8 Merge "Stop installing host packages via PRODUCT_PACKAGES" 2019-03-29 03:20:52 +00:00
Treehugger Robot
5d225276ca Merge "Fix build error on empty ramdisk" 2019-03-29 03:03:00 +00:00
Daniel Norman
6d82fa3961 Adds some tests for merge_target_files.
Test: python -m unittest test_merge_target_files
Bug: 129262038
Change-Id: Ibcb3b384b81ceaa1924a6cd402a8880bd3cfbba6
2019-03-28 14:43:30 -07:00
Anton Hansson
8dab0a6f50 Access PRODUCT_ variables directly
This CL simplifies the PRODUCTS.$(INTERNAL_PRODUCT).X accesses of
product variables, and removes unnecessary stripping of them.

Replace: '\$\(PRODUCTS\.\$\(INTERNAL_PRODUCT\)\.([^\)]*)\)' with '$(\1)'
Replace: '\$\(strip\s*\$\(PRODUCT_([^\)]*)\)\)' with '$(PRODUCT_\1)'

A few minor manual tweaks.

Bug: 116769560
Test: presubmit
Change-Id: I70c54f1582e3cc780028535960147d99ebc2e0e1
2019-03-28 15:54:25 +00:00
Anton Hansson
13ea2a6a7d Automate the strip and assignment of PRODUCT_ vars
With this change, all PRODUCT_ variables are treated the same
when it comes to stripping and assigning them to their final
variable name. In the past, all the PRODUCT variables needed
to be listed in two places to achieve this.

The documentation previously attached to the strip/assignment
is moved to the PRODUCT_ variable list in product.mk.

Also refactor some of the default value logic to cope with
the new automation.

Many places in the build system that currently refer to
$(PRODUCTS.$(INTERNAL_PRODUCT).X) can now be modified to
use $(X) directly.

Bug: 116769560
Test: verified noop on PRODUCT_ variables on all products in the tree
Change-Id: I5677c355e81359b1d3c0db2a2232941097a05047
2019-03-28 15:26:49 +00:00
Martin Stjernholm
c9d5858f58 Make the APEX lib absence check optional, for local use.
Test: m systemimage (with and without failure)
Bug: 124293228
Bug: 129466457
Change-Id: I8bf5ba51232bb9961bdedd56d0f17ee1d8698f54
2019-03-28 15:08:32 +00:00
SzuWei Lin
29770fa2bf Fix build error on empty ramdisk
package `init_vendor` is the only content of ramdisk so far.
We would get build error if we do not include init_vendor.
The patch fix the build error for the case that ramdisk is empty.

Bug: 129386309
Test: lunch aosp_arm64_ab-userdebug; make ramdisk -j
Test: Build pass
Change-Id: I7c7c828b5f29350268d4789393b90740dd68162d
2019-03-28 13:41:01 +00:00
Treehugger Robot
3f6483cb0f Merge "Understand the support library/androidx @Keep annotations" 2019-03-27 18:01:28 +00:00
Tao Bao
c292edc22c Merge "releasetools: Remove the sanity check on APEX payload key names." 2019-03-27 15:44:29 +00:00
Treehugger Robot
fde506a6d7 Merge "Phase out all _a targets" 2019-03-27 12:56:11 +00:00
SzuWei Lin
b90ffb0f9a Phase out all _a targets
The _a targets are build for Legacy GSI for non-system-as-root
partition layout devices. The Android build system is not able
to build a system image with non-system-as-root anymore.
Also, `init` supports mounting system-as-root system image at
all, all devices should no problem to mount it.

Bug: 124278972
Test: none
Change-Id: I9c56e7e5d8517a630854f030616c3b3ecb94b9a8
2019-03-27 12:16:43 +08:00
Tao Bao
5ed75d74e3 Merge "releasetools: Re-enable verifying AVB-signed images." 2019-03-27 03:20:13 +00:00
Colin Cross
38b48debc5 Understand the support library/androidx @Keep annotations
Copied from tools/base/build-system/gradle-core/src/main/resources/com/android/build/gradle/proguard-common.txt.

Fixes: 129311848
Test: none
Change-Id: Ie8b40b416c8772a550bb4d1f7bd6e7e944cdd166
2019-03-26 23:44:01 +00:00
Treehugger Robot
d7060a50f9 Merge "Eliminate ENABLE_DEFAULT_TEST_LOCATION as it is always true" 2019-03-26 20:22:37 +00:00
Tao Bao
6d9e3da5f9 releasetools: Remove the sanity check on APEX payload key names.
Unlike container keys/certs, we'll always carry full names for APEX
payload signing keys.

Test: Run sign_target_files_apks.py on a target_files.zip with
      mismatching payload signing keys (e.g. shim apexes).
Test: `python -m unittest test_sign_target_files_apks`
Change-Id: Ifa329478f43b4f5ae665821564dbc14af7841330
2019-03-26 13:05:46 -07:00
Anton Hansson
2f5e18362b Merge "Unset system-as-root for mainline" 2019-03-26 19:34:13 +00:00
Tao Bao
a81d429928 releasetools: Re-enable verifying AVB-signed images.
This reverts commit 9788b4ed31. All the
blocking issues have been addressed.

Fixes: 120517892
Test: Run validate_target_files.py on crosshatch signed
      target_files.zip.
Change-Id: I95de241e159998e002dedddafea65953b1a1b263
2019-03-26 12:13:37 -07:00
Anton Hansson
cd0997c1e9 Merge "Move EmergencyInfo to the /product hierarchy" 2019-03-26 12:39:09 +00:00
Treehugger Robot
484e82f7ca Merge "Add art-tools to host build outputs" 2019-03-26 09:29:48 +00:00
Anton Hansson
cd2f94407c Unset system-as-root for mainline
This flag is not allowed to be true when dynamic partitions are
enabled, which mainline devices are expected to do.

Bug: 80410283
Test: make
Change-Id: I50c9fe9332ea1490a84484f9311cfe001a083754
2019-03-26 09:22:07 +00:00
Daniel Norman
c21a8448d1 Merge "Merges dynamic partition misc_info.txt keys from both system and other." 2019-03-25 23:15:09 +00:00
Daniel Norman
b455273444 Merge "Only call make_recovery_patch when BUILDING_SYSTEM_IMAGE." 2019-03-25 23:15:01 +00:00
Sasha Smundak
da25b691d3 Eliminate ENABLE_DEFAULT_TEST_LOCATION as it is always true
Bug: 117224272
Test: treehugger
Change-Id: Idd47ead31fcd89dbf728f140dc3353e5013ba352
2019-03-25 13:26:03 -07:00
Anton Hansson
735aa9180e Move EmergencyInfo to the /product hierarchy
The app is moving to /product.

Bug: 122353713
Test: build_test
Change-Id: I78dc47963de21b8966fdfe15ce18695bf0747221
2019-03-25 19:52:06 +00:00
Daniel Norman
adf8096c77 Only call make_recovery_patch when BUILDING_SYSTEM_IMAGE.
The recovery patch gets put in the SYSTEM directory. Placing the
recovery patch here doesn't make sense when not building the system
image, as is the case for merged (system + vendor) builds.

Bug: 128838154
Test: Running make droid dist for a device target that sets PRODUCT_BUILD_SYSTEM_IMAGE to false.
Change-Id: Ib5ce8c8490024199f82d0c093e9a7ae2de5f71f5
2019-03-25 18:34:30 +00:00
Anton Hansson
072795054a Merge "Make mainline device enable property split" 2019-03-25 18:23:26 +00:00
Orion Hodson
b099a10add Add art-tools to host build outputs
Building of host tools stopped when moving to APEX. This change
re-enables building of host tools.

Bug: 128990084
Test: m -j72 && find out -name 'oatdump'
Change-Id: Iad42b4e36561001709634174014192e56a64aafd
2019-03-25 13:36:59 +00:00
Anton Hansson
018bd137b7 Make mainline device enable property split
This setting moves the PRODUCT_PROPERTY_OVERRIDES to
the vendor partition.

Bug: 80410283
Test: tail system/build.prop | grep ro.carrier=
      (empty)

Change-Id: I30d564fbd2dd3b56763ccff77979b223857f1c2f
2019-03-25 10:53:07 +00:00
Anton Hansson
94fa0e75cb Merge "Put DEVICE/PRODUCT overlays in different partitions" 2019-03-25 09:25:47 +00:00
Anton Hansson
9274688574 Merge "Set file system types for mainline_arm64 partitions" 2019-03-25 09:24:16 +00:00
Anton Hansson
115292896a Merge "Make mainline_system_arm64 build only /system" 2019-03-25 09:23:30 +00:00
Anton Hansson
30355b60f7 Merge "Enable AB_OTA_UPDATER for mainline" 2019-03-25 09:20:32 +00:00
Tao Bao
9a5093e5f9 Merge changes I91bd3dce,I2e941fd9
* changes:
  releasetools: Fix alignment issue when signing APEXes.
  releasetools: Fix an issue in handling PRESIGNED APEX keys.
2019-03-24 17:31:55 +00:00
Tao Bao
ffc9a30946 releasetools: Fix alignment issue when signing APEXes.
Previously it was following a wrong order by doing `zipalign` after
calling SignApk, which effectively compromised the signature. This CL
corrects the logic, and follows the same flow as in build system:
 - Pack APEX file;
 - `zipalign -f 4096`;
 - Call SignApk to sign the container with `-a 4096` flag.

Bug: 129148142
Test: Run sign_target_files_apks.py on taimen target_files.zip. Boot the
      image after signing.
Change-Id: I91bd3dce4f45c1891c5e122212a699f4808618fa
(cherry picked from commit 0e06cb0a8b)
2019-03-23 10:27:43 -07:00
Daniel Norman
19b9fe9fdf Merges dynamic partition misc_info.txt keys from both system and other.
To build a complete list of the dynamic partitions and partitions
groups, we need to merge the contribution from the system and other
target files.

Bug: 127687287
Test: Running merge_target_files.py and observing partition lists are
merged as expected.
Change-Id: I5bb9bd0e3179d48c9bfacdb3aca8253158f61cf6
2019-03-22 14:46:01 -07:00
Tao Bao
1e4cbfaf5c releasetools: Fix an issue in handling PRESIGNED APEX keys.
For PRESIGNED APEXes, we should keep carrying the matching public keys
at /system/etc/security/apex.

Bug: 129148142
Test: Run sign_target_files_apks.py on a target_files.zip with presigned
      APEXes. Check the output zip.
Change-Id: I2e941fd9b10e99d2db9df1e5308cbbe8c760177b
(cherry picked from commit bf3fb024cd)
2019-03-22 14:11:24 -07:00
Anton Hansson
1683198010 Set file system types for mainline_arm64 partitions
This config was in a weird state where it sets the OUT
directory for these partitions but not the file system
type. Within the build system, both of these variables
are used interchangeably to check whether these partitions
are expected to be present.

A typical mainline device is expected to /vendor and
/product, so just add these.

Bug: 120974093
Test: make
Change-Id: I803d7afdcadc37e4384ae80f08bc1c8db535d2f4
2019-03-22 17:25:43 +00:00
Martin Stjernholm
c62e31242d Merge "Exclude libdexfile_external.so to fix aosp_marlin-userdebug builds." 2019-03-22 15:35:09 +00:00
Martin Stjernholm
d185bb29ce Exclude libdexfile_external.so to fix aosp_marlin-userdebug builds.
Test: m systemimage
Bug: 124293228
Change-Id: I7a4744457396084ef9fd78d9c2f1efdabe0f981d
2019-03-22 14:24:08 +00:00
Anton Hansson
07fa9b13b4 Make mainline_system_arm64 build only /system
Configure this product not to build any of the other partitions.

Note that the only partition that currently has artifacts produced
is system_other, and this change doesn't appear to prevent odex/vdex
files from being created there anyway. However, it does allow
configuring the target device (mainline_arm64) to have more partitions
in a followup change.

Bug: 111533333
Test: make
Change-Id: Ib115cb03bc99b9b61e0d6f1b622784e7ad5fcea0
2019-03-22 14:07:49 +00:00
Anton Hansson
cb8276fa93 Put DEVICE/PRODUCT overlays in different partitions
This change changes auto-generated RROs from DEVICE_PACKAGE_OVERLAYS
to be generated in the vendor partition, as opposed to /product where
they were generated in the past.

Note that PRODUCT_PACKAGE_OVERLAYS continue generating RRO packages
to /product, which means that a single app can be overlayed from
different partitions. These RROs have been given module and package
names based on their location.

Bug: 127758779
Test: verify noop on presubmit targets
Change-Id: I5cee70e28e3969e67b2d83eaf25d9c6e3a11102d
2019-03-22 13:25:20 +00:00
Treehugger Robot
9da9c32e80 Merge "Adding adb_debug.prop" 2019-03-22 13:08:24 +00:00
Treehugger Robot
02699e40ea Merge "Check that Runtime APEX libraries don't end up in /system/${LIB}." 2019-03-22 12:34:05 +00:00