Commit Graph

9578 Commits

Author SHA1 Message Date
Marybeth Fair
2610f480aa Merge "Add a function to fingerprint flag/offset info." into main 2024-09-04 15:37:59 +00:00
Marybeth Fair
df1b7d1d81 Add a function to fingerprint flag/offset info.
Uses SipHasher implementation added to the project. Ideally the output
would remain consistent between builds (though the worst case of an
updated algorithm would be a string lookup for cross-container reads
only).

Sort the flags first so everything is always added to the hasher in the
same order - note this code is only run at build time, not runtime.

Next step is to write this fingerprint into the package.map file and
introduce a flag to guard this change.

Bug: 316357686
Test: atest aconfig.test
Change-Id: Ie5f34541d982dfa120ffb05fc0790603689d47c0
2024-09-03 16:24:51 -04:00
Treehugger Robot
36a352cd02 Merge "aconfig: Use LazyLock rather than lazy_static" into main 2024-09-03 16:56:06 +00:00
Andrew Walbran
d3878575ac aconfig: Use LazyLock rather than lazy_static
Now that we have Rust 1.80 LazyLock is available in the standard library
so we no longer need to use external crates such as lazy_static.

Bug: 364211748
Test: atest aconfig.test
Test: atest aconfig.prod_mode.test.rust
Test: atest aconfig.test_mode.test.rust
Test: atest aconfig.force_read_only_mode.test.rust
Change-Id: If2862eaf20065c118daa9fc51e9fb403b99dada3
2024-09-03 17:01:49 +01:00
Zhi Dou
9c85770aa4 java reader reads directly from map
This commit changes java reader to directly read the flag value from the
map file instead of load the entire file.

Change-Id: Icee42d99506894da1e3e32a31c6554895719de7b
Test: atest aconfig_storage_read_api.test.java aconfig_storage_file.test.java
Bug: 352078117
2024-08-30 18:49:07 +00:00
Priyanka Advani (xWF)
29c7842c02 Revert "Support incremental dev option OTA during signing"
This reverts commit 5fcaa1f635.

Reason for revert: Droidmonitor created revert due to b/363090380.

Change-Id: I366b12a303190f73e6ac16a1fcff83b1e16ebf2d
2024-08-30 00:33:08 +00:00
Kelvin Zhang
5fcaa1f635 Support incremental dev option OTA during signing
This allows incremental dev option to be used on release-key devices.
Boot images are signed during the signing process, and hence the dev
option OTAs(which are derivative of boot image) need to be re-generated.
Previously we only re-generate full OTAs, now we support incrementals
too.

Test: th
Bug: 339658378
Change-Id: I4755379b49ff8adf351ccaf76fe38f19c1685e9e
2024-08-29 13:38:45 -07:00
Treehugger Robot
d713353ab8 Merge "aconfig Rust: Support huge list of flags" into main 2024-08-29 14:46:45 +00:00
William Escande
a8454c30ed aconfig Rust: Support huge list of flags
Test: m libbluetooth_aconfig_flags_rust
Test: atest aconfig.prod_mode.test.rust
Test: atest aconfig.test_mode.test.rust
Test: atest aconfig.force_read_only_mode.test.rust
Test: atest aconfig.test
Bug: 311772251
Bug: 362773105
Change-Id: I48e268fc783e491a045d1bb6298c2b3c87045722
2024-08-28 16:52:56 -07:00
Treehugger Robot
d53df1b115 Merge "Implement SipHasher" into main 2024-08-28 17:34:42 +00:00
Zhi Dou
bca30dd13f Implement SipHasher
This change implements SipHasher in rust and java to make sure same
bytes array will be hashed into the same u64.

The implementation is needed, thus when rust, and java code read the
same flag file, they can find the same entry based on the same key.

Test: atest aconfig_storage_file.test.java aconfig_storage_file.test.cpp
Bug: 352078117
Change-Id: I2ce470039213a09a1df7637e60f4649b053fb2ea
2024-08-28 16:02:42 +00:00
Justin Yun
0fa47f4a54 Update diff allowlist for soong system image build
We already resolved files in system etc.
Remove them from the allowlist.

