Commit graph

45805 commits

Author SHA1 Message Date
Neil Fuller
ba125933fd Merge "Add core-simple to the standard boot classpath" 2018-08-28 17:36:55 +00:00
Tao Bao
7c417b7fd4 Merge "Clean up the rules for making vbmeta.img." 2018-08-28 17:21:36 +00:00
Anton Hansson
72ba8ee16f Merge "Add substitution for product_services and odm." 2018-08-28 16:06:17 +00:00
Neil Fuller
374c14decf Merge "Remove out-of-date comment / logic" 2018-08-28 16:00:09 +00:00
Tao Bao
2eb5a20da4 Merge "releasetools: Add test cases for common.LoadInfoDict()." 2018-08-28 15:32:56 +00:00
Treehugger Robot
e3994ecedc Merge "Native modules installed to recovery are marked as native:recovery" 2018-08-28 14:48:55 +00:00
Anton Hansson
688abdb981 Add substitution for product_services and odm.
This enables using PRODUCT_COPY_FILES with these partitions, which
otherwise doesn't work because the list of targets to build/install
contains placeholders.

Bug: 80741439
Test: make
Change-Id: I9d49a3bc5212139a96c58cf550680257811371e2
2018-08-28 15:45:01 +01:00
Neil Fuller
e85777782a Add core-simple to the standard boot classpath
core-simple.jar is being added to the runtime classpath as
an easy-to-find placeholder and to help identify places that
care about the boot classpath / trigger conversations & issues /
force discussion.

See http://go/simple-module

To start, this jar is being added in various locations that know
about core-libart and/or core-oj.  There will be follow-up changes to
make core-simple.jar more than just another core-* jar.

Bug: 113148576
Test: Treehugger
Test: make checkbuild
Change-Id: I267a91b8728f84cfb1b2e8a5c5d157c88b75581c
2018-08-28 13:19:35 +01:00
Neil Fuller
9fb70170d4 Remove out-of-date comment / logic
The comment refers to a core.jar which hasn't existed in
a while.

Bug: 113148576
Test: Treehugger / build only
Change-Id: I032b0e42bb42dfa495f20dca6cd6b4f577052121
2018-08-28 13:18:25 +01:00
Anton Hansson
d7eaae0f09 Merge "Standardize parition build props." 2018-08-28 07:23:05 +00:00
Jiyong Park
5dc3475d5d Native modules installed to recovery are marked as native:recovery
This fixes a bug that platform module (native:platform) can link to a
recovery module due to the fact that the recovery module is also labeled
as native:platform. Fixing the bug by setting the link type correctly to
native:recovery.

Bug: 113277544
Test: m -j

Change-Id: I88fe0a9d958f2269cf9f9ebc205b2da8c6a761a5
2018-08-28 13:51:52 +09:00
Tao Bao
a57ab9f210 releasetools: Add test cases for common.LoadInfoDict().
Fixes: 113073663
Test: python -m unittest test_common
Change-Id: I352a2731849d175f94e0f23dd68b6cf28e554f64
2018-08-27 18:18:10 -07:00
David Brazdil
7c76579e7a Merge "Support hidden API whitelist generated by class2greylist" 2018-08-27 21:41:04 +00:00
Anton Hansson
1f8729e635 Standardize parition build props.
This adds a set of standard build properties that are shared
between the system, vendor, odm, product, product_services and
bootimage partitions. The following properties are added:
    ro.X.build.date
    ro.X.build.date.utc
    ro.X.build.fingerprint
    ro.X.build.id
    ro.X.build.tags
    ro.X.build.type
    ro.X.build.version.incremental
    ro.X.build.version.release
    ro.X.build.version.sdk
    ro.product.X.brand
    ro.product.X.device
    ro.product.X.manufacturer
    ro.product.X.model
    ro.product.X.name

vendor and odm already had all of these, but bootimage, product
and product_services only had a subset and system didn't have
any.

