Commit Graph

59066 Commits

Author SHA1 Message Date
Hongguang Chen
b4702b7006 Fix _ImportParser() error if property is imported from oem partition.
The oem partition allows system build.prop to import properties from it
by "import /oem/oem.prop xxxx". An _ImportParser() error was raised on
this case.

BUG: 154171021
Test: 1) "atest --host releasetools_test releasetools_py3_test -c"
      2) On a device who has oem partition, "make dist" and sign its
      target zip file.
Change-Id: I47875bf7a698390e11690150e6516a3064550ca0
2020-05-14 17:44:14 +00:00
Paul Duffin
61b3971e66 Merge "Revert "support different boot partition sizes in aosp_arm64"" am: 29beb858ef
Change-Id: I8cf4b0a6856abf1233d221d36bcd1cb4a1c1ec10
2020-05-14 09:44:39 +00:00
Paul Duffin
29beb858ef Merge "Revert "support different boot partition sizes in aosp_arm64"" 2020-05-14 09:23:49 +00:00
Paul Duffin
b5a334d0b3 Revert "support different boot partition sizes in aosp_arm64"
This reverts commit 11c4bcf406.

Reason for revert: Broke build b/156569314

Bug: 156569314
Change-Id: I384740320acf48d09b0544e45b5a13ff0a6a163d
2020-05-14 08:40:52 +00:00
Jiyong Park
c47b4ee74b Remove /default.prop
It was kept for non-Treble devices, but now /system/build.prop is used
instead by having both system-configured sysprops and vendor-configured
sysprops. To summarize:

* For Treble compliant devices
- /system/build.prop has
  ADDITIONAL_DEFAULT_PROPERTIES
  PRODUCT_SYSTEM_DEFAULT_PROPERTIES
  props generated from buildinfo_common.sh
  props generated from buildinfo.sh
  props read from TARGET_SYSTEM_PROP file
  ADDITIONAL_BUILD_PROPERTIES

- /vendor/build.prop has
  PRODUCT_DEFAULT_PROPERTY_OVERRIDES
  props generated from buildinfo_common.sh
  props read from TARGET_VENDOR_PROP
  PRODUCT_PROPERTY_OVERRIDES

* For non-Treble devices,
PRODUCT_DEFAULT_PROPERTY_OVERRIDES moves from /vendor/build.prop to
/system/build.prop (just after PRODUCT_SYSTEM_DEFAULT_PROPERTIES).

Other props in /vendor/build.prop remain there but they are not used
because it's a symlink for /system/vendor/build.prop and init does not
follow symlink. Especially, PRODUCT_PROPERTY_OVERRIDES is ignored.
Someone might think this as a bug, which actually is, but this change
doesn't attempt to fix that, because 1) that's out of scope of this
change, and 2) we will anyway merge PRODUCT_PROPERTY_OVERRIDES and
PRODUCT_DEFAULT_PROPERTY_OVERRIDES into one.

Bug: 117892318
Test: TH passes

Change-Id: I867f3615ef8c06650ab2ee96642bac4f6d8ca820
2020-05-14 16:46:26 +09:00
Jiyong Park
09153e244e Remove /system/etc/prop.default
Contents that were in /system/etc/prop.default are now in
/system/build.prop.

The content is placed at the top of build.prop to keep the existing
order between the two files.

Caveat: /prop.default still remains for non-Treble devices.

Bug: 117892318
Test: TH passes
Test: inspect  /system/build.prop and check if it has contents from
the old /system/etc/prop.default file

Change-Id: Ibc74edb88904f953a1e5e6ceef44c461f381c9cf
2020-05-14 16:28:19 +09:00
Treehugger Robot
6f978c6b7f Merge "support different boot partition sizes in aosp_arm64" am: ade028ea9e
Change-Id: I2f9b6dba41127c665dead70b0ff83760796616f8
2020-05-14 07:22:16 +00:00
Jiyong Park
b894d4bb68 Remove /vendor/default.prop
Contents that were in /vendor/default.prop are now in /vendor/build.prop

The content is placed at the top of build.prop to keep the existing
order between default.prop and builld.prop.

Bug: 117892318
Test: TH passes
Test: inspect  /vendor/build.prop and check if it has contents from
the old /vendor/default.prop file

Change-Id: Ifa1f1dca3b4f4a5fa87d26b8ee058ee706dc54bb
2020-05-14 16:19:32 +09:00
Treehugger Robot
ade028ea9e Merge "support different boot partition sizes in aosp_arm64" 2020-05-14 07:05:31 +00:00
Yo Chiang
5814247ed2 Access ALL_MODULES subvars with my_register_name
ALL_MODULES and subvars are registered with my_register_name.
Replace references of ALL_MODULES.$(LOCAL_MODULE).* with
ALL_MODULES.$(my_register_name).*.