Bug: 346873717
Test: lunch aosp_cf_x86_64_phone-trunk_staging-userdebug && m
Change-Id: Ia38796aebe0e2e9a5d55e16f9c509c68214f687f
2024-08-28 06:22:25 +00:00
Spandan Das
03b680d4ba Merge "Remove some files from packaging allowlist" into main 2024-08-26 23:26:10 +00:00
Spandan Das
0e695737e4 Remove some files from packaging allowlist
These files are symlinks. With https://r.android.com/3200722, these
should be available in the soong built system image.

Test: presubmits
Change-Id: I4acb05ed8498dc8b7aac76e4c91b9173ed3d6574
2024-08-26 21:29:24 +00:00
Treehugger Robot
1dbf5fb045 Merge "Revert "Fix problem of RepackApexPayload when using option --signing_args"" into main 2024-08-26 16:47:43 +00:00
Aaron Homer
58992a6052 Revert "Fix problem of RepackApexPayload when using option --signing_args"
This reverts commit 5ebc4febe6.

Reason for revert: This is causing the signing args to be improperly passed to apexer, treating them as if they are not specified as all.

Change-Id: Ifa0f8444a4a1871802316511b0ff0735f3350b2c
Bug: 361784913
2024-08-26 15:21:26 +00:00
Zhi Dou
99023d6160 Remove local copy of the flag file
This change removes the local copy of the flag file in PackageTable, and
FlagValueList.

PackageTable copied the entire flag file into memory, and the
FlagValueList copied the entire flag value list into memory. In this
change FlagValueList directly access the flag value list in the memory.
PackageTable will iterate the file, and find the target package node.

Change-Id: Id766c28b71a54290b266cc5f3f404f5c82590da2
Test: atest aconfig_storage_file.test.java aconfig_storage_read_api.test.java
Bug: 352078117
2024-08-22 19:56:48 +00:00
Treehugger Robot
2f0d0b861b Merge "Fix problem of RepackApexPayload when using option --signing_args" into main 2024-08-22 18:01:13 +00:00
Treehugger Robot
939326d3be Merge "Re-generate 4K boot OTAs using signed boot.img during signing process" into main 2024-08-22 17:09:06 +00:00
Kelvin Zhang
b707ea0206 Re-generate 4K boot OTAs using signed boot.img during signing process
Currently, dev option OTAs are generated using dev-key signed boot.img
On release-key devices, OTA will install successfully, but user would be
using dev-key signed boot image after reverting to 4K mode, and
subsequent OTAs would fail. This CL re-generates 4K boot OTA using
release-key signed boot.img , which allows normal OTAs after toggling
dev options.

Test: th
Bug: 354019928
Change-Id: I40811d6ed7a37f50edea77d245bf559b66da5a71
2024-08-21 10:36:57 -07:00
Jerome Gaillard
c97c0b4a7c Add overlay files to layoutlib res.zip
This adds resource overlay files to the res.zip file created by
layoutlib_data.mk. This also updates the script generating the
corresponding SBOM file.

Bug: 335355919
Test: m layoutlib
Change-Id: I2427be23720324eb03bd428d220b8777e3bf49bb
2024-08-20 13:37:41 +01:00
Hieu Nguyen
5ebc4febe6 Fix problem of RepackApexPayload when using option --signing_args
The apex_util -> deapexer transition still passes signing args in as 1
huge string, just without the double qoutes. Once deapexer receives
the arugment, deapexer would attempt to shlex it, but double
quotes prevents proper shlexing, hence remove the double quotes.
As we added to log to monitor args parser when run apexer from
RepackApexPayload