Bug: 78359442
Bug: 111491184
Test: m out/target/product/hikey64/system/build.prop and inspect
Change-Id: Ia346d61aec331ed1b9fea12e6a50f1b79147473d
2018-08-27 22:37:15 +01:00
Tao Bao
71142ea2c9 Merge "releasetools: Use int value of FIXED_FILE_TIMESTAMP." 2018-08-27 19:39:03 +00:00
Tao Bao
1796ffa330 Merge "releasetools: Fix the path to the OTA keys in recovery image." 2018-08-27 18:07:56 +00:00
Tao Bao
e30a6a6df9 releasetools: Use int value of FIXED_FILE_TIMESTAMP.
Otherwise it gives a floating-point value (i.e. 1230768000.0). e2fsdroid
(i.e. the user of the value) didn't complain though, because it calls
strtoul(3) without checking endptr.

Bug: 80600931
Test: `m dist` with aosp_taimen-userdebug, check the build log.
Change-Id: I7467a60c947134b42f079c7a57fb8a9a9d4277da
2018-08-27 11:03:55 -07:00
Martijn Coenen
9e913d0fcf Merge "Add apexd to base_system." 2018-08-27 17:24:11 +00:00
Søren Gjesse
6601397608 Merge "Ensure that the R8 minification map (ProGuard dictionary) file exists" 2018-08-27 16:06:07 +00:00
Søren Gjesse
b22934382f Ensure that the R8 minification map (ProGuard dictionary) file exists
R8 no longer outputs an empty map file when minification
(obfuscation) is turned off.

Test: m -j PRODUCT-aosp_x86-eng
Change-Id: I3bd3f2900225dca05a972f46a3b882041e17ba49
2018-08-27 11:19:35 +02:00
Tao Bao
687da3b0a5 releasetools: Fix the path to the OTA keys in recovery image.
The recovery image will be packed under BOOT/RAMDISK only if
system_root_image and recovery_as_boot both are true (e.g. non-A/B
devices launched since P).

Bug: 113191245
Test: Run sign_target_files_apks.py on a target_files file that uses
      system-as-root but not recovery-as-boot.
Change-Id: I262a268055c6b5078d21694b5094a1c393d0d37c
2018-08-26 14:39:58 -07:00
Yifan Hong
c247436e2f Merge changes from topic "resizable_ota"
* changes:
  Add _b to super.
  Create build-superimage-target.
2018-08-24 23:03:22 +00:00
Tao Bao
22f28aa1b5 Merge "A/B update: Replace the zip FileHeader mechanism for update package" 2018-08-24 19:54:10 +00:00
Anton Hansson
6861c9f98d Merge "Install /system/product_services apps odex in system-other." 2018-08-24 18:03:10 +00:00
Treehugger Robot
2f2b5bb224 Merge "Add the missing rule for including product_services.img into vbmeta.img." 2018-08-24 16:51:23 +00:00
Anton Hansson
648b0a875e Install /system/product_services apps odex in system-other.
This will cause odex/vdex files for apps installed under
/system/product_services/{priv-,}app to be installed in system-other
instead of next to the APKs themselves.

This change is analogous to I63406f91acc3de4b4f142767e28d45308706c7da,
which was for /system/product apps.

Test: diff installed-files{,-system-other}.txt on pixel with a PS app
Bug: 80741439
Change-Id: I79fac41cb665a649028f1f0e30350d42e8b80598
2018-08-24 14:59:32 +01:00
Treehugger Robot
916f710b96 Merge "Correct PRODUCT_SERVICES_COPY_FILES in envsetup.mk" 2018-08-24 08:41:00 +00:00
Tao Bao
0da4347827 Clean up the rules for making vbmeta.img.
This CL intends to be a no-op change to functionality. It prepares for
the upcoming changes that support creating chained VBMeta images.

Bug: 112007947
Test: `m dist` with aosp_taimen-userdebug
Change-Id: Iaac45bde7971b056e17a6e7b0c89336ed206916e
2018-08-23 22:21:13 -07:00
Tao Bao
cee6d0456d Add the missing rule for including product_services.img into vbmeta.img.
Bug: 80741439
Test: `m -j vbmetaimage` for a target that uses product_services image
      (i.e. `BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE := ext4`).
      Verify that the generated `vbmeta.img` includes the descriptor for
      `product_services.img`.
