Linux: AppImage, deb, rpm and Arch packages from one AppDir, installed to /opt/ely-office (L1.5)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-11 11:55:14 -04:00
1 parent e3bfe8ade4
commit 15106b641f
15 files changed
+251 -21

No files matched your search

+20
View File
@@ -149,6 +149,26 @@ PY
# Ely's kernel defaults: Excel A1 formulas.
cp "$root/packaging/libreoffice/ely.xcd" "$app/registry/"
if [ "$(uname)" = Linux ]; then
# Meson leaves build-tree RUNPATHs in copied libraries, as cairo's.
files=$(mktemp)
find "$src/instdir" -type f -print0 >"$files" || {
echo "build-libreoffice.sh: cannot list $src/instdir" >&2
exit 1
}
while IFS= read -r -d '' lib; do
magic=$(head -c 4 "$lib" | od -An -c | tr -d ' ') || exit 1
[ "$magic" = '177ELF' ] || continue
dynamic=$(readelf -dW "$lib") || exit 1
paths=$(sed -n 's/.*(R\(UN\)\{0,1\}PATH).*\[\(.*\)\]/\2/p' <<<"$dynamic")
if [[ $paths == *"$src"* ]]; then
# shellcheck disable=SC2016
patchelf --set-rpath '$ORIGIN' "$lib"
echo "build-libreoffice.sh: $lib now loads from \$ORIGIN"
fi
done <"$files"
rm "$files"
fi
if [ "$(uname)" = Darwin ]; then
"$root/scripts/inert-lo.sh" "$src/instdir/LibreOffice.app"
fi
+1 -1
View File
@@ -41,7 +41,7 @@ batch=$(awk -F'\t' '$4 == 1 { print $1 }' packaging/apps.tsv)
case $os in
macos) packaging/macos/release.sh 1 ;;
windows) for slug in $batch; do packaging/windows/installer.sh "$slug"; done ;;
linux) for slug in $batch; do packaging/linux/appimage.sh "$slug"; done ;;
linux) for slug in $batch; do packaging/linux/package.sh "$slug"; done ;;
*)
echo "ci.sh: no release for $os" >&2
exit 1