Commit Graph

41786 Commits

Author SHA1 Message Date
Calin Juravle 8faa2ec0d8 Update profile rules to support binary profiles
Use full binary profiles instead or relying on text-based profiles. This
makes it easier to import actual profiles and do not require two rounds of
transformation.

Text based profiled probably didn't help too much anyway because if the
apps are updated the proguard names will change.

Modules are still free to define a text based profile using
LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING. This is used for frameworks jars.

Test: make
Bug: 73313191

(cherry picked from commit f99ab7580f)

Merged-In: Ifd23dde21559fbcd015020905052bc588e275356
Change-Id: I13c6b3891cbf1232f1f07d0a17f019257f7118e6
2018-04-30 12:08:51 -07:00
Calin Juravle 7d8b84717f Merge "Remove profman --skip-apk-verification flag" 2018-04-30 18:29:20 +00:00
Tri Vo 82d1c88717 Expose selinux variables to Soong.
Bug: 33691272
Test: manual
Change-Id: I734b96be16279716208bbc0afb78b8f4555deffb
2018-04-30 11:04:24 -07:00
Anton Hansson a22472315f Merge "Update make rules to use new android.jar location." 2018-04-30 12:15:37 +00:00
Calin Juravle 25ef4c018a Remove profman --skip-apk-verification flag
This happens by default now.

Test: make
Bug: 73313191
Change-Id: I5cc0efb656e1b44a161420c49250640bc9d702c5
2018-04-27 17:23:12 -07:00
android-build-prod (mdb) f45bf2d59f Merge "Revert "Support regenerating partition table with bpttool in sign_target_files_apks"" 2018-04-27 20:38:57 +00:00
Bryan Henry 7febcdf75f Revert "Support regenerating partition table with bpttool in sign_target_files_apks"
This reverts commit 2a40cc6996.

Reason for revert: Broke a bunch of builds, platform/system/tools/bpt must be missing from more manifests.

Change-Id: I4c367a1fec5c62c247544227e9d3b596227e31da
2018-04-27 19:02:51 +00:00
Bryan Henry dde5f11e6a Merge changes from topic "sign_target_files_iot-aosp"
* changes:
  Write combined bpt definition directly into META/partition-table.bpt
  Support regenerating partition table with bpttool in sign_target_files_apks
  Don't suppress stderr for 'avbtool make_vbmeta_image'
  Include default Android Things AVB keys in otatools.zip
2018-04-27 18:01:09 +00:00
Anton Hansson 66d47b884e Update make rules to use new android.jar location.
This file has been copied into a 'public' subdir. Use that, so that
the old file can be deleted. Also introduce a new macro to avoid
duplicating this path in a bunch of places.

Bug: 77525052
Test: m checkbuild
Change-Id: Ifcf59c6fb357769b2765e417c8dd56d2ad9b97aa
2018-04-27 16:39:44 +01:00
Bryan Henry f130a239a1 Write combined bpt definition directly into META/partition-table.bpt
...instead of copying from IMAGES/partition-table.bpt during
sign_target_files_apks. This addresses a comment on go/oag/665565, but
is done as a separate change so that it can be cherry-picked later (or
not at all) to downstream branches to avoid breaking signing of existing
target-files zips.

Bug: 72837107
Test: Local sign_target_files_apks run of locally built target-files
Change-Id: Id14c859eefe075fc56b15869f2f21c570eb07e65
2018-04-26 12:43:27 -07:00
Bryan Henry 2a40cc6996 Support regenerating partition table with bpttool in sign_target_files_apks
For Android Things targets (or any other target which has
BOARD_BPT_INPUT_FILES defined), add_img_to_target_files will generate a
partition-table.img using bpttool. It also adds the final combined .bpt
definition file into target-files in IMAGES/partition-table.bpt.