Change-Id: Ia2d64523319c3313803acbc63dd56154a0426334
2018-08-23 22:14:28 -07:00
Treehugger Robot
be4ad83ef3 Merge "Atest: add LOCAL_TEST_CONFIG to module_info.json" 2018-08-24 02:49:52 +00:00
yangbill
c9347b3167 Atest: add LOCAL_TEST_CONFIG to module_info.json
Bug: 112335032

Test: 1. Add LOCAL_TEST_CONFIG := ahat-tests.xml in
         art/tools/ahat/Android.mk for ahat-tests
      2. add ahat-tests.xml in local
      3. atest -m hello_world_test
      4. check module_info.json
         local_full_test_config": ["art/tools/ahat/ahat-tests.xml"]

Change-Id: Ice2a0c85979fa6b872c92aea5ff4a340342408ad
2018-08-24 09:29:11 +08:00
Chih-hung Hsieh
8668e9228a Merge "Define CLANG_TIDY_UNKNOWN_CFLAGS in tidy.mk" 2018-08-23 22:23:59 +00:00
Yifan Hong
ebba784d0a Add _b to super.
During OTA, update_engine expects both slots in super,
so that it doesn't have to create the missing slot. Thus,
UUIDs of all logical partitions are consistent. Values
are the result of `uuidgen.py {name}_{slot}` for A/B and
`uuidgen.py {name}` for non-A/B).

Test: adb shell lpdump /dev/block/by-name/super
Bug: 110717529
Change-Id: Ibb90d4dbe1a56bf314d4a02d7aa2f2be18d04855
2018-08-23 09:38:00 -07:00
David Brazdil
b67402ecce Support hidden API whitelist generated by class2greylist
Libcore has support for annotating a virtual method which is known
to change its return type in a future release. This annotation is
recognized by the dexer and a future-proof bridge method is created.
This patch integrates changes in class2greylist to support this
annotation into the build system and generation of hidden API lists.

Calling class2greylist on each boot classpath module now produces two
text files instead of one: signatures for greylisting and now also
whitelisting. They are passed on to the hidden API list generating rules
in frameworks/base.

Bug: 112186571
Test: m appcompat, diff public-list.txt whitelist.txt
Change-Id: I9861203e6e07a17d50850892ec13880971457d11
2018-08-23 10:38:03 +01:00
Bowgo Tsai
d241226936 Correct PRODUCT_SERVICES_COPY_FILES in envsetup.mk
Bug: 80741439
Test: build
Change-Id: Ibc37a1c011ad00a4763911ca0842c74f31d8bc0d
2018-08-23 15:54:34 +08:00
Tao Bao
ebe17177fe Merge "releasetools: Look for recovery.fstab at both locations." 2018-08-23 06:05:40 +00:00
Tao Bao
b4adc06732 releasetools: Look for recovery.fstab at both locations.
The change in [1] moved the recovery etc files from /etc to /system/etc.
However, we may use the latest OTA tools to build incremental OTAs for
old target_files zips. This CL adds a workaround to look at both of the
old and new locations.

[1] commit 696bb33676

Bug: 113073663
Test: Build a previously failing incremental OTA for taimen.
Change-Id: Ie07aa1713e616d523838b1260a992b20f5a11612
2018-08-22 18:41:49 -07:00
Shashikant Baviskar
338856f92b A/B update: Replace the zip FileHeader mechanism for update package
When the update package gets larger than 2 GiB, payload.bin offset
mentioned in metadata file for ota-streaming-property-files gets
shifted (CrAU of payload.bin) because ZipInfo FileHeader() returns
incorrect value. To solve the issue, offset is re-calculated from
fixed bytes of central directory file header, filename length and
extra length.

This patch is to sync with update_device.py script.

Test: manually create an A/B update package and run it using
      update_device.py
Bug: 111198589

Change-Id: I9bf5a5ca24938cad3206d04af529f70d45e992c0
2018-08-23 10:13:20 +09:00
Tao Bao
da9f2d8fd4 Merge changes Icf44032f,Iec8524d3
* changes:
  Add the missing dependency on BOARD_PREBUILT_DTBOIMAGE.
  use BOARD_PREBUILT_DTBOIMAGE in target-files-package
