79 Commits

Author SHA1 Message Date
Inseob Kim
d05947dd12 Build product/odm build.prop with Soong
Bug: 322090587
Test: compare build.prop before and after, boot
Change-Id: Iab157cf313d62c1c95ef66dd0a2b9563ee60ab46
2024-08-08 17:48:43 +09:00
Inseob Kim
6dbd7eb601 Build system_ext build.prop with Soong
Bug: 322090587
Test: build and compare system_ext/etc/build.prop
Change-Id: I7b1af2e2b1fe7f107e1540d7b797c7bf489b8a0d
2024-08-05 12:50:01 +09:00
Inseob Kim
b97c96b4b3 Revert^6 "Use Soong-built system/build.prop"
0b2f48f0b2

Change-Id: I5d89d26945a3ab94f102633ccffa7622b5f99469
2024-07-31 02:00:41 +00:00
Inseob Kim
774a6dbbe8 Revert "Revert "Revert "Revert "Revert^2 "Add more variables for..."
Revert submission 3200273-revert-3196490-revert-3195812-revert-3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR-TUHZPHUVFJ-XYILSUPUOA-PCKYAVELZP

Reason for revert: fixed breakage with aosp/3200730, verified with ABTD

Reverted changes: /q/submissionid:3200273-revert-3196490-revert-3195812-revert-3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR-TUHZPHUVFJ-XYILSUPUOA-PCKYAVELZP

Change-Id: I19163de97c397b9c171362d221389a1d66a5712a
2024-07-31 02:00:41 +00:00
Liana Kazanova
dd3d5c1f3d Revert "Revert "Revert "Revert^2 "Add more variables for system/..."
Revert submission 3196490-revert-3195812-revert-3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR-TUHZPHUVFJ-XYILSUPUOA

Reason for revert: DroidMonitor: Potential culprit for b/356297315 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.

Reverted changes: /q/submissionid:3196490-revert-3195812-revert-3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR-TUHZPHUVFJ-XYILSUPUOA

Change-Id: Ic1c52133c80484b318f1ae72e2fd5b5fe199f9ab
2024-07-30 19:14:30 +00:00
Liana Kazanova
0b2f48f0b2 Revert^5 "Use Soong-built system/build.prop"
82b8062a90

Change-Id: I25acc66023397e67c009bea26623260f828fc0b9
2024-07-30 19:14:30 +00:00
Inseob Kim
82b8062a90 Revert^4 "Use Soong-built system/build.prop"
70e8a1233c

Change-Id: I27c7b4b1deee0e10416d9d53820e48a25f8e26f1
2024-07-25 10:58:08 +00:00
Inseob Kim
aaf50f6a43 Revert "Revert "Revert^2 "Add more variables for system/build.pr..."
Revert submission 3195812-revert-3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR-TUHZPHUVFJ

Reason for revert: fixed with aosp/3196490 and aosp/3196470

Reverted changes: /q/submissionid:3195812-revert-3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR-TUHZPHUVFJ

Change-Id: Id2da52a73f9791b3049c3fe60727bfb383180f14
2024-07-25 10:58:33 +00:00
Pechetty Sravani (xWF)
9a046515db Revert "Revert^2 "Add more variables for system/build.prop migra..."
Revert submission 3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR

Reason for revert: Droidmonitor created revert due to b/355379515. Will be verifying through ABTD before submission.

Reverted changes: /q/submissionid:3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR

Change-Id: Idaad375a3a34252b85169ee37ac97f1b02670cea
2024-07-25 09:21:09 +00:00
Pechetty Sravani (xWF)
70e8a1233c Revert^3 "Use Soong-built system/build.prop"
7fa37d8e04

Change-Id: I563eb2268623fafa16d6a9bd59f79d38268cd650
2024-07-25 09:21:09 +00:00
Inseob Kim
7fa37d8e04 Revert^2 "Use Soong-built system/build.prop"
44fe21d315

Change-Id: I105c8759dc47a52e16443550650edceae8d4e4fe
2024-07-25 03:27:49 +00:00
Inseob Kim
50061ea370 Revert^2 "Add more variables for system/build.prop migration"
2254142ec5