Bug: 155869107
Test: TH presubmit build pass
Test: TH presubmit build noop
Change-Id: I1481c341a285dc04de86619abec3194bb92c9739
2020-05-14 04:08:42 +00:00
Yo Chiang
5e85bfe3a3 Resolve module bitness for PRODUCT_PACKAGES
PRODUCT_PACKAGES contains "simple module name" and "bitness suffix".
Call `resolve-bitness-for-modules` to resolve module bitness before
using PRODUCT_PACKAGES.

Bug: 155869107
Test: TH presubmit build_test
Test: check the value of event_log_tags_src
Change-Id: I95fcd833990b3401892c2f7859c83acd90f9e920
2020-05-14 04:07:56 +00:00
Tianjie Xu
f6dd644e6b Merge "Exclude vendor_boot in secondary payload" am: 7a3cf2c4ba
Change-Id: I348a3c8093e85780bd641d460040b19a6878afda
2020-05-14 02:54:12 +00:00
Tianjie Xu
7a3cf2c4ba Merge "Exclude vendor_boot in secondary payload" 2020-05-14 02:34:44 +00:00
Tianjie
c385064d94 Exclude vendor_boot in secondary payload
The secondary payload is used by factory OTA to speed up the first
boot of the device. The payload should only contain bootloaders
images and the precompiled apps in system_other. Remove vendor_boot
to reduce the secondary payload size.

Test: build a package with secondary payload
Change-Id: I3a9f6dda00a5aac038438065e2bc6483d71b5e95
2020-05-13 14:47:31 -07:00
Steve Muckle
0d121f4d2e Merge "Enables signing for generic boot images" am: 70ef6fd4f2
Change-Id: I21567a60387a133d38c482d8c6e42b93ed66b2ee
2020-05-13 19:47:21 +00:00
Steve Muckle
70ef6fd4f2 Merge "Enables signing for generic boot images" 2020-05-13 19:36:56 +00:00
Yo Chiang
b85a140c3c Refactor bitness resolving logic of product-installed-files
* Add get-modules-for-2nd-arch helper function

Add a generic function to retrieve second arch variant module names for
TARGET, HOST and HOST_CROSS modules.
It uses ALL_MODULES.<module>.FOR_2ND_ARCH to make sure that we are
really returning second arch variant module names.
Unlike `get-32-bit-modules` this function doesn't sort its output so it
potentially saves us a tiny bit of makefile parsing time.

* Add resolve-bitness-for-modules

Factor out the common bitness-resolving logic of
`product-installed-files` and `host-installed-files` to a helper
function.
When resolving HOST_CROSS modules, the primary arch is 32-bit and
secondary arch is 64-bit.

Bug: 155869107
Test: TH
Test: check the value of product_target_FILES and product_host_FILES
Change-Id: I0fdea2e8c55e5b8edf960dbf5e17bb789abb0bf8
2020-05-13 20:42:07 +08:00
Steve Muckle
11c4bcf406 support different boot partition sizes in aosp_arm64
The different boot images in aosp_arm64 have different partition size
requirements. Add support for defining a partition size associated with
each boot image variant.

This support is limited to aosp_arm64 currently, which is built with
recovery-as-boot.

Bug: 156036850
Bug: 155049180
Change-Id: I73b70a4d52c2662c3015899632bb8a2b424108d5
2020-05-12 16:51:45 -07:00
Tianjie Xu
728d35e3a9 Merge "Reland "Calculate the runtime fingerprint prefixes from build prop"" am: e9ab85956f
Change-Id: Id16060ff55a5d550537f320befecf0eab25ac035
2020-05-12 19:04:26 +00:00
Tianjie Xu
e9ab85956f Merge "Reland "Calculate the runtime fingerprint prefixes from build prop"" 2020-05-12 18:51:25 +00:00
Tianjie Xu
2399593a28 Merge "Reland "Add a wrapper class PartitionBuildProp""" am: 49b45296f6
Change-Id: I991010fec552d2d268bd0b94aed09389b0870b6a
2020-05-11 21:56:48 +00:00
Tianjie Xu
49b45296f6 Merge "Reland "Add a wrapper class PartitionBuildProp""" 2020-05-11 21:30:09 +00:00
Treehugger Robot
5f4eee2e30 Merge "Update Keymaster AIDL to V2 in VNDK list" am: f4a9f159aa
Change-Id: I940aa4b83d8b10cbe92fbd6c3fd896e251565ba2
2020-05-11 19:30:43 +00:00
Treehugger Robot
f4a9f159aa Merge "Update Keymaster AIDL to V2 in VNDK list" 2020-05-11 17:28:43 +00:00
Inseob Kim
cb2303c806 Merge "DO NOT MERGE Add 30.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS" am: b2daf711a3
Change-Id: I6ae0158a4d5f5941fb7bffd428df03cb46b0b78c
2020-05-11 10:11:37 +00:00
Inseob Kim
761ec57f1d DO NOT MERGE Add 30.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS am: f369fefbce
Change-Id: I2bdaffe4f8f13730e650b8c9901cc51cdf39aa54
2020-05-11 10:11:34 +00:00
Inseob Kim
b2daf711a3 Merge "DO NOT MERGE Add 30.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS" 2020-05-11 09:53:21 +00:00
cfig
125efba2bf vendor_boot: remove INTERNAL_MKBOOTIMG_VERSION_ARGS from mkbootimg args
'os_version' and 'os_patch_level' are not defined in vendor boot image header,
so remove INTERNAL_MKBOOTIMG_VERSION_ARGS to avoid confusion