2024-07-30 12:42:03 - common.py - INFO    :   Individual args list:
['/home/hieu/aosp/out/host/linux-x86/bin/apexer', '--force',
'--payload_only', '--do_not_check_keyname', '--apexer_tool_path',
'/home/hieu/aosp/out/host/linux-x86/bin:/home/hieu/aosp/out/host/linux-x86/bin:/home/hieu/aosp/out/host/linux-x86/bin:/home/hieu/aosp/prebuilts/clang/host/linux-x86/llvm-binutils-stable:/home/hieu/aosp/prebuilts/asuite/acloud/linux-x86:/home/hieu/aosp/prebuilts/asuite/aidegen/linux-x86:/home/hieu/aosp/prebuilts/asuite/atest/linux-x86:/home/hieu/aosp/prebuilts/jdk/jdk17/linux-x86/bin:/home/hieu/aosp/build/bazel/bin:/home/hieu/aosp/development/scripts:/home/hieu/aosp/prebuilts/devtools/tools:/home/hieu/aosp/prebuilts/misc/linux-x86/dtc:/home/hieu/aosp/prebuilts/misc/linux-x86/libufdt:/home/hieu/aosp/prebuilts/android-emulator/linux-x86_64:/home/hieu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files/WindowsApps/MicrosoftCorporationII.WindowsSubsystemForLinux_2.2.4.0_x64__8wekyb3d8bbwe:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/7-Zip:/mnt/c/Users/hnguy140/AppData/Local/Microsoft/WindowsApps:/snap/bin', '--manifest', '/tmp/tmpjk8as91m/apex_manifest.pb', '--build_info', '/tmp/tmpjk8as91m/apex_build_info.pb',
'--key', 'key_dir/avb.pem',
'--signing_args', '--signing_helper_with_files external/fnv/production-sign-tools/production-signing-scripts/IVIMB/signing_helper/avb_signing_helper.py',
'/tmp/tmpji2gvei4', '/tmp/tmpjk8as91m/apex_payload.img', '-v']

As monitor from the above log '--signing_helper_with_files
.../avb_signing_helper.py' is considered as a single argument which make
apexer to be confused. The correct ways of parsing arguments is
'--signing_helper_with_files' and '.../avb_signing_helper' should be
separate to 2 arguments instead merge it as one like current
implementation.

Change-Id: I913b6b3f2ff03d8ce2333b1c2c38178967766778
Signed-off-by: Hieu Nguyen <hnguy140@ford.com>
2024-08-16 17:43:08 +00:00
Jooyung Han
113f1f5c7e Merge "Add /odm/apex/ support." into main 2024-08-16 03:46:57 +00:00
Ted Bauer
91458b4cd4 Merge "Parse protos in library" into main 2024-08-15 22:15:19 +00:00
Ted Bauer
6f12acb0da Parse protos in library
Bug: 342636474
Test: m
Change-Id: I4934fa2332b00084f73453945d6b4743566f6e48
2024-08-15 21:04:28 +00:00
Jihoon Kang
0c26850dba Merge "Specify is_stubs_module property in selected aconfig library modules" into main 2024-08-15 16:45:16 +00:00
Jooyung Han
1e45baff6b Add /odm/apex/ support.
We now allow APEXes in /odm.

Bug: 162049873
Change-Id: I2af97504a8d6159e778f8f833335db49beee6873
2024-08-15 07:38:17 +00:00
Jihoon Kang
48f2b22b45 Specify is_stubs_module property in selected aconfig library modules
"fake_device_config" and "strict_mode_stub" provide stubs and do not
contain any implementation details. Specifying the property
"is_stubs_module" to these modules allow inter-container dependency on
these modules.

Test: m nothing
Bug: 354029496
Change-Id: Ia65ad36ca02c0594fc753935f9cc7c0af6caa20d
2024-08-14 22:23:08 +00:00
JaeMan Park
b3795b7933 Fix build error while creating CHD image
While building CHD image, it failed with the error

KeyError: 'system_dlkm_base_fs_file'

Fix the build error by deleting proper props in the python code.

Bug: 359578756
Test: Building CHD image using build_cf_hybrid_device.py should not failed
Change-Id: Iae84ff080b8f6bf3b8d22b26865ea3e74815ac37
2024-08-14 14:11:15 +09:00
Treehugger Robot
bdaf14f9e2 Merge "Only read the use_new_storage_value flag once per process." into main 2024-08-13 19:02:08 +00:00
Ted Bauer
f51e1dd28d Only read the use_new_storage_value flag once per process.
Change-Id: Ib088fbcc2283718a309097c7c45fb01d5a983a25
Test: m
Bug: 312235596
2024-08-13 17:16:04 +00:00
Jooyung Han
67911682c2 target-files: Support erofs_compress_hints
erofs_compress_hints files should be copied into target-files and then
sign_target_files_apks should use them from the target-files.