Change-Id: Iec3a7b1e65b551708faa6e4420566bfc9267c601
2024-07-25 03:27:49 +00:00
Inseob Kim
2254142ec5 Revert "Add more variables for system/build.prop migration"
Revert submission 3184480-system_build_prop_soong

Reason for revert: breaks ndk and mainline build 

Reverted changes: /q/submissionid:3184480-system_build_prop_soong

Change-Id: I9bea079d476ea28e83dbb356defa646e662ad830
2024-07-25 02:45:53 +00:00
Inseob Kim
44fe21d315 Revert "Use Soong-built system/build.prop"
Revert submission 3184480-system_build_prop_soong

Reason for revert: breaks ndk and mainline build 

Reverted changes: /q/submissionid:3184480-system_build_prop_soong

Change-Id: I3a04f39f3093e842e90947479cbe02bcfcd2ff14
2024-07-25 02:46:11 +00:00
Inseob Kim
63ea18a0c1 Use Soong-built system/build.prop
ADDITIONAL_SYSTEM_PROPERTIES and system related code in sysprop.mk and
sysprop_config.mk are removed since they are obsolete.

Bug: 322090587
Test: boot
Test: compare build.prop before and after
Change-Id: I4e5112b44c8446071e045813725b2364eb2f3ff1
2024-07-24 17:16:49 +09:00
Inseob Kim
78f9be7a4e Add more variables for system/build.prop migration
Bug: 322090587
Test: build
Change-Id: I499928ee2bdc53e654fd83b5ab5d609a3957ace6
2024-07-24 17:15:59 +09:00
Inseob Kim
06d22319d2 Revert^2 "Migrate buildinfo.sh script into Soong"
This reverts commit 54101665ee.

Reason for revert: Fixed build breakage

Bug: 322090587
Change-Id: I065a187bf5863cbb381b4f3308aae7b7200ffa6d
Test: compare build.prop before and after
Test: build multiple times and see build.prop isn't rebuilt
2024-03-27 05:19:56 +00:00
Gina Ko
54101665ee Revert "Migrate buildinfo.sh script into Soong"
Revert submission 3004875-buildinfo_prop_soong

Reason for revert: DroidMonitor-triggered revert due to breakage b/331462869

Reverted changes: /q/submissionid:3004875-buildinfo_prop_soong

Bug: 331462869
Change-Id: I02b125f10aaba538998dfe3a503ed2021405e8ae
2024-03-26 22:45:44 +00:00
Inseob Kim
6a35810856 Migrate buildinfo.sh script into Soong
To build system.img in Soong, we need all artifacts including
build.prop. This fully migrates buildinfo.prop file into Soong as a
first step to build build.prop on Soong.

Bug: 322090587
Test: compare build.prop before and after
Test: build multiple times and see build.prop isn't rebuilt
Change-Id: I0d5aab21a825cfe22f97a6834209f9df196625d9
2024-03-21 17:18:59 +09:00
Jiakai Zhang
53dd895407 Determine GC type based on BUILT_KERNEL_VERSION_FILE.
How it works:
1. build/make/core/Makefile generates a txt file with the kernel
   version, which is taken from an explicit BOARD_KERNEL_VERSION value,
   or extracted from the kernel image on the source tree, or extracted
   from the kernel image extracted from the prebuilt boot.img.
   The file is saved at
   $ANDROID_PRODUCT_OUT/obj/PACKAGING/check_vintf_all_intermediates/kernel_version.txt.
2. If PRODUCT_ENABLE_UFFD_GC is "default", meaning the GC type needs to
   be determined by the kernel version, build/make/core/Makefile copies
   kernel_version.txt to
   out/soong/dexpreopt/kernel_version_for_uffd_gc.txt.
3. build/soong/dexpreopt/config.go writes the the UFFD GC flag to
   out/soong/dexpreopt/uffd_gc_flag.txt. The flag is determined by an
   explicit PRODUCT_ENABLE_UFFD_GC value or by contruct_uffd_gc_flag.py,
   which reads kernel_version_for_uffd_gc.txt and determines the flag
   accordingly.
