Commit Graph

22209 Commits

Author SHA1 Message Date
Treehugger Robot
d6d27517f7 Merge "Remove stray ZIPALIGN_PAGE_ALIGN_FLAGS" 2019-10-11 13:12:29 +00:00
dianlujitao
eec39a95f3 Merge "Fix odm output directory for devices w/o vendor partition"
am: 46cfab96d8

Change-Id: Ia132212a1b1cfb909a3f8539ca42af0bdd9c9939
2019-10-11 04:14:06 -07:00
Treehugger Robot
46cfab96d8 Merge "Fix odm output directory for devices w/o vendor partition" 2019-10-11 10:46:43 +00:00
android-build-team Robot
54902e406d Version bump to QQ1A.191003.009 [core/build_id.mk]
Change-Id: I345c40cf98da8f01bd09624cf593ad27f56147d0
2019-10-11 05:21:23 +00:00
Xin Li
51a7d20229 Merge "DO NOT MERGE - Merge QP1A.191005.007 into master" 2019-10-11 02:56:40 +00:00
android-build-team Robot
0150bdbb1b Version bump to QQ1A.191003.008 [core/build_id.mk]
Change-Id: I4091b795448ab4a17c4fbe08a814015e5b0ec613
2019-10-11 02:38:38 +00:00
Elliott Hughes
af11c50e67 Revert "-D__ANDROID_NDK__ for SDK builds."
This reverts commit 401a84071b.