When we're signing using sign_target_files_apks, add_img_to_target_files
needs to regenerate the partition table, but META/misc_info.txt still
contains the original list of bpt input files from the build that aren't
available. This change extracts the final bpt from the input
target-files, adds it to META/ in the output target-files, and then
updates the board_bpt_input_files property to point to it.

Bug: 72837107
Test: Local sign_target_files_apks run of locally built target-files
Change-Id: Id79125208f31c78b1ac2079172f9c91a9203849b
2018-04-26 12:42:59 -07:00
Bryan Henry 69d3feb23a Don't suppress stderr for 'avbtool make_vbmeta_image'
Output is useful for debugging.

Bug: 72837107
Test: Local sign_target_files_apks run of locally built target-files
Change-Id: I5c27fcc86fa3a51080e0502eb8f5f01a40b033c3
2018-04-26 12:42:40 -07:00
Bryan Henry 97f21ac01c Include default Android Things AVB keys in otatools.zip
Android Things has an extension on AVB and thus uses different test
keys, along with a public key metadata file. See external/avb/README.md.

Bug: 72837107
Test: Local sign_target_files_apks run of locally built target-files
Change-Id: I769e09a971b9b6b2c9cb0f3272f756b1857eb286
2018-04-26 12:42:34 -07:00
Logan Chien 5f7e4f6bbf Merge "Add .vendor to LOCAL_REQUIRED_MODULES for vendor" 2018-04-25 23:46:28 +00:00
Chih-hung Hsieh 29adef4ec2 Merge "Disable LLD for Darwin host executables." 2018-04-25 06:30:59 +00:00
Chih-Hung Hsieh 3365ae7228 Disable LLD for Darwin host executables.
* See upstream status of lld for Mach-O at https://lld.llvm.org/AtomLLD.html

Bug: 73768157
Test: make checkbuild
Change-Id: I20330bd59cc8b3d0ed0fa08d3f1c2be7b8656849
2018-04-24 19:08:41 -07:00
Isaac Chen 50958e2cae Merge "Enable VNDK for aosp_arm(64)" 2018-04-24 18:10:44 +00:00
Treehugger Robot a0f595ec69 Merge "ARM emulator: aosp_arm on 64-bit binder and kernel" 2018-04-24 13:35:01 +00:00
Isaac Chen 5327e98b1a Enable VNDK for aosp_arm(64)
This is needed for the system images of aosp_arm(64) products to
be used as their respective GSIs in P, and for also aosp_arm(64)
products to boot with the current GSIs.

Bug: 78255604
Test: Built and booted the following products to home screen
    $ lunch aosp_arm-userdebug; m -j; emulator
    $ lunch aosp_arm64-userdebug; m -j; emulator
    # The system image, both userdebug and user builds, of
    # aosp_arm64 could also boot to home screen and browse
    # the network on a physical device.

Change-Id: I83b79fd4d4e6e522ee78c720fb8c5f6f67ee411b
Merged-In: I83b79fd4d4e6e522ee78c720fb8c5f6f67ee411b
(cherry picked from commit f71547079a)
2018-04-24 19:12:11 +08:00
Treehugger Robot 3527ff9b84 Merge "Make aosp_$arch system images closer to GSIs" 2018-04-24 02:19:23 +00:00
Isaac Chen 50e6251baa ARM emulator: aosp_arm on 64-bit binder and kernel
Starting in P, all 32-bit and 64-bit architectures use 64-bit
binder interface. This is similar to ag/3576770 for x86.

Bug: 71861550
Test: the following products can boot to home screen successfully:
    lunch aosp_arm-userdebug; m -j; emulator
    lunch sdk_phone_armv7-userdebug; m -j; emulator