Test: lunch aosp_cf_x86_64_phone-userdebug; m vendorbootimage

Change-Id: I19c82846c9669bbd5475605e8b2457744040390d
2020-05-11 15:01:53 +08:00
Yo Chiang
62353ad6cc Merge "Ban ELF prebuilts in PRODUCT_COPY_FILES" am: 6190f6910f
Change-Id: Id77f56a8cf386192aac415f112d31497915ee852
2020-05-11 05:26:06 +00:00
Yo Chiang
6190f6910f Merge "Ban ELF prebuilts in PRODUCT_COPY_FILES" 2020-05-11 05:14:29 +00:00
Tianjie Xu
9afb221c9e Reland "Calculate the runtime fingerprint prefixes from build prop"
This reverts commit b21e48b499.

In practice, some partners use the 'import' statement to override
the device fingerprint at runtime. The runtime fingerprint will
later add to the metadata of OTA package, so that the OTA server
can deliver the package to corresponding devices correctly.

This CL supports parsing a subset of import statement that the init
process recognizes. And we loose the restriction based on how the
dynamic fingerprint is used in practice. Right now, we only searches
for the override of brand, name and device. And the placeholder
format should be ${placeholder}, with its value supplied by the
script caller.

As part of the implementation, we generate all the possible
combinations of the input boot variables. And recalculate the
fingerprint for each of the combination. Though we load the
build.prop multiple times, the logic is easier to follow. Also,
it's more convenient to enhance the logic if we only want to
allow some of the boot variables combination later.

Bug: 152167826
Change-Id: I4a9fa35c7ac037ff1cf4f9a4bdff602beac3894b
Test: unittests pass
2020-05-10 21:49:53 +00:00
Tianjie Xu
0fde41e711 Reland "Add a wrapper class PartitionBuildProp""
This reverts commit 6022545272.

The build prop for a partition used to be a simple key:value
dictionary. But we need more fields to hold the alternative build
props overriden by the 'import' statement. Therefore, add a new
class as a wrapper for these props first.

Bug: 152167826
Change-Id: I5c952cd2a976ba1a09ddc66d56c2b8b55a61986b
Test: unittests pass
2020-05-09 05:24:18 +00:00
Greg Kaiser
7eb76f74d9 Merge changes from topic "revert-1297095-MANSYJSCZY" am: 763c8a7691
Change-Id: I08fd73accc7e881540aea1fdd96a188a9f20ae45
2020-05-09 00:46:08 +00:00
Greg Kaiser
763c8a7691 Merge changes from topic "revert-1297095-MANSYJSCZY"
* changes:
  Revert "Add a wrapper class PartitionBuildProp"
  Revert "Calculate the runtime fingerprint prefixes from build prop"
2020-05-09 00:34:55 +00:00
Greg Kaiser
6022545272 Revert "Add a wrapper class PartitionBuildProp"
Revert submission 1297095

Bug: 156131275
Reason for revert: Broken build
Reverted Changes:
I2fe7e93a2:Add a wrapper class PartitionBuildProp
Iac093a40d:Calculate the runtime fingerprint prefixes from bu...

Change-Id: Ie846d23b9f5c3325d021236725826512be7a3c78
2020-05-09 00:30:33 +00:00
Greg Kaiser
b21e48b499 Revert "Calculate the runtime fingerprint prefixes from build prop"
Revert submission 1297095

Bug: 156131275
Reason for revert: Broken build
Reverted Changes:
I2fe7e93a2:Add a wrapper class PartitionBuildProp
Iac093a40d:Calculate the runtime fingerprint prefixes from bu...