Bug: 357721652
Test: m target-files-package (with aosp/3204257)
Test: sign_target_files_apks <target_file> signed-target-files.zip
Change-Id: Id55000004ecb72ea8fec19bfbe144c9b4d3f06cb
2024-08-09 08:27:19 +09:00
Zhi Dou
8ee1a5b785 DO NOT MERGE: manually cherry pick
Change-Id: I47b6d783f32b7c260dd806898ed880901b5f784b
Test: presubmit
Bug: n/a
2024-08-07 18:51:23 +00:00
Treehugger Robot
70270692d0 Merge "Read from new storage in Java codegen" into main 2024-08-06 21:16:42 +00:00
Ted Bauer
06560bed93 Read from new storage in Java codegen
Change-Id: I8baa089f37dcc496096e124d605f08727647053c
Test: m
Bug: 312235596
2024-08-06 19:34:33 +00:00
Zhi Dou
f5f5992893 change thread policy to allow read disk
Bug: 356614910
Test: presubmit
Change-Id: I65cc2cbd5e17b1ee93e64d8b20e53c42547c985a
2024-08-06 18:58:45 +00:00
Zhi Dou
8af83ccd50 change fileinputstream to filechannel
The restrict mode doesn't allow to have disk read from main thread. Some
apps enabled this check. The code in the dependencies of the
fileinputstream. This chagne switch to filechannel.

Test: presubmit
Bug: 356614910
Change-Id: Icf2175fe75ed1bfad4a048ead680b08e57d6c2ca
2024-08-03 00:08:40 +00:00
Yurii Zubrytskyi
7575d3f967 Merge "Revert^2 "Fix signing failure for split APKs"" into main 2024-08-01 15:59:31 +00:00
ELIYAZ MOMIN
10e47e3723 Revert^2 "Fix signing failure for split APKs"
This reverts commit d06e5a83ba.

Reason for revert: <It's not a culprit any more.>

Change-Id: I405c418e6da88774b174fcb3508eb54039fbdf8e
2024-08-01 15:43:31 +00:00
Treehugger Robot
80a07d6870 Merge "Added a basic prober script to test code completion." into main 2024-08-01 12:00:01 +00:00
ELIYAZ MOMIN
8a3f6256fc Merge "Revert "Fix signing failure for split APKs"" into main 2024-08-01 10:19:11 +00:00
Ilshat Aliyev
8e13493d4d Added a basic prober script to test code completion.
Run tests locally

Change-Id: Id8b8b6b4d9b1fae9d7cd5f04a20c239628351b16
2024-08-01 08:11:45 +00:00
Pechetty Sravani (xWF)
d06e5a83ba Revert "Fix signing failure for split APKs"
This reverts commit 6871779d9b.

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

Change-Id: I4c29b27f0318901130036dbe8ab9edef37f08875
2024-08-01 05:54:13 +00:00
Treehugger Robot
787d933f87 Merge "Fix signing failure for split APKs" into main 2024-07-31 21:06:37 +00:00
Kelvin Zhang
6871779d9b Fix signing failure for split APKs
Test: th
Bug: 353837347
Change-Id: Ifed9746c1e1d053a97860de3bab4380d6e207412
2024-07-31 10:36:47 -07:00
Zhi Dou
3d960c5638 Merge "aconfig: make java cached indicator volatile" into main 2024-07-30 23:35:45 +00:00
Zhi Dou
97d02148b9 close file stream
Close file stream, since the in the restrict mode the runtime will check
whether all the resource is closed when it is out of scope.

Test: ABTD ImsStackJavaTests
Bug: 349874828
Change-Id: Ib297622bae730bf99e4d5d1b3adeff3fee805a93
2024-07-30 19:05:14 +00:00
Zhi Dou
36589bc318 aconfig: make java cached indicator volatile
Test: atest aconfig.test.java
Bug: 356201402
Change-Id: I1127a4092536fe199f4a7256dea0c2b289e837da
2024-07-30 18:21:43 +00:00
Zhi Dou
5228a6f4a2 Merge "read new stoarge based on flag value" into main 2024-07-29 13:26:35 +00:00
Zhi Dou
66ff40c08a read new stoarge based on flag value
This change changes the logic to read the flag value from new storage.
Before it check the existence of a file. Not it will directly check the
flag value from DeviceConfig.

Test: m and presubmit
Bug: 349874828
Change-Id: I4a360564a3b48564057eede9bd893899136b3221
2024-07-26 22:46:47 +00:00