This is an automated email from the ASF dual-hosted git repository.
jimjag pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/openoffice-devtools.git
The following commit(s) were added to refs/heads/main by this push:
new b7ea1b6 macosx-remote-sign.sh: keep Contents/ directories in place
with --legacy-layout
b7ea1b6 is described below
commit b7ea1b624c754bd9d15b52d19e0007e4a95dffda
Author: Jim Jagielski <[email protected]>
AuthorDate: Fri Sep 25 17:16:47 2026 -0400
macosx-remote-sign.sh: keep Contents/ directories in place with
--legacy-layout
A symlinked presets/ makes the first-run profile copy fail, so 4.1.x
refused to start on a Mac without an existing user profile.
---
release-scripts/macosx-remote-sign.sh | 6 ++++--
release-scripts/tests/test_macosx_remote_sign.py | 2 ++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/release-scripts/macosx-remote-sign.sh
b/release-scripts/macosx-remote-sign.sh
index 39a5a9e..af1fdd9 100755
--- a/release-scripts/macosx-remote-sign.sh
+++ b/release-scripts/macosx-remote-sign.sh
@@ -42,7 +42,7 @@
# doing anything else (a bare digest or a full
# "shasum -a 256" checksum line both work)
# --legacy-layout first move non-code out of Contents/MacOS and loose
-# entries out of Contents/ into Contents/Resources,
+# files out of Contents/ into Contents/Resources,
# leaving symlinks, and drop dangling symlinks: 4.1.x
# bundles cannot be sealed otherwise
# -h, --help
@@ -226,7 +226,9 @@ relayout_legacy_app() {
done < <(non_code_in_macos "$app")
while IFS= read -r -d '' e; do
n="${e##*/}"
- [ ! -L "$e" ] || continue
+ # codesign seals directories here; only loose files break it. A
+ # symlinked presets/ makes the first-run profile copy fail
(E_ISDIR).
+ [ ! -L "$e" ] && [ ! -d "$e" ] || continue
case "$n" in
Info.plist|PkgInfo|MacOS|Resources|Frameworks|PlugIns|Library|SharedSupport|_CodeSignature)
continue ;;
esac
diff --git a/release-scripts/tests/test_macosx_remote_sign.py
b/release-scripts/tests/test_macosx_remote_sign.py
index da682ef..e7e193d 100644
--- a/release-scripts/tests/test_macosx_remote_sign.py
+++ b/release-scripts/tests/test_macosx_remote_sign.py
@@ -457,6 +457,8 @@ def test_legacy_layout_moves_non_code_out_of_macos(signer,
workdir):
for kept in ("soffice", "libcode.dylib"):
assert (macos / kept).is_file() and not (macos /
kept).is_symlink(), kept
assert os.readlink(contents / "NOTICE") ==
"Resources/ooo-contents/NOTICE"
+ # A symlinked presets dir breaks the first-run profile copy (E_ISDIR).
+ assert (contents / "share").is_dir() and not (contents /
"share").is_symlink()
assert (contents / "share" / "x.xcd").read_text() == "share\n"
assert os.readlink(contents / "program") == "MacOS"
for kept in ("Info.plist", "Library", "Resources"):