aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2024-04-09 12:03:03 -0700
committerDan Albert <danalbert@google.com>2024-04-09 12:03:03 -0700
commita005856fa927bfb0afa7daf0d47cf3c7dbac6480 (patch)
treef6c070a3e58a3a6539785a6833e98bede5a2f9d3
parenta127def1e9074c24292d01103971b80e603395dc (diff)
downloadndk-a005856fa927bfb0afa7daf0d47cf3c7dbac6480.tar.gz
Preserve symlinks when copying to the app bundle.
We'd done all the work to set these up and make sure they're preserved when zipping, but missed the preservation flag on copy :( This was caught because the app bundle had finally crossed the 4GiB threshold for zip32, which broke the signing process. This will get us back down to 3GiB ish, which buys us time, even if it's not a permanent fix. Bug: http://b/333446731 Test: ./checkbuild.py --package && du -sh ../out/bundle Change-Id: Ic22a2c0e0a4a8a24cc639a7a72edb19a92d0dc67
-rw-r--r--docs/changelogs/Changelog-r27.md2
-rwxr-xr-xndk/checkbuild.py2
2 files changed, 3 insertions, 1 deletions
diff --git a/docs/changelogs/Changelog-r27.md b/docs/changelogs/Changelog-r27.md
index 235ec391d..5ed2f964f 100644
--- a/docs/changelogs/Changelog-r27.md
+++ b/docs/changelogs/Changelog-r27.md
@@ -63,6 +63,8 @@ directly, see the [build system maintainers guide].
the Android Gradle Plugin) to build your code to be compatible with devices
that use a 16KiB page size. Third-party build system users and maintainers
should consult the [build system maintainers guide].
+* Symlinks are now properly preserved in the macOS App Bundle. The NDK installed
+ via that method is now the same size as the one installed via the SDK manager.
[Issue 1728]: https://github.com/android/ndk/issues/1728
[Issue 1853]: https://github.com/android/ndk/issues/1853
diff --git a/ndk/checkbuild.py b/ndk/checkbuild.py
index d15a37425..c6fc7beb5 100755
--- a/ndk/checkbuild.py
+++ b/ndk/checkbuild.py
@@ -212,7 +212,7 @@ def make_app_bundle(
create_stub_entry_point(contents_dir / "MacOS" / entry_point_name)
bundled_ndk = contents_dir / "NDK"
- shutil.copytree(ndk_dir, bundled_ndk)
+ shutil.copytree(ndk_dir, bundled_ndk, symlinks=True)
plist = contents_dir / "Info.plist"
create_plist(plist, get_version_string(build_number), entry_point_name)