4. dex2oat takes the UFFD GC flag from uffd_gc_flag.txt.
5. post_process_props.py mangles ro.dalvik.vm.enable_uffd_gc based on
   the same logic.

Bug: 321751629
Bug: 319554951
Bug: 318763448
Bug: 319648491
Test: m --no-skip-soong-tests nothing
Test: atest uffd_gc_utils_test
Test: Build with `OVERRIDE_ENABLE_UFFD_GC=default m` for device with no
  UFFD support -
  1. Check the existence of `-Xgc:CMC` in
     out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.invocation
     (dex2oat invocation for a boot image)
  2. Check the existence of `-Xgc:CMC` in
     out/soong/.intermediates/packages/apps/Settings/Settings/android_common/dexpreopt/Settings/oat/arm64/package.invocation
     (dex2oat invocation for an app defined in .bp)
  3. Check the existence of `-Xgc:CMC` in
     $ANDROID_PRODUCT_OUT/obj/APPS/Dialer_intermediates/oat/arm64/package.invocation
     (dex2oat invocation for an app defined in .mk)
  4. Check the value of ro.dalvik.vm.enable_uffd_gc in
     $ANDROID_PRODUCT_OUT/product/etc/build.prop
Test: Build with `OVERRIDE_ENABLE_UFFD_GC=default m` for device with
  UFFD support, and do the steps above.
Test: Build with `OVERRIDE_ENABLE_UFFD_GC=true m`, and do the steps
  above.
Test: Build with `OVERRIDE_ENABLE_UFFD_GC=false m`, and do the steps
  above.

Change-Id: I8df6e5be1644da05d2d5c57b3520f29601dfd7a4
2024-02-01 22:10:33 +08:00
Master
08f6715f37 sysprop: Remove commits to void build break
Reason: while building it cause echo to break, and hence props are not set
Change-Id: I7bed0e01cc71cbe37888f9d407569f8e1477d0f2
2023-10-21 04:20:14 +00:00
Cole Faust
c874c70f45 Add extra variables to soong.variables
Also always use BUILD_NUMBER_FROM_FILE in the BUILD_FINGERPRINT.
The build number file now always exists, even if HAS_BUILD_NUMBER is
false.

Bug: 297269187
Test: m bazel_sandwich
Change-Id: Idf745b600b167e5cec161e07139be09a037bdc13
2023-09-27 13:44:56 -07:00
wufei3
99fafaec22 Remove the empty property of attestation.
In GSI images attestation specific properties
(ro.product.*_for_attestation) are empty, which causes attestation
failure on devices with different values in ro.product.* and
ro.product.vendor.* from actual values provisioned in Keymint.

Hence these values added only if they are set in build files.

Bug:294190893
Test: atest CtsKeystoreTestCases:android.keystore.cts.DeviceOwnerKeyManagementTest#testAllVariationsOfDeviceIdAttestation

Change-Id: Icaf1bcd089767b2c47d0b57064aa72a4c9483bb5
Signed-off-by: wufei3 <wufei3@xiaomi.corp-partner.google.com>
2023-08-16 15:39:29 +00:00
Tiffany Yang
b8306086d3 Merge "Make common signature system property definitions optional" into main 2023-07-12 18:35:37 +00:00
Tiffany Yang
19450e3a0b Make common signature system property definitions optional
This change allows ARC to define ARC-specific system properties in
Android build without changing these property definitions for other
Android builds. Please see go/arc-sigprop-changes and
go/arc-android-sigprop-sync for additional details.

Bug: 195609932
Test: built bertha_x86_64 with forward declarations
Change-Id: I22bd9d60c2491506fe5c633dbbb9e7516f529b35
2023-07-11 22:40:19 +00:00
Jeongik Cha
8a64fb1663 BF_BUILD_NUMBER should have BUILD_NUMBER
BF_BUILD_NUMBER has hostname by mistake during refactoring.