Change-Id: Ibe1f53a5798342555e2e84395a13b48d461f483d
Merged-In: Ibe1f53a5798342555e2e84395a13b48d461f483d
(cherry picked from commit 6f114c0110c466d2a117f3e531f9ea5170a121ee)
2018-04-24 10:10:50 +08:00
Isaac Chen ecc09990e3 Merge "Enable vndk_package if BOARD_VNDK_VERSION is set" 2018-04-24 02:08:44 +00:00
Isaac Chen a13b3153c1 Enable vndk_package if BOARD_VNDK_VERSION is set
This is a first attempt to enable build system support to include
vndk_package automatically (if BOARD_VNDK_VERSION is set), so devices
don't need to add it via PRODUCT_PACKAGE manually.

Bug: b/67002788
Test: Booted on the x86 emulator and a physical device and checked
      their /system/lib*/vndk-* directories for vndk_package libraries.
    # The commands below are for the x86 emulator:
    $ lunch aosp_x86_64-userdebug; m -j
Change-Id: Iea927b9535c7ee1b64ca130a4ac54f0fd8b3f758
Merged-In: Iea927b9535c7ee1b64ca130a4ac54f0fd8b3f758
(cherry picked from commit 5364f5a298)
2018-04-24 10:07:10 +08:00
Isaac Chen 0c97f084c7 Make aosp_$arch system images closer to GSIs
This change modifies aosp_$arch product makefiles so their
system images can be closer to their respective GSIs.

The added contents in this CL are based on treble_common*.mk.
Contents specific to GSI are in aosp_$arch.mk.
Contents common to all devices are moved to full_base.mk.
Contents related to specific device are moved to device.mk.

BoardConfig related makefiles will be changed in another CL.

Bug: 70772101
Test: The following products can boot to home screen:
    $ lunch aosp_x86-userdebug; m -j; emulator
    $ lunch aosp_x86_64-userdebug; m -j; emulator
    $ lunch aosp_arm-userdebug; m -j; emulator
    $ lunch aosp_arm64-userdebug; m -j; emulator

Change-Id: I225a13dd74b3e748cc5d1705e1a453348b01d43f
Merged-In: I225a13dd74b3e748cc5d1705e1a453348b01d43f
(cherry picked from commit 164eed2e7d)
2018-04-24 10:03:14 +08:00
Treehugger Robot eafa928737 Merge "releasetools: Group the option descriptions in ota_from_target_files.py." 2018-04-24 00:54:05 +00:00
Tao Bao 30df8b4e2e releasetools: Group the option descriptions in ota_from_target_files.py.
This CL separates the options into three groups (excluding the global
options provided via common.py).
 - Non-A/B OTA specific options;
 - A/B OTA specific options;
 - Common options that apply to both.

It mostly reshuffles the lines, with minor change to "--verify" that
removes the obselete remounting behavior (which doesn't apply to
block-based OTA).

Hopefully this makes the expected behavior of some options less
confusing.

Test: `build/make/tools/releasetools/ota_from_target_files.py`
Change-Id: I194ea52c4f7d6a3c7f34531abbcf3fdc7b7f4fa8
2018-04-23 16:00:14 -07:00
Treehugger Robot ffb88397f7 Merge changes from topic "cp-space"
* changes:
  releasetools: Default journal size to 0 for system images.
  build_image: default extfs reserved size to 0 on RO partitions.
2018-04-23 18:19:40 +00:00
Tao Bao 332a96b8b1 releasetools: Default journal size to 0 for system images.
This CL defaults the journal size to 0 for system images (i.e. system,
vendor, system_other, oem, product). We used to do this by explicitly
defining BOARD_{SYSTEM,VENDOR,OEM,PRODUCT}IMAGE_JOURNAL_SIZE to 0 in
device-specific BoardConfig. Targets can still specify a non-zero
journal size as needed.

With this CL, marlin/sailfish gets 32MB / 16MB free space back for
system and vendor respectively.

