mirror of https://github.com/PCSX2/pcsx2.git
CI/Linux: Fix AppImage getting symbols stripped
This commit is contained in:
parent
40f7ec3ca1
commit
90aabdf499
|
@ -78,6 +78,22 @@ OUTDIR=$(realpath "./$APPDIRNAME")
|
||||||
SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}")
|
SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}")
|
||||||
rm -fr "$OUTDIR"
|
rm -fr "$OUTDIR"
|
||||||
|
|
||||||
|
# Why the nastyness? linuxdeploy strips our main binary, and there's no option to turn it off.
|
||||||
|
# It also doesn't strip the Qt libs. We can't strip them after running linuxdeploy, because
|
||||||
|
# patchelf corrupts the libraries (but they still work), but patchelf+strip makes them crash
|
||||||
|
# on load. So, make a backup copy, strip the original (since that's where linuxdeploy finds
|
||||||
|
# the libs to copy), then swap them back after we're done.
|
||||||
|
# Isn't Linux packaging amazing?
|
||||||
|
|
||||||
|
rm -fr "$DEPSDIR.bak"
|
||||||
|
cp -a "$DEPSDIR" "$DEPSDIR.bak"
|
||||||
|
IFS="
|
||||||
|
"
|
||||||
|
for i in $(find "$DEPSDIR" -iname '*.so'); do
|
||||||
|
echo "Stripping deps library ${i}"
|
||||||
|
strip "$i"
|
||||||
|
done
|
||||||
|
|
||||||
echo "Copying desktop file..."
|
echo "Copying desktop file..."
|
||||||
cp "$PCSX2DIR/.github/workflows/scripts/linux/pcsx2-qt.desktop" .
|
cp "$PCSX2DIR/.github/workflows/scripts/linux/pcsx2-qt.desktop" .
|
||||||
cp "$PCSX2DIR/bin/resources/icons/AppIconLarge.png" "PCSX2.png"
|
cp "$PCSX2DIR/bin/resources/icons/AppIconLarge.png" "PCSX2.png"
|
||||||
|
@ -86,6 +102,7 @@ echo "Running linuxdeploy to create AppDir..."
|
||||||
EXTRA_QT_PLUGINS="core;gui;network;svg;waylandclient;widgets;xcbqpa" \
|
EXTRA_QT_PLUGINS="core;gui;network;svg;waylandclient;widgets;xcbqpa" \
|
||||||
EXTRA_PLATFORM_PLUGINS="libqwayland-egl.so;libqwayland-generic.so" \
|
EXTRA_PLATFORM_PLUGINS="libqwayland-egl.so;libqwayland-generic.so" \
|
||||||
QMAKE="$DEPSDIR/bin/qmake" \
|
QMAKE="$DEPSDIR/bin/qmake" \
|
||||||
|
NO_STRIP="1" \
|
||||||
$LINUXDEPLOY --plugin qt --appdir="$OUTDIR" --executable="$BUILDDIR/bin/pcsx2-qt" \
|
$LINUXDEPLOY --plugin qt --appdir="$OUTDIR" --executable="$BUILDDIR/bin/pcsx2-qt" \
|
||||||
--desktop-file="pcsx2-qt.desktop" --icon-file="PCSX2.png"
|
--desktop-file="pcsx2-qt.desktop" --icon-file="PCSX2.png"
|
||||||
|
|
||||||
|
@ -100,7 +117,6 @@ for lib in "${MANUAL_QT_LIBS[@]}"; do
|
||||||
echo " $srcpath -> $dstpath"
|
echo " $srcpath -> $dstpath"
|
||||||
cp "$srcpath" "$dstpath"
|
cp "$srcpath" "$dstpath"
|
||||||
$PATCHELF --set-rpath '$ORIGIN' "$dstpath"
|
$PATCHELF --set-rpath '$ORIGIN' "$dstpath"
|
||||||
$STRIP "$dstpath"
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# .. and plugins.
|
# .. and plugins.
|
||||||
|
@ -118,10 +134,13 @@ for GROUP in "${MANUAL_QT_PLUGINS[@]}"; do
|
||||||
echo " $srcsopath -> $dstsopath"
|
echo " $srcsopath -> $dstsopath"
|
||||||
cp "$srcsopath" "$dstsopath"
|
cp "$srcsopath" "$dstsopath"
|
||||||
$PATCHELF --set-rpath '$ORIGIN/../../lib:$ORIGIN' "$dstsopath"
|
$PATCHELF --set-rpath '$ORIGIN/../../lib:$ORIGIN' "$dstsopath"
|
||||||
$STRIP "$dstsopath"
|
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Restore unstripped deps (for cache).
|
||||||
|
rm -fr "$DEPSDIR"
|
||||||
|
mv "$DEPSDIR.bak" "$DEPSDIR"
|
||||||
|
|
||||||
# Fix up translations.
|
# Fix up translations.
|
||||||
rm -fr "$OUTDIR/usr/bin/translations"
|
rm -fr "$OUTDIR/usr/bin/translations"
|
||||||
mv "$OUTDIR/usr/translations" "$OUTDIR/usr/bin"
|
mv "$OUTDIR/usr/translations" "$OUTDIR/usr/bin"
|
||||||
|
|
Loading…
Reference in New Issue