Reason for revert: fixed in bionic instead (https://android-review.googlesource.com/c/platform/bionic/+/1135146).

Change-Id: I85e2ef241684c34fc968fd0e7230b8a88ea3209a
2019-10-11 01:24:39 +00:00
Xin Li
66ec993fe5 DO NOT MERGE - Merge QP1A.191005.007 into master
Bug: 142297020
Merged-In: I063f0430347d9f1e6ea5a8133204585833ed5ddc
Change-Id: I6fe9ad3f71b30ba7c1cf9d6941450809cfc66909
2019-10-10 22:54:06 +00:00
Tao Bao
97c1c9aaa3 Merge "AVB: decouple vbmeta.img from recovery.img for non-A/B devices"
am: 549325427b

Change-Id: Iebb05accc055147051cfecfc2729fbe8cca0a0d1
2019-10-10 13:38:13 -07:00
Colin Cross
bf086436b0 Remove stray ZIPALIGN_PAGE_ALIGN_FLAGS
Iae26e4676c29c68fa3f76187512c82786bfa0522 removed the definition
of ZIPALIGN_PAGE_ALIGN_FLAGS in favor of always using the -p flag,
but left accidentaly left one usage.  Replace it with -p.

Bug: 141212627
Test: m checkbuild
Change-Id: Ica69d9195426f8f30039da211ed1a0ad5dffe8e8
2019-10-10 12:52:13 -07:00
cfig
1aeef725a7 AVB: decouple vbmeta.img from recovery.img for non-A/B devices
For following cases:
Case 1: A/B devices: no change
Case 2: non-A/B devices, with unsigned recovery image:
    not allowed anymore by mandating BOARD_AVB_RECOVERY_KEY_PATH
Case 3: non-A/B devices, with signed recovery image:
    vbmeta.img should not include ChainPartitionDescriptor of recovery.img,
    otherwise device can not even boot into normal mode if recovery partition
    is damaged

This CL will cause a build break if BOARD_AVB_RECOVERY_KEY_PATH
is not set for non-A/B targets with recovery.img
The following is an example to fix the build break by specifying
AVB signing configs for the recovery.img.

BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA2048
BOARD_AVB_RECOVERY_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 2

Also note that libavb in bootloader needs an update to include this
commit Iaa886037edb18c2ff6c60fa2a7f883ab7303ba1a, to support verifying
recovery.img independently (not through vbmeta.img).

Bug: 130351427
Test (Case 3):
  normal   mode: avb_slot_verify(flags=AVB_SLOT_VERIFY_FLAGS_NONE)
  recovery mode: avb_slot_verify(flags=AVB_SLOT_VERIFY_FLAGS_NO_VBMETA_PARTITION)
Test: PYTHONPATH=build/make/tools/releasetools \
    python -m unittest test_validate_target_files
Test: Use a lunch'd target. `atest --host releasetools_test releasetools_py3_test`
Test: validate_target_files.py with Case-3 target files
Change-Id: I2a73252b385fa463b4abd444923a8acc473df0b4
2019-10-10 14:28:34 +00:00
Tao Bao
19b02fe8e5 Include per-partition fingerprint as AVB prop.
This allows querying per-partition fingerprint via libavb (in
particular, avb_property_lookup).

Bug: 80097573
Test: `m dist`; `avbtool info_image --image /path/to/image` to check the
      written prop.
Test: `atest --host releasetools_test releasetools_py3_test`
Test: Run sign_target_files_apks to sign a target_files.zip that's built
      with the change. Check the AVB prop in the signed images.
Change-Id: Id4f06df82c29e77aca128439c8c11f0367fe587e
2019-10-09 21:25:19 -07:00
dianlujitao
339ef4cf3f Fix odm output directory for devices w/o vendor partition
Change-Id: Iba6c169630ea6bf61b9057a9994e5eb824915304
2019-10-10 09:55:09 +08:00
android-build-team Robot
0af9e63972 Version bump to QQ1A.191003.007 [core/build_id.mk]
Change-Id: I4d44dfef9bbf8242ced314e4adacc27fa2593513
2019-10-10 00:46:55 +00:00
Bowgo Tsai
68130ccb4a Merge "Adding boot-test-harness.img"
am: 818df7b0d0

Change-Id: I550d6e5eebe84f9e1971ef23a21c40d22de0d0b8
2019-10-09 17:32:04 -07:00
Treehugger Robot
818df7b0d0 Merge "Adding boot-test-harness.img" 2019-10-09 23:49:46 +00:00
Tao Bao
003ae1cde8 Merge "Remove the workaround that forces rebuilding recovery patch."
am: 3d33aa7c2c

Change-Id: I73cf84bf0e85aa61f9a238210c843859a77deb1e
2019-10-09 11:55:07 -07:00
android-build-team Robot
71193bf2bb Version bump to QQ1A.191003.006 [core/build_id.mk]
Change-Id: Id68378ce4973806d63bb8289648a6ba17e694e5f
2019-10-09 18:46:03 +00:00
Tao Bao
cbd6d498d2 Remove the workaround that forces rebuilding recovery patch.
The issue has been addressed on releasetools script side, by specifying
UUID and AVB salt to get reproducible images [1].

[1] https://android-review.googlesource.com/c/platform/build/+/1135332

Fixes: 134525174
Test: `m dist` with a non-A/B target.
      `validate_target_files out/dist/target_files.zip` passes.
Change-Id: Ida6750291706036c9b0c192d8abcde6d65155287
2019-10-08 22:23:37 +00:00
Bowgo Tsai
5c40c7166f Adding boot-test-harness.img
In commit I30137c3caef91805d9143d404e5e4d06c0fccc30, we added
a boot-debug.img to allow adb root when using an user build GSI image.

However, to run automated tests, it requires additional properties,
which are not needed for GSI compliance:
    ro.audio.silent=1
    ro.test_harness=1

This CL adds an additional boot-test-harness.img for automated tests,
and keeps the original boot-debug.img for GSI compliance.

Note: boot-test-harness.img won't be built by default, it needs
      explicit `make bootimage_test_harness`.

Bug: 140036184
Test: `m bootimage_test_harness`, flashes boot-test-harness.img and checks
      adb root works and test harness props are set.
Test: `m bootimage_test_harness dist -j32`, checks both
      boot-test-harness.img and ramdisk-test-harness.img are under ./out/dist/.
Test: `system/tools/mkbootimg/unpack_bootimg.py --boot_img $OUT/boot-test-harness.img --out ramdisk-test-harness`,
      checks the extracted out/ramdisk is as expected
Test: Run `gunzip -c ramdisk | cpio -idm` for the ramdisk extracted from
      $OUT/boot-test-harness.img and $OUT/boot-debug.img, respectively.
      Then compare the root dirs of both, e.g.,
      `diff -rq --no-dereference ./ramdisk-test-harness ./ramdisk-debug`
Test: `m ramdisk_test_harness-nodeps` and `m bootimage_test_harness-nodeps`
Change-Id: Iadea0b5c933c3b7fa10dcf3d9e85596916b3333d
2019-10-08 10:22:13 +00:00
android-build-team Robot
31e2a59f0e Version bump to QQ1A.191003.005 [core/build_id.mk]
Change-Id: I1865147c3b65178905a4996d65712c090c6abd09
2019-10-08 05:11:05 +00:00
Jooyung Han
6ba261edf0 Merge "Check if installable before installing unstripped"
am: 4dc0c25643

Change-Id: I74287511c49395e94a57e18539e13c8eafdfdf94
2019-10-07 17:14:36 -07:00
Treehugger Robot
4dc0c25643 Merge "Check if installable before installing unstripped" 2019-10-07 23:56:05 +00:00
Tao Bao
34bd354511 Merge "Enforce the consistency between AB_OTA_UPDATER and AB_OTA_PARTITIONS."
am: e3c95f71e7

Change-Id: Id19d9ed15cea91022d2693ab8ffa01a989b1ffaa
2019-10-07 12:28:52 -07:00
Tao Bao
e3c95f71e7 Merge "Enforce the consistency between AB_OTA_UPDATER and AB_OTA_PARTITIONS." 2019-10-07 19:06:46 +00:00
Jooyung Han
66bd7385d2 Check if installable before installing unstripped
When LOCAL_UNINSTALLABLE_MODULE is true, the module is not installed.
But its unstripped output is installed to the path based on
my_module_path which is not set for it is not installable. Moreover,
my_module_path is not reset after use.

As a result, when LOCAL_UNINSTALLABLE_MODULE is true, the path for
unstripped output is unexpected.

The installation is guarded by LOCAL_UNINSTALLABLE_MODULE now,
which was LOCAL_VNDK_DEPEND_ON_CORE_VARIANT.

Test: m
Change-Id: If18cf76118e058a9e0701a8d66f7ff0f534e5881
2019-10-07 22:33:47 +09:00
Anton Hansson
3c5a18fc16 Document SYSTEM_OTHER_ODEX_FILTER matching
...and add a CleanSpec for the moving preopt files.

Bug: 141707536
Test: N/A
Change-Id: I2f5bc4e2c8e6a9fa4c562d55623c13682d3f93ba
2019-10-07 14:29:58 +01:00
Roland Levillain
0a24633ef5 Merge "Introduce build variable OVERRIDE_TARGET_FLATTEN_APEX."
am: 81681abfef

Change-Id: I1dea79a8ff7ee4f1e12cd731e87b124dca324ecc
2019-10-07 03:35:27 -07:00
Roland Levillain
81681abfef Merge "Introduce build variable OVERRIDE_TARGET_FLATTEN_APEX." 2019-10-07 10:27:41 +00:00
android-build-team Robot
8b4ee34aa4 Version bump to QQ1A.191003.004 [core/build_id.mk]
Change-Id: I8c1af9d7e6e04160bed6b0294fa9fbde59414fc1
2019-10-06 19:29:55 +00:00
Bill Peckham
2c4d3a7b6c Merge "Moving recovery resources from /system to /vendor"
am: 959b5ebbf8

Change-Id: Ied05e3765ea8afbc29b4d9bf713217d0d3753fa5
2019-10-04 20:24:19 -07:00
Bill Peckham
959b5ebbf8 Merge "Moving recovery resources from /system to /vendor" 2019-10-05 03:14:12 +00:00
Roland Levillain
b3a503df7f Introduce build variable OVERRIDE_TARGET_FLATTEN_APEX.
When `OVERRIDE_TARGET_FLATTEN_APEX` is defined (e.g. set in the
environment), `TARGET_FLATTEN_APEX` is forcibly assigned its value.

This is useful to enable/disable APEX flattening from the command
line (thus ignoring the product's default configuration), for testing
purposes.

Note: Previously it was possible to set `TARGET_FLATTEN_APEX` directly
and have the same effect, but recent changes in the build
configuration now prevent that option.

Test: Check that:
        export OVERRIDE_TARGET_FLATTEN_APEX=true \
          && . ./build/envsetup.sh \
          && lunch aosp_walleye-userdebug \
          && export OVERRIDE_TARGET_FLATTEN_APEX=true \
          && build/soong/soong_ui.bash --dumpvar-mode TARGET_FLATTEN_APEX
      returns:
        true
Bug: 121117762

Change-Id: Ib9ccae38430340de38e4758b4f55df2c65ea60d5
2019-10-04 18:35:49 +01:00
Colin Cross
ad3ac35f8e Merge "Use -nostdlib++ instead of -nodefaultlibs"
am: a63ce3af4c

Change-Id: Iba432c7761f8e24d0e0f693cd9131b4862930653
2019-10-03 20:36:49 -07:00
Colin Cross
a63ce3af4c Merge "Use -nostdlib++ instead of -nodefaultlibs" 2019-10-04 03:26:11 +00:00
android-build-team Robot
b033731fb2 Version bump to QQ1A.191003.003 [core/build_id.mk]
Change-Id: I7686819fa6939c2ccdfb034eaea6e6692d671cf2
2019-10-04 00:09:31 +00:00
Bill Peckham
e868aec14b Moving recovery resources from /system to /vendor
This change is part of a topic that moves the recovery resources from the
system partition to the vendor partition, if it exists, or the vendor directory
on the system partition otherwise. The recovery resources are moving from the
system image to the vendor partition so that a single system image may be used
with either an A/B or a non-A/B vendor image. The topic removes a delta in the
system image that prevented such reuse in the past.

The recovery resources that are moving are involved with updating the recovery
partition after an update. In a non-A/B configuration, the system boots from
the recovery partition, updates the other partitions (system, vendor, etc.)
Then, the next time the system boots normally, a script updates the recovery
partition (if necessary). This script, the executables it invokes, and the data
files that it uses were previously on the system partition. The resources that
are moving include the following.

* install-recovery.sh
* applypatch
* recovery-resource.dat (if present)
* recovery-from-boot.p (if present)

This change includes the platform build system and release tools changes to
move the recovery resources from system to vendor (or /system/vendor). The
release tools need to know where to generate the recovery patch, and they
discover this from misc_info.txt variable board_uses_vendorimage, which the
platform build system generates.

We remove applypatch from PRODUCT_PACKAGES, but it is added back as a required
module in target/product/base_vendor.mk.

Several release tools rely on the misc_info.txt board_uses_vendorimage variable
to know how to generate and detect the recovery patch.

This change partially removes the --rebuild_recovery flag from the
merge_target_files.py script. The flag will be fully removed in a follow-on
change.

Bug: 68319577
Test: Ensure that recovery partition is updated correctly.
Change-Id: Ia4045bd67ffb3d899efa8d20dab4c4299b87ee5f
2019-10-04 00:04:34 +00:00
Colin Cross
84783a776e Use -nostdlib++ instead of -nodefaultlibs
Host builds using libc++ used -nodefaultlibs to turn off the default
C++ runtime, and then added back all the other necessary libraries.
Clang supports -nostdlib++ since https://reviews.llvm.org/D47115
that removes the C++ runtime without affecting the other default
libraries.  Use -nostdlib++, and remove the lists of default
libraries.

Test: m checkbuild
Change-Id: Ib8b761534f64fd7f881e14598e514783678e0b35
2019-10-03 16:04:52 -07:00
Elliott Hughes
86ca29ee67 Merge "Remove ro.bionic.ld.warning."
am: bda45088a2

Change-Id: I9530d366890cea5e805be76bd30eff2a38b4d87c
2019-10-03 13:44:20 -07:00
Elliott Hughes
bda45088a2 Merge "Remove ro.bionic.ld.warning." 2019-10-03 20:10:50 +00:00
Logan Chien
ef2a9d7002 Merge "Always check ELF files for check-elf-files"
am: 455d7e545a

Change-Id: I866e40d5c0aec41d4135229a73c9da535e56f0eb
2019-10-03 09:15:35 -07:00
Logan Chien
455d7e545a Merge "Always check ELF files for check-elf-files" 2019-10-03 15:51:09 +00:00
android-build-team Robot
f054fbb2ed Version bump to QQ1A.191003.002 [core/build_id.mk]
Change-Id: I05680f1883ca164d714a6bcb833448fcb9db2cb3
2019-10-03 02:44:18 +00:00
android-build-team Robot
f730a7a6b3 Make change and version bump to QQ1A.191003.001
Change-Id: I3b2c310533ac8585d633c14ae2d187aa444375f1
2019-10-03 01:21:50 +00:00
android-build-team Robot
7302f32bff Version bump to QQ1A.191002.002 [core/build_id.mk]
Change-Id: Id6ab4fb8bf102b0207ab5d85af69d7c3ddfebedd
2019-10-02 21:09:30 +00:00
Elliott Hughes
787ac2ed38 Remove ro.bionic.ld.warning.
Bug: http://b/141754375
Test: treehugger
Change-Id: I07c0d5424dde16e85bcd6d5639bc594ee8582b20
2019-10-02 11:40:59 -07:00
Tao Bao
a835f38f0b Enforce the consistency between AB_OTA_UPDATER and AB_OTA_PARTITIONS.
They are designed to be used as a pair -- we should create separate
flags when there's a need.

Fixes: 130433003
Test: TreeHugger
Test: Define only one of them. `m dist` fails.
Change-Id: Ied57bd67fbed59b160c407dbb4c0d624581c58f7
2019-10-02 05:53:31 +00:00
Yo Chiang
95f16d563f Merge "Change RRO enforcement logic" am: 9c683dc968
am: 1876c3698d

Change-Id: Ib147dab336cfcd2a6efa7547db7717f75342335c
2019-10-01 19:54:09 -07:00
Yo Chiang
1876c3698d Merge "Change RRO enforcement logic"
am: 9c683dc968

Change-Id: I8a4ad0ece4e9ee0fc0112877fa0eb4d3f2b968ed
2019-10-01 19:47:50 -07:00
Yo Chiang
9c683dc968 Merge "Change RRO enforcement logic" 2019-10-02 02:34:35 +00:00