Bug: 75975085
Test: `m dist`. Check the journal size in the generated images.
Change-Id: Ib3185d07c49be2b4f0fac5fe17ec1a82093ba0c0
(cherry picked from commit 965542fe69)
2018-04-22 22:04:21 -07:00
Patrick Tjin 3f5f9934e9 build_image: default extfs reserved size to 0 on RO partitions.
Defaults the reserved blocks for root to 0% on read only partitions
(system, system_other, vendor, oem).  It also adds support for
explicitly specifying the extfs reserved percentage via
BOARD_{SYSTEM,VENDOR,OEM,PRODUCT}IMAGE_EXTFS_RSV_PCT.

This eventually translates down to the -m option for mkfs.

Removing the reserved space can save at least  5% from the default.

  dumpe2fs system:
    Reserved blocks uid:      0 (user root)
    Reserved blocks gid:      0 (group root)

Bug: 75975085
Test: Build, verify reserved space is changed accordingly
Change-Id: I212d82741908b636db0d658a1c4847bbaadfd5ba
(cherry picked from commit 5ff758799c)
2018-04-22 22:04:21 -07:00
Elliott Hughes 388f1458a5 Merge "Remove obsolete (and broken) targets." 2018-04-21 17:51:00 +00:00
Pirama Arumuga Nainar 5a1598938f Remove obsolete (and broken) targets.
Bug: N/A
Test: N/A
Change-Id: I461e1adae9c0fec026f05cb890af2c4d8bd71e58
2018-04-20 15:18:22 -07:00
Tao Bao f7501cce04 Merge "releasetools: Stop copying images from RADIO/ to IMAGES/." 2018-04-20 21:20:47 +00:00
Treehugger Robot 2338a70f90 Merge "build/make: auto generate Test config file for Google Benchmark Test" 2018-04-20 21:16:00 +00:00
Tao Bao 5277d1015f releasetools: Stop copying images from RADIO/ to IMAGES/.
We've added support in brillo_update_payload that allows additionally
looking for images under RADIO/ in the given target_files zips [1]. This
avoids having duplicate radio images in target_files zips.

Also adjust the unittest in test_ota_from_target_files.py to cover this
path.

As a result of this CL, the radio images will no longer appear in the
image archive (i.e. <target>-img.zip) as well - they are less useful
anyway because we have packed only the _updatable_ pieces that are part
of full bootloader/radio images.

Bug: 77218220
Test: `python -m unittest test_ota_from_target_files`
Test: `python -m unittest test_add_img_to_target_files`
Test: `m dist` produces the same full OTA package
Test: Build marlin-userdebug in internal branch. Check the image zip.
Change-Id: I05579480f0bb9ab90aaeecf75969ee29b6904ad6
2018-04-20 10:20:42 -07:00
Logan Chien d71fbfc1a7 Add .vendor to LOCAL_REQUIRED_MODULES for vendor
This commit adds ".vendor" suffix to the modules specified in
LOCAL_REQUIRED_MODULES when BOARD_VNDK_VERSION is not empty and it is
building the vendor variant.

Test: Create a vendor module with LOCAL_REQUIRED_MODULES to a
vendor_available shared library.
Change-Id: If448f682572157d0687cda3a72f9bab0f34d7f0d
2018-04-20 18:01:25 +08:00
Anton Hansson 4ad0be36e3 Merge "Add support for specifying LOCAL_SDK_LIBRARIES for prebuilts." 2018-04-20 08:17:20 +00:00
Colin Cross f4b893165d Merge "Fix echo when copying package-res.apk" 2018-04-20 01:21:49 +00:00
Colin Cross a90f4b297f Fix echo when copying package-res.apk
Bug: 73724997
Test: m checkbuild
Change-Id: Iad9f46e01c40d1993e279c6ea6dd9c60932064c8
2018-04-19 15:28:59 -07:00
Treehugger Robot 4c7d849a1b Merge "Allow tests to be disabled for presubmit check" 2018-04-19 20:43:54 +00:00
Chih-hung Hsieh 00ca2ecdcf Merge "When my_use_clang_lld, link with lld for host." 2018-04-19 17:03:02 +00:00
Anton Hansson 5aded2ff26 Move apicheck.mk off SRC_API_DIR.
This directory is getting deleted.

