Super Cool Workaround for SSL ca-certificate issue

usr/lib/libssl.so.1.1 in various linux distributions have differing
opinions on where to locate the bundle of certificates used to properly
handle https traffic.

Ubuntu 18.04: /etc/ssl/certs/ca-certificates.crt
Manjaro (Arch): /etc/ssl/cert.pem

In the AppImage libssl.so.1.1 is being shipped.

Notable because we build the AppImage on a Ubuntu base, and the steam
decks use arch.

This is a hastily thrown together PR, so should not be merged without
feedback

The AppRun shell script is modified to specify SSL_CERT_FILE in
environment
This commit is contained in:
Kyle Kienapfel
2022-09-12 04:25:15 -07:00
parent 3a5f9409c8
commit af476027bd
2 changed files with 72 additions and 3 deletions

View File

@@ -35,11 +35,9 @@ rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester
# Download tools needed to build an AppImage
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/linuxdeploy-x86_64.AppImage
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/linuxdeploy-plugin-qt-x86_64.AppImage
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/AppRun-patched-x86_64
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/exec-x86_64.so
# Set executable bit
chmod 755 \
AppRun-patched-x86_64 \
exec-x86_64.so \
linuxdeploy-x86_64.AppImage \
linuxdeploy-plugin-qt-x86_64.AppImage
@@ -60,6 +58,9 @@ find AppDir -type f -regex '.*libwayland-client\.so.*' -delete -print
# Workaround for building yuzu with GCC 10 but also trying to distribute it to Ubuntu 18.04 et al.
# See https://github.com/darealshinji/AppImageKit-checkrt
cp exec-x86_64.so AppDir/usr/optional/exec.so
cp AppRun-patched-x86_64 AppDir/AppRun
cp --dereference /usr/lib/x86_64-linux-gnu/libstdc++.so.6 AppDir/usr/optional/libstdc++/libstdc++.so.6
cp --dereference /lib/x86_64-linux-gnu/libgcc_s.so.1 AppDir/usr/optional/libgcc_s/libgcc_s.so.1
# Customized AppRun script executes above workarounds
cp ../dist/AppRun.sh AppDir/AppRun
chmod 755 AppDir/AppRun