Bug: 286453356
Test: build with BUILD_NUMBER
Change-Id: Id3fd7975057dfd70dfb7c02650672e670c6d5984
2023-06-09 11:51:18 +09:00
Jeongik Cha
05210f96b3 BUILD_NUMBER and BUILD_HOSTNAME doesn't affect kati regeneration
* Extract BUILD_NUMBER, BUILD_HOSTNAME to file to avoid kati change
* Handle FILE_NAME_TAG_PLACEHOLDER string in dist in build/make/packaging/distdir.mk

Test: check if kati isn't invoked even though BUILD_NUMBER, BUILD_HOSTNAME
  is changed
Test: m && m, and check if the second m is no-op
Bug: 278060169
Change-Id: I1b37760242853c1a145bad255d0bb15524234b25
Merged-In: I1b37760242853c1a145bad255d0bb15524234b25
2023-05-23 07:14:22 +09:00
Wei Li
499333616c Generate SBOM of the target product in file sbom.spdx.json in product out directory.
Original aosp/2374663 was reverted, so this change cnotains the implementation but disabled by default and SBOM will not be built by default with "m dist".

The feature will be enabled later in small CLs after running tests successfully in forrest.

Test: m sbom
Test: m dist
Test: on aosp, lunch aosp_bluejay-userdebug && m dist
Bug: 266726655
Change-Id: I926d0f97f3a0330ef61d059f12ea660005d370e6
2023-03-14 15:14:06 -07:00
Bob Badour
1d31e2d776 Assert copyright on comments in file.
Test: m droid dist
Change-Id: I3caba054f44e1dcc9896fd4121c3d6a1a5139158
2023-03-01 10:31:25 -08:00
Prashant Patil
7d9cda1883 AOSP: Added new properties for attestation
Added new properties, which could be set for AOSP/GSI builds.
These properties are going to be used for attestation feature through
Build.java class. Earlier in AOSP builds attestation ids were different
from provisioned ids in Keymint. These properties will be identical to
provisioned ids.

Bug: 110779648
Bug: 259376922
Test: atest VtsAidlKeyMintTargetTest:PerInstance/NewKeyGenerationTest#EcdsaAttestationIdTags/0_android_hardware_security_keymint_IKeyMintDevice_default
Test: atest VtsAidlKeyMintTargetTest:PerInstance/NewKeyGenerationTest#EcdsaAttestationIdTags/1_android_hardware_security_keymint_IKeyMintDevice_strongbox
Test: atest CtsKeystoreTestCases:android.keystore.cts.KeyAttestationTest CtsKeystoreTestCases:DeviceOwnerKeyManagementTest

Change-Id: I9eea5e0f2fabc667b3efedeeefdf12e7b4fc9502
2023-01-24 16:47:54 +00:00
Yi-Yo Chiang
06c6273073 Remove deprecated BOARD_BUILD_SYSTEM_ROOT_IMAGE
This variable is always false or empty now, so clean up remaining
references of the variable.

Remove "buildvariant=" kernel commandline as it was used by
system-as-root kernels to determine the system build variant. It is
unsupported now.

Bug: 241346584
Test: Presubmit
Change-Id: I0f97b6e0bf8b03429f65366119ff78f9c7983516
2022-10-13 16:08:53 +08:00
Christopher Ferris
66b6fd6049 Add support for only starting 64 bit zygote.
Added code to support a single system image that can start the
64 bit zygote only, or both the 64 bit and 32 bit zygote. By
default, the system will default to 64 bit only.

For this image, all abilist properties are only present in the
vendor partition. All other copies of these properties are deleted.

Bug: 227482437

Test: Verified that secondary doesn't start with same disk image
Test: with ro.zygote set to zygote64 and abilists set appropriately.
Test: Verified that secondary does not start when restarting netd.
Test: with ro.zygote set to zygote64_32 and abilists set appropriately.
Test: Verified that secondary does start when restarting netd.
Test: Verified that a 64 bit device only starts the primary.
Test: Verified that a 32 bit device only starts the primary.
Change-Id: Ifc6413cecc4df8ba041699f7d0b10786d1926d64
2022-04-11 14:18:58 -07:00
Treehugger Robot
477b8e0561 Merge "Revert "Rename init_boot properties to ro.init_boot.*"" 2022-03-23 23:27:02 +00:00
Kelvin Zhang
8250d2cd9e Revert "Rename init_boot properties to ro.init_boot.*"
This reverts commit 411fac84d6.

Reason for revert: b/226318737

Change-Id: Ie1cf0e79b3ac11b91e031a479898a54856020500
2022-03-23 19:46:09 +00:00
Yi-yo Chiang
e5ed34824f Merge "Rename init_boot properties to ro.init_boot.*" 2022-03-22 09:13:32 +00:00
Bob Badour
70c07dda93 Notice files and non-module targets.
Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m nothing reportmissinglicenses

Change-Id: Icdb11d3c72b180cd02231e8dc98ae500d6566a98
Merged-in: Icdb11d3c72b180cd02231e8dc98ae500d6566a98
2022-03-16 05:57:41 -07:00
Yi-Yo Chiang
411fac84d6 Rename init_boot properties to ro.init_boot.*
Right now they're named ro.bootimage.* which is really confusing.
Change it so that if generic ramdisk is in boot.img, then name the
properties as ro.bootimage.*, otherwise if generic ramdisk is in
init_boot.img, then name the prop as ro.init_boot.*.

Bug: 211823573
Test: m dist
Change-Id: Icff3c7be04b9a3c6490fbf49ba4f05565b029890
2022-03-15 18:08:10 +08:00
Bob Badour
e9bdbc59f1 More non-module targets.
Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m alllicensemetadata reportmissinglicenses
Change-Id: Ifc4e3504edf3f48068ae88fe36c9f7660018dd5a
2022-03-10 11:31:07 -08:00
Colin Cross
a492544a03 Add PLATFORM_DISPLAY_VERSION
Add PLATFORM_DISPLAY_VERSION to version_defaults.mk that will propagate
to the ro.build.version.release_or_preview_display property and
be shown as the Android version for preview releases by Settings.

Bug: 221950960
Test: manual
Change-Id: I697cc59f77f92aa98a8a2573662797e6d3bd2042
2022-02-28 18:01:35 -08:00
Peter Collingbourne
0e3b095886 Change how we set ro.product.first_api_level.
The goal of this change is to cause ro.product.first_api_level to be
set in /system/build.prop in targets with PRODUCT_FULL_TREBLE=false
(which may be the case for targets without the usual set of
hardware interfaces, such as the mini targets being added in
https://r.android.com/1966051).

Setting ro.product.first_api_level is necessary for devices with newer
kernels to boot because it controls which metadata encryption format
is used, and an old format that is incompatible with new kernels is
used by default (see commit 4073c0b5241b635cb59e9e8a75ddcc783b5a99ce in
system/vold). There also appear to be e.g. bionic tests that check this
property. So it seems reasonable to set it even if PRODUCT_FULL_TREBLE
is false.

To begin with, stop adding it to ADDITIONAL_SYSTEM_PROPERTIES. There's
basically no point in adding it there because it will be filtered
out by the property blocklist for the system partition, whether
PRODUCT_FULL_TREBLE is true or false. This lets us remove the
blocklist entry, which causes ro.product.first_api_level to
appear in /system/build.prop via ADDITIONAL_VENDOR_PROPERTIES on
PRODUCT_FULL_TREBLE=false targets.

Bug: 217455793
Change-Id: I8c07baf9d308ea734ffed5d9b1776b60cdbf3435
2022-02-18 20:03:10 -08:00
satayev
2d94586cff Introduce ro.build.version.known_codenames sysprop.
It defines values for Build.VERSION.KNOWN_CODENAMES constant, and should
contain all codenames starting from Q, including current codename
for in development branches.

Bug: 211747008
Test: presubmit
Change-Id: If8995750e369ba39bfc7041580c21b2f96632a78
2022-02-11 13:20:49 +00:00
Ramji Jiyani
13a4137929 core & tools: system_dlkm: add dynamic partition
Converts existing static partition support to a
dynamic partition.

Bug: 200082547
Test: TH
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Ifd6d0c2a04e947b16f8b241e99cca594a1d315ae
2022-01-30 08:43:08 +00:00
Hidefumi Kaneko
b09a36c8eb Fix typo for ODM prop files
_prop_files is missing a trailing _

Bug: 195034733
Test: manual - check that expected prop files are in the image
Change-Id: Ie042acc74fa56d5515cacd5f41ddc0f82d74f20c
2021-07-30 12:07:40 +02:00
Inseob Kim
2a70ea0dce Remove redundant dependency to API_FINGERPRINT
API_FINGERPRINT is only used from buildinfo.prop.

Bug: 188068953
Test: build
Change-Id: I4804d3e61d0bac83c59c54751209bf47404e3a31
2021-06-09 17:36:08 +09:00
Tianjie
9797623c2a Don't set the build id if we need to append the digest
Background in http://go/compatible-build-fingerprint. If we want
to append unique vbmeta digest to build id, we cannot setup the
prop value at build time. Instead, set the old value as
ro.build.legacy.id; and let init set ro.build.id at runtime.

Bug: 186786987
Test: build a target file with the flag on
Change-Id: Ie139725bb7e5c65bd3f28f43b9975ba48ee10354
2021-05-06 00:32:56 +00:00
Justin Yun
07ceaa71c1 Use BOARD_API_LEVEL to define ro.board.api_level
GRF devices must define the API level of which the SoC is first
shipped by setting BOARD_SHIPPING_API_LEVEL. As this is a permanent
value, vendors may not change this value even if they implement new
features under the GRF policy.

BOARD_API_LEVEL can be optionally defined in this case to manually
set the api level of the vendor implementation.
The current api level will be set to `ro.board.api_level` property.

Bug: 176950752
Test: atest --host post_process_props_unittest
Change-Id: Ib126c1a622ded9848650f3f60c0f15005867272d
2021-04-06 16:33:07 +09:00
Donghyun Jo
8c65ef6574 Fix typo in sysprop.mk and Changes.md
android_info_pro -> android_info_prop
partititon -> partition
PRODUCT_SYSTEM_PROPERITES -> PRODUCT_SYSTEM_PROPERTIES

Test: build and manual test

Signed-off-by: Donghyun Jo <donghyun.jo@samsung.com>
Change-Id: I0b7f0566aaa5ce8844003bb4f373389c20ddeb88
2021-03-02 08:51:03 +09:00
Treehugger Robot
d041e4babf Merge "Make ro.product.cpu.abilist.* to be fetched dynamically" 2021-01-14 18:34:22 +00:00
SzuWei Lin
baf5c8114b Make ro.product.cpu.abilist.* to be fetched dynamically
The patch rename the original ro.product.cpu.abilist* to
ro.system.product.cpu.abilist*. The property service will
define ro.product.cpu.abilist* by the intersect ABIs of
ro.{partition}.product.cpu.abilist*.

Bug: 176520383
Test: build aosp_arm64-userdebug and check the system/build.prop
Change-Id: I26e404632b28e9f6abd462920e0084ad2022a763
2020-12-31 16:59:27 +08:00
Oleksiy Avramchenko
d3d0f7d62e Skip generate-common-build-props for older devices without /product
Common ro.product properties are always generated for the
product partition, even if it is not present. This was introduced
for the R release with Ia88c8efecb18db9c27baa466e492bfd898b581d3
"Generate product build props always" commit.

It violates CDD requirements for the devices which were released
earlier. Add optional parameter to build-properties which allows to
skip the common properies generation and product partition specific
checks to make sure common properties are not generated for
the devices released before R and without product partition.

Test: manual, build product/etc/build.prop for shipping levels 28, 30
      and for the devices with and without product partitions
Bug: 174677451
Change-Id: Ia3275d7229d0a873e0a4f1d1ea7a25c758c85bb9
2020-12-18 00:53:20 +01:00