Change-Id: I8b1262c6e94a1db349de39896e56f366c8d64d4c
2020-05-09 00:30:33 +00:00
Tianjie Xu
93eec51aa4 Merge changes Iac093a40,I2fe7e93a am: 8aba9ec7c8
Change-Id: I7d79d696d261945c7287336e080064d24fc2e5da
2020-05-08 21:09:41 +00:00
Tianjie Xu
8aba9ec7c8 Merge changes Iac093a40,I2fe7e93a
* changes:
  Calculate the runtime fingerprint prefixes from build prop
  Add a wrapper class PartitionBuildProp
2020-05-08 20:59:27 +00:00
Dan Shi
7815818869 Merge "Revert "Add vts related artifacts to vts-core package"" am: fb42b79210
Change-Id: Icd1823ee487ef7b3209f50d556ba7f2a4795d63b
2020-05-08 20:16:36 +00:00
Dan Shi
fb42b79210 Merge "Revert "Add vts related artifacts to vts-core package"" 2020-05-08 20:03:06 +00:00
Dan Shi
c4fa187094 Revert "Add vts related artifacts to vts-core package"
This reverts commit 5e06288e7c.

Bug: 149249068
Test: build
Change-Id: I8245f1b7a4a74e133c0b7958e0f2908e4e8efd05
2020-05-08 10:52:31 -07:00
David Zeuthen
d5505f2c74 Update Keymaster AIDL to V2 in VNDK list
Bug: 156076333
Test: atest VtsHalIdentityTargetTest
Test: atest android.security.identity.cts
Change-Id: I293f4cca815b62bbbaf6334b36a83c669694fd12
2020-05-08 12:50:44 -04:00
Treehugger Robot
27e8fbcac3 Merge "Build com.android.inprocess.tethering for Go variant" am: 47f2597490
Change-Id: I3ffc3c2f95e816947c7e35e11f035dab0ff0d59a
2020-05-08 12:29:38 +00:00
Treehugger Robot
47f2597490 Merge "Build com.android.inprocess.tethering for Go variant" 2020-05-08 12:11:47 +00:00
markchien
ddb0f0ab3b Build com.android.inprocess.tethering for Go variant
Bug: 155604224
Test: build
Change-Id: I1c5ac07e72068a617fa20797496dd022f279d88e
Merged-In: I1c5ac07e72068a617fa20797496dd022f279d88e
2020-05-08 09:33:42 +00:00
Bowgo Tsai
0f95ac7e8c Enables signing for generic boot images
Enables signing for them so we can verify that the boot partition
contains a valid generic boot image during the compliance test.

This change also adds the chained partition descriptor of
boot partition into vbmeta.img, which contains the corresponding
public key used to verify the boot partition.

Bug: 151094943
Test: lunch aosp_arm64-user, `make` and use `avbtool info_image`
      to check that GKI images are properly signed.
Test: `make dist` and checks that GKI images in the image zip file
      are properly signed.
Change-Id: I2fd69964f9dc62526a813875fa9193913aa4935b
2020-05-08 08:16:25 +00:00
Tianjie
0d2fcd50d7 Calculate the runtime fingerprint prefixes from build prop
In practice, some partners use the 'import' statement to override
the device fingerprint at runtime. The runtime fingerprint will
later add to the metadata of OTA package, so that the OTA server
can deliver the package to corresponding devices correctly.

This CL supports parsing a subset of import statement that the init
process recognizes. And we loose the restriction based on how the
dynamic fingerprint is used in practice. Right now, we only searches
for the override of brand, name and device. And the placeholder
format should be ${placeholder}, with its value supplied by the
script caller.

As part of the implementation, we generate all the possible
combinations of the input boot variables. And recalculate the
fingerprint for each of the combination. Though we load the
build.prop multiple times, the logic is easier to follow. Also,
it's more convenient to enhance the logic if we only want to
allow some of the boot variables combination later.

Bug: 152167826
Test: unittests pass
Change-Id: Iac093a40dc6f873c5e1858efa44cb2bd6082508a
2020-05-07 23:52:07 -07:00
Inseob Kim
f369fefbce DO NOT MERGE Add 30.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS
Bug: 153661471
Test: m selinux_policy
Change-Id: If1c77d867e5f454c6a159fcf9ba563dc9ec16e58
2020-05-08 11:16:29 +09:00
Jaewoong Jung
66f94d57fe Merge "Install .idsig files to test suite dirs." am: 9150e7a65c
Change-Id: I366a89aeb051945145fdfc3ac3dabdae19ac7b53
2020-05-07 22:02:46 +00:00
Jaewoong Jung
9150e7a65c Merge "Install .idsig files to test suite dirs." 2020-05-07 21:48:07 +00:00