From a79a6eba31fdcecccf939e412f64507102bb4f22 Mon Sep 17 00:00:00 2001 From: Roland Levillain Date: Fri, 20 May 2022 00:05:07 +0100 Subject: Disable symlink optimizations in the Testing ART APEX. Because the Testing ART APEX (`com.android.art.testing`) is non-updatable, some of its native shared libraries (implicitly added as dependencies) -- shared with the platform (currently, `libbacktrace`, `libbase`, `libc++`, `libcrypto`, `liblz4`, `liblzma`, `libmeminfo`, `libprocinfo`, `libunwindstack`, and `libziparchive`) -- are eligible to the symlink optimization (b/144533348). As we want this APEX to be self-contained (for testing purposes), we want to package these dependencies in this APEX (instead of symbolic links to their counterparts on the `system` partition, which may not even exist, as in the case of `libbacktrace`). Marking this APEX as "future updatable" disables all symlink optimizations for it. Note that the symlink optimization can currently create broken symlinks), in the case where a dependency is no longer installed in the `system` partition (b/233357459) -- this was recently the case of `libbacktrace`. Also add a check to script `build/apex/art_apex_test.py` to prevent any regression. Test: art/build/apex/runtests.sh Test: atest ArtGtestsTargetChroot Bug: 232790938 Change-Id: Ic2ebb133f597b7f3d4d0486d8ead5d9746dae776 --- build/apex/art_apex_test.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'build/apex/art_apex_test.py') diff --git a/build/apex/art_apex_test.py b/build/apex/art_apex_test.py index 43fa01c756..5ead8dab49 100755 --- a/build/apex/art_apex_test.py +++ b/build/apex/art_apex_test.py @@ -217,6 +217,8 @@ class Checker: return False, 'Could not find %s' if fs_object.is_dir: return False, '%s is a directory' + if fs_object.is_symlink: + return False, '%s is a symlink' return True, '' def is_dir(self, path): -- cgit v1.2.3-59-g8ed1b