Also remove the variable, the other uses are being removed in this cl:
I1d4e87e7840e979b83779a2aefe176e7c1ed1527

Bug: 77525052
Test: Verified value of last_released_sdk_version variable.
Change-Id: I69b10ad83a8c06d337606df91e8d3b604adfef70
2018-04-19 17:17:31 +01:00
Anton Hansson f5cefdcefb Add support for specifying LOCAL_SDK_LIBRARIES for prebuilts.
This new variable allows specifying libraries like this:
LOCAL_SDK_VERISON := 25
LOCAL_SDK_LIBRARIES := org.apache.http.legacy,
which would automatically pick up the prebuilt OAHL prebuilt
from prebuilts/sdk/25/public/org.apache.http.legacy.jar

Test: In master with uiautomator.
Bug: 77575476
Change-Id: Id8d92176f5b608c2bcea622b6aed4aa27c32e000
2018-04-19 15:18:55 +01:00
Nelson Li eec9529de8 build/make: auto generate Test config file for Google Benchmark Test
BUG: 74844131
Test: cd bionic/; mm (auto generating the test config in out/)
      atest bionic-benchmarks (full testing in atest)
Change-Id: I0497eed876640893d0b82d4cde384d3608cf4875
2018-04-19 09:16:54 +00:00
Anton Hansson 2944c11b1f Merge "Switch make over to use the new prebuilt modules." 2018-04-19 08:48:29 +00:00
Colin Cross 7c84a01daf Merge "Pass PLATFORM_VERSION_CODENAME to Soong" 2018-04-18 22:22:25 +00:00
Treehugger Robot c904a89c93 Merge "Remove the support for BRILLO_VENDOR_PARTITIONS." 2018-04-18 21:32:35 +00:00
Colin Cross f6d3fff907 Pass PLATFORM_VERSION_CODENAME to Soong
Pass PLATFORM_VERSION_CODENAME as Platform_sdk_codename, and
set Platform_sdk_final if PLATFORM_VERSION_CODENAME is REL.

Bug: 78224641
Test: m checkbuild
Change-Id: Ic082ca756d877ba51f45e89aa2ac267781a8d854
2018-04-18 12:40:16 -07:00
Tao Bao 36d7c5666d Remove the support for BRILLO_VENDOR_PARTITIONS.
It was initially introduced in commit
2e735ca34e, where it packs additional
vendor images into target_files zip in order to generate OTAs. We can
acheive the same goal with INSTALLED_RADIOIMAGE_TARGET, which is the way
being actively used across all targets, including IoT (the former
Brillo) targets.

Bug: 78201540
Test: `m dist` with aosp_marlin-userdebug
Test: Code search shows no active user of BRILLO_VENDOR_PARTITIONS.
Test: `python -m unittest test_add_img_to_target_files`
Change-Id: I8803d5377b5a39304a701cceafb243f9a228347d
2018-04-18 09:50:47 -07:00
Anton Hansson 9235faa9a4 Switch make over to use the new prebuilt modules.
There are a couple more places throughout the tree that use the old
modules, and I will update those next before deleting the old module
definitions.

Bug: 77525052
Test: make droid
Change-Id: I9385ae34cc1646cbd4e249d9e96a0116296f139a
2018-04-18 16:15:05 +01:00
Chih-Hung Hsieh 4955b857c4 When my_use_clang_lld, link with lld for host.
When USE_CLANG_LLD is true, my_use_clang_lld is true,
and *GLOBAL_LLDFLAGS will be used instead of *GLOBAL_LDFLAGS.

Bug: 73768157
Test: make checkbuild
Change-Id: I2598b72e9edde32f8e57df860571fd107c005540
2018-04-17 15:30:24 -07:00