Итак собрал я значится эмулятор Citra. И попалась мне заметка про appimage. Собрал appimage пакетик, но остался ряд вопросов...
«Фабричные» аппимеджи спрашивают при запуске - «добавить ли ярлык в систему?», мои чего-то нет. Как это исправить?
Как бы присобачить к пакету firejail, изнутри? То есть, пакет при запуске - САМ запускает firejail (в идеале сам под себя его и настраивает).
Собирал имидж так:
mkdir Build
cd Build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/ \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-O3 -g -pipe -msse4.1 -stdlib=libc++ ..
make -j5
make DESTDIR=citra.AppDir install
cd citra.AppDir
rm -rf ./usr/bin/citra
sed -i -e 's|/usr|././|g' usr/bin/citra-qt
mkdir -p usr/lib64
cp -a /usr/lib64/libglvnd/libGL.so.* ./usr/lib64
cp -a /usr/lib64/libQt5OpenGL.so.* ./usr/lib64
cp -a /lib64/librt.so.* ./usr/lib64
cp -a /lib64/libdl.so.* ./usr/lib64
cp -a /usr/lib64/libpng16.so.* ./usr/lib64
cp -a /lib64/libz.so.* ./usr/lib64
cp -a /usr/lib64/libSDL2-2.0.so.* ./usr/lib64
cp -a /usr/lib64/libQt5Widgets.so.* ./usr/lib64
cp -a /usr/lib64/libQt5Gui.so.* ./usr/lib64
cp -a /usr/lib64/libQt5Core.so.* ./usr/lib64
cp -a /lib64/libstdc++.so.* ./usr/lib64
cp -a /lib64/libm.so.* ./usr/lib64
cp -a /lib64/libgcc_s.so.* ./usr/lib64
cp -a /lib64/libpthread.so.* ./usr/lib64
cp -a /lib64/libc.so.* ./usr/lib64
cp -a /usr/lib64/libglvnd/libGLX.so.* ./usr/lib64
cp -a /usr/lib64/libX11.so.* ./usr/lib64
cp -a /usr/lib64/libXext.so.* ./usr/lib64
cp -a /usr/lib64/libGLdispatch.so.* ./usr/lib64
cp -a /lib64/ld-linux-x86-64.so.* ./usr/lib64
cp -a /usr/lib64/libharfbuzz.so.* ./usr/lib64
cp -a /usr/lib64/libicui18n.so.* ./usr/lib64
cp -a /usr/lib64/libicuuc.so.* ./usr/lib64
cp -a /usr/lib64/libpcre16.so.* ./usr/lib64
cp -a /lib64/libglib-2.0.so.* ./usr/lib64
cp -a /usr/lib64/libxcb.so.* ./usr/lib64
cp -a /usr/lib64/libfreetype.so.* ./usr/lib64
cp -a /usr/lib64/libgraphite2.so.* ./usr/lib64
cp -a /usr/lib64/libicudata.so.* ./usr/lib64
cp -a /lib64/libpcre.so.* ./usr/lib64
cp -a /usr/lib64/libXau.so.* ./usr/lib64
cp -a /usr/lib64/libXdmcp.so.* ./usr/lib64
cp -a /usr/lib64/libbz2.so.* ./usr/lib64
wget -c "https://github.com/probonopd/AppImageKit/releases/download/6/AppRun_6-x86_64"
mv AppRun_6-x86_64 AppRun
chmod a+x ./AppRun
далее скопировал .desctop файл и иконки
cd ..
wget -c "https://github.com/probonopd/AppImageKit/releases/download/6/AppImageAssistant_6-x86_64.AppImage"
chmod a+x "AppImageAssistant_6-x86_64.AppImage"
./"AppImageAssistant_6-x86_64.AppImage" ./citra.AppDir/ ./citra-$BRANCH-bleeden_age-$VER.AppImage
P.S. Флаги оптимизации так применяют?
P.P.S. Знает кто, как автаматезировать или упростить копирование зависимостей? ldd citra-qt и всобачивать cp -a /что /куда вручную, довольно утомительно...