SELinux policies have become stricter, this updates the emulator SELinux
rules to accomodate these changes. It also adds rules for the new
createns command with the accompanying execns changes that are needed
to work with an updated filesystem layout.
BUG: 74514143
Test: Compile emulator images and verify that WiFi works
Change-Id: I4b58cea681a1e41b0cb7368e1c696f74ce28f871
Use the new emulator WiFi HAL. This is specified by the
BOARD_WLAN_DEVICE setting. This also requires that the wifi HAL service
is included.
BUG: 74514143
Bug: 68338427
Test: run cts -m CtsIncidentHostTestCases -t
com.android.server.cts.BatteryStatsValidationTest#testWifiDownload
Change-Id: Ib59550b6cfba1e2e8686a5c805cd6b3913e8508e
(cherry picked from commit 23073c6ee33eca56f1ae0c45615b87ec9aec712e)
(cherry picked from commit 2d51c9b2bf0774ac46837a93181c83329e6fc662)
Make sure files go in the right location on the vendor partition instead
of system or data. Also add the wificond package which is now needed for
WiFi to work.
BUG: 74514143
Test: Compile and manually test that WiFi is working
Change-Id: I7ea376bb1a23bb830f1ab3e4912799ec5e82e9bd
(cherry picked from commit 82dbefe40b9110b8171ff978d65f0caf0b395da7)
(cherry picked from commit ee5b4a90c41aec32d578f0fe6a3d323306cef796)
Update SELinux permissions to work with Treble and the much stricter
SELinux rules.
BUG: 74514143
Test: Compile and manually test that WiFi is working
Change-Id: Ic0a6417fb4fed1597fee70367924e5d59f37e725
(cherry picked from commit 37d7bc2adcc4bfd4c0f03dcddf1c7fbd31e87a4f)
(cherry picked from commit 1b0158a4ab6ca4f05b4b186ec3a080c689492b58)
Add the dhcpclient and dhcpserver binary files to the makefile and
file_contexts and give them the appropriate SELinux permissions to run.
BUG: 74514143
Test: Build emulator image and manually verify WiFi functionality
Change-Id: Ia472ef4c86c9b6ba967c0fc7443db607aed1e485
(cherry picked from commit 917bda2587d219e35404a298c05a7179519815c1)
(cherry picked from commit 87b9f937113801b50612863cb13e6391cc1f3105)
(cherry picked from commit 760a19890ac99144f6b143015c36e7aaa3797c73)
Set the required parameters in BoardConfigs to allow WiFi to work on
remaining architectures. Also update SELinux policy needed to make WiFi
work on arm and arm64. This was not required on x86 but refused to work
on arm without these changes.
BUG: 74514143
Test: Build emulator image and manually verify WiFi functionality
Change-Id: Ic645ccf7249f84ae0320770b0ef7b1b6102b7b14
(cherry picked from commit 6d28bfbeefea8fe1919ff0987ae3d935d974dc6d)
(cherry picked from commit 023a7ba64bd3b189a148ad388606ca5747ea20b1)
(cherry picked from commit 9c9cefdafbae50c0e371c30bcccb98a8b7697e98)
Add required SELinux permissions to run services required for WiFi and
network namespaces. Add required executables and files required to run
WiFi services such as hostapd to create an access point and
wpa_supplicant to connect to it.
BUG: 74514143
Test: Build emulator image and manually verify WiFi functionality
Change-Id: I38461b878abcaae842b4656dea82792e23100174
(cherry picked from commit 21c5c3dcf91b1be71abe8618e2eb31529438e325)
(cherry picked from commit 68a36140f7a3a766b8adc16cd85c2f0c81bfb44b)
(cherry picked from commit e6dab593b8eebccb1e6311e626c8aca943ba6933)
The following is a buggy pattern that won't capture anything into err.
The issue is benign, since a failed run would be eventually captured by
a subsequent check.
p = Run(["aapt", ...], stdout=subprocess.PIPE)
output, err = p.communicate()
if err:
raise ...
This CL changes the error detection to be based on the return code from
aapt. It also adds some sanity test to ensure the call to aapt works.
The test app is built from AOSP com.android.cts.ctsshim (chosen mostly
because of its small size).
Test: python -m unittest test_common
Change-Id: I337f141bd0fc5f0801dfc628c601b88b7640789c
For the functions in common.py, capture the stdout/stderr outputs when
shelling out to external tools. Dump the outputs on errors.
Bug: 76123422
Test: Inject errors to signapk.jar / brotli / unzip. Check the outputs.
Change-Id: Ib2d4272528b83a50bb727788cf8a5211e2ddade8
build_image.py used to invoke build_verity_metadata.py with a hard-coded
path of 'system/extras/verity/build_verity_metadata.py', which makes it
hard to run unittests from non-$(ANDROID_BUILD_TOP) directory.
This CL adds the dependency on the tool, so that it gets installed to
$(HOST_OUT_EXECUTABLES), then removes the hard-coded path.
Bug: 74544459
Bug: 76015688
Test: `m dist`
Test: python -m unittest test_validate_target_files
Change-Id: I0dcf4eb067a0db6f099cb589eb99a151a05c7f2b
* changes:
Add asan-specific CleanSpec
Use a srcjar for aapt and aapt2 output
Move R.txt and make aapt2 generate it
Move aapt2.mk before java.mk
Remove redundant renderscript_target_api computation
Move java renderscript support to java_renderscript.mk
Use srcjar and resource zip as output of renderscript rules
* changes:
Add asan-specific CleanSpec
Use a srcjar for aapt and aapt2 output
Move R.txt and make aapt2 generate it
Move aapt2.mk before java.mk
Remove redundant renderscript_target_api computation
Move java renderscript support to java_renderscript.mk
Use srcjar and resource zip as output of renderscript rules
Adds Make support for -fsanitze-minimal-runtime when using
the integer overflow sanitizers. This makes the crashes due to these
sanitizers less mysterious. This also cleans up the handling of the
integer_overflow flag.
Bug: 64091660
Test: Compiled and checked the generated compiler commands
Test: Checked program that overflows for the abort reason
Test: Checked integer_overflow flag still emits overflow checks
Change-Id: I11012ed0cbbf51935f549a08bd17109b5ce6f330
Merged-In: I11012ed0cbbf51935f549a08bd17109b5ce6f330
(cherry picked from commit 911cb99bc1)
* changes:
Remove framework_res_package_export_deps
Replace extract_srcjars.sh with zipsync
Allow compiles with only srcjars
Allow aapt2 rules to take zipped resource files
Add LOCAL_SRCJARS support
Remove unused .fs file suppport
Remove unused file lists
Remove sharding support from make
Move aapt flags from java_common.mk to aapt_flags.mk
Remove missed PRODUCT_AAPT_FLAGS
Bug: 64240127
Test: normal boot and recovery boot a device
Change-Id: I475d2eef96d2091291b56410f403f14dd3292faa
Merged-In: I475d2eef96d2091291b56410f403f14dd3292faa
(cherry picked from commit 9967125332)
In FinalizeMetadata and PropertyFiles, we need to reserve space between
the calls to Compute() and Finalize(). We used to put a 10-byte
placeholder, in the hope of covering the 'offset:length' space for the
metadata entry, as well as the possible value changes in other entries.
However, this could fail in two possible cases: (a) metadata entry
itself has a large offset (e.g. staying near the end of a 1-GiB package,
where the offset itself has 10-digit); or (b) the offsets for other
entries change substantially due to entry reordering. Note that for case
(b), it's space inefficient to always reserve 15-byte for _each_ token
in the property-files.
This CL handles both of these two cases. For (a), we bump up the 10-byte
to 15-byte, which is large enough to cover a package size up to 10-digit
number (i.e. ~9GiB) with a metadata entry size of 4-digit. All these
15-byte will be used for the metadata token alone.
For (b), we add a fallback flow that would retry one more time, but
based on the already signed package that has entries in desired order.
Bug: 74210298
Test: python -m unittest test_ota_from_target_files
Test: Generate aosp-bullhead full OTA with '--no_signing' flag.
Change-Id: If20487602d2ad09b3797465c01972f2fa792a1f1
(cherry picked from commit 3bf8c65029)
In P, the root of the system image is used as the root of the
device, so all device (or vendor) spicific files need to be
moved to vendor partition. Relevant configuration files need to
be modified accordingly.
Bug: 76037265
Test: m -j; emulator # booted to home screen and
# checked fstab.ranchu is under vendor/etc
Change-Id: I88bfdbc1d7791f6afb64edf352b4898a50b41190
Old droiddoc will install the *-docs.zip & API files to the dist.
And also remove INTERNAL_PLATFORM_*API_FILE variables from config.mk and
get rid of the dependencies on api-stubs, system-api-stubs, test-api-stubs
timestamp.
Test: m -j api-stubs-docs
Bug: b/70351683
Change-Id: I08923bb5f62d2f55961d9a2865723d7b3fae7206
Merged-In: I08923bb5f62d2f55961d9a2865723d7b3fae7206
ASAN builds run as two consecutive builds. The cleanspec is applied by
the first one, which cleans the obj directory, and ignored by the
second. This can result in old entries in the obj_asan directory.
Bug: 73885582
Test: obj_asan dirs are deleted
Change-Id: I54b8ec9cff581fcd9ec2a843aa7126805340c387
Merged-In: I54b8ec9cff581fcd9ec2a843aa7126805340c387
(cherry picked from commit 4e2da3277a)
framework_res_package_export is now always either the prebuilt
android.jar from an SDK or a package-export.apk generated by
Soong, so the dependency on R.stamp is never useful. Remove
all assignments to framework_res_package_export_deps, and replace
usages with frameworks_res_package_export.
Bug: 73885582
Test: m checkbuild
Change-Id: If484e9eb08061cb0ed0697755f13db71d741aaab
Merged-In: If484e9eb08061cb0ed0697755f13db71d741aaab
(cherry picked from commit 6e136922f3)
Dumping files in the *_intermediates/src causes incremental build
problems, because we don't know when to delete them if they are
no longer generated. Switch to outputting a srcjar instead, and
pass it in to the turbine and javac compiles.
Bug: 73885582
Test: m checkbuild
Change-Id: Ibef28507522339d930c09426d0c98372eb864cb6
Merged-In: Ibef28507522339d930c09426d0c98372eb864cb6
(cherry picked from commit 2d1cddd567)
Use zipsync instead of extract_srcjars.sh.
Also fixes an issue where unzipping a resource zip would
ignore anything that wasn't a *.java file.
Bug: 73885582
Test: m checkbuild
Change-Id: I1c25f65afa196614879071c8655866febebac185
Merged-In: I1c25f65afa196614879071c8655866febebac185
(cherry picked from commit 3f99cd5933)
Move R.txt from $(intermediates.COMMON)/src to $(intermediates.COMMON)
in preparation for moving aapt/aapt2 java files out of src. Also
make aapt2 generate R.txt, and make it an implicit output of the rule
and and input to the aar rule.
Bug: 73885582
Test: m out/target/common/obj/JAVA_LIBRARIES/SettingsLib_intermediates/javalib.aar
Test: m checkbuild
Change-Id: Ia858de226355965b69794c002f841333df16a612
Merged-In: Ia858de226355965b69794c002f841333df16a612
(cherry picked from commit 7c24f8ec85)
Some javac and turbine compiles have no source files but sources
from srcjars. Continue with compilation if the java source list
is empty but the srcjar source list is not.
Bug: 73885582
Test: m checkbuild
Change-Id: Ica412de2dd1b1bfc12c01c3eafca884220d42771
Merged-In: Ica412de2dd1b1bfc12c01c3eafca884220d42771
(cherry picked from commit 0c0adb993c)
aapt2.mk will export a srcjar that will be compiled by java.mk, so
it needs to be evaluated first. Also move java_renderscript.mk
before aapt2.mk so that the generated resoures are available.
Bug: 73885582
Test: m checkbuild
Test: rm -rf out/target/common/obj/APPS/RsHelloCompute_intermediates &&
m out/target/common/obj/APPS/RsHelloCompute_intermediates/src/R.stamp
Change-Id: Ide3050ec993a945f7077b75e952c3b3532306ede
Merged-In: Ide3050ec993a945f7077b75e952c3b3532306ede
(cherry picked from commit 8528eabbba)
Allow aapt2 rules to take zipped resource files similar to the
way the javac rules take srcjars. For now, unzip the files using
extract_srcjars.sh, and then use aapt2 compile --dir. Eventually
it could be done with aapt2 compile --zip.
Bug: 73885582
Bug: 74574557
Test: m checkbuild
Change-Id: I97ea3ff305e7a9ef2a908b4cf0bca903af62c6b1
Merged-In: I97ea3ff305e7a9ef2a908b4cf0bca903af62c6b1
(cherry picked from commit bc0c494d3a)
renderscript_target_api is set by java_renderscript.mk, it doesn't
need to be computed again in static_java_library.mk and
package_internal.mk.
Bug: 73885582
Test: no change to ninja file
Change-Id: Ib6e00be425c385f4911def19ed5042a740f2c79b
Merged-In: Ib6e00be425c385f4911def19ed5042a740f2c79b
(cherry picked from commit 55cce23360)