2018-08-22 23:56:55 +00:00
Yifan Hong
251a02f2f0 Create build-superimage-target.
Combine INSTALLED_SUPERIMAGE_TARGET with INSTALLED_SUPERIMAGE_EMPTY_TARGET.

Also fixes inconsistent UUIDs for super_empty.img
because PRIVATE_SUPER_PARTITION_SUFFIX is not defined.

Test: flash and inspect device mapper
Change-Id: I7f00c4e21ebdd21e94fa387c6e2fbea06a6e75b7
2018-08-22 16:43:57 -07:00
Tao Bao
f4866c72ca Add the missing dependency on BOARD_PREBUILT_DTBOIMAGE.
Test: Use a target that defines `BOARD_INCLUDE_RECOVERY_DTBO := true`
      and BOARD_PREBUILT_DTBOIMAGE. Touching a prebuilt dtbo file
      triggers rebuilding of recovery image.
Change-Id: Icf44032fb29542c6836a401c79fb85345ad6cc3c
2018-08-22 14:40:45 -07:00
cfig
286874053c use BOARD_PREBUILT_DTBOIMAGE in target-files-package
it's better to use the original $(BOARD_PREBUILT_DTBOIMAGE) instead
of AVB-padded $(INSTALLED_DTBOIMAGE_TARGET), the latter will be padded
to the size of /dtbo partition

Test: `make target-files-package` target file RECOVERY/recovery_dtbo is
    the original BOARD_PREBUILT_DTBOIMAGE
Test: `make otapackage` build pass and OTA file works fine

Change-Id: Iec8524d3a0544ddca89481dc613f076b36aeed25
2018-08-22 14:34:55 -07:00
Treehugger Robot
10f1a69a2b Merge "Build image for clean super partition." 2018-08-22 20:06:14 +00:00
Anton Hansson
82182c8233 Merge "Add OTA support to mainline_system." 2018-08-22 18:41:30 +00:00
David Anderson
433f822d76 Build image for clean super partition.
This adds a new super_empty.img output to the build when
PRODUCT_USE_LOGICAL_PARTITIONS is true and a super partition size is
set. This will be used by fastboot flashall in fastbootd, since it needs
a record of the partition layout in case the super partition is corrupt
or not yet flashed.

Unlike the full super.img, super_empty.img is not a sparse image. It
contains the minimal data sequence needed to format the super partition.
It also does not contain partition sizes, since flashing is responsible
for choosing the correct partition size.

The full super.img (which contains embedded partition data) is still
available via "make dist".

Bug: 78793464
Test: super_empty.img generated when PRODUCT_USE_LOGICAL_PARTITIONS is
      true.
      mmm system/extras/partition_tools && lpdump super_empty.img works

Change-Id: I34e915a1fead806287dde554d190474785e52500
2018-08-22 11:40:22 -07:00
Anton Hansson
0de30815ff Merge "Fix dump-products." 2018-08-22 16:58:13 +00:00
Anton Hansson
ae6bf49575 Merge "Make FULL_BUILD not set for the dont_bother case." 2018-08-22 16:57:48 +00:00
Treehugger Robot
7a9f3889f0 Merge "Rename INSTALLED_SYSTEMIMAGE to INSTALLED_SYSTEMIMAGE_TARGET." 2018-08-22 16:49:23 +00:00
Anton Hansson
33611b1173 Add OTA support to mainline_system.
update_engine applies an OTA, and update_verifier verifies
partitions post boot.

Note that this also adds cacerts_google as it's a required module by
update_engine, so this reduces the disparity between pixel /system
and mainline_system /system by ~100 files.

Bug: 110410711
Bug: 111495787
Test: make
Change-Id: Idd31407bbd5543fe1dd2b52e87894ac501a025df
2018-08-22 17:48:52 +01:00
Chih-Hung Hsieh
4275dcf866 Define CLANG_TIDY_UNKNOWN_CFLAGS in tidy.mk
* Moved from build/soong because the list is used only in make rules.

Bug: 111885396
Test: build with WITH_TIDY=1
Change-Id: I6ca7420e7ed1e342a5b92996724c6659a406d5ae
2018-08-22 09:21:53 -07:00