#!/bin/bash
set -x
source /opt/qt*/bin/qt*-env.sh
/opt/qt*/bin/qmake CONFIG += release CONFIG += force_debug_info linuxdeployqt.pro
make -j$( nproc)
# Test (it is commented out because current PVS Studio license is expired, it might be re-enabled later if a new license is granted)
#wget -q -O - http://files.viva64.com/etc/pubkey.txt | sudo apt-key add -
#sudo wget -O /etc/apt/sources.list.d/viva64.list http://files.viva64.com/etc/viva64.list
#sudo apt-get update
#sudo apt-get -y install --no-install-recommends pvs-studio
#pvs-studio-analyzer credentials probono@puredarwin.org $PVS_KEY -o ./licence.lic
#pvs-studio-analyzer trace -- make -j$(nproc)
#pvs-studio-analyzer analyze -e /opt -e /usr -o pvs-studio.log -j $(nproc) -l ./licence.lic
#plog-converter -a GA:1,2 -t tasklist -o pvs-studio-report.txt pvs-studio.log
#rm ./licence.lic
# exit on failure
set -e
mkdir -p linuxdeployqt.AppDir/usr/{ bin,lib}
cp /usr/bin/{ patchelf,desktop-file-validate} /usr/local/bin/{ appimagetool,zsyncmake} linuxdeployqt.AppDir/usr/bin/
cp ./bin/linuxdeployqt linuxdeployqt.AppDir/usr/bin/
cp -r /usr/local/lib/appimagekit linuxdeployqt.AppDir/usr/lib/
chmod +x linuxdeployqt.AppDir/AppRun
find linuxdeployqt.AppDir/
if [ -z " $VERSION " ] ; then export VERSION = continuous ; fi
./bin/linuxdeployqt linuxdeployqt.AppDir/linuxdeployqt.desktop -verbose= 3 -appimage \
-executable= linuxdeployqt.AppDir/usr/bin/desktop-file-validate
ls -lh
find *.AppDir
xpra start :99
export DISPLAY = :99
until xset -q
do
echo "Waiting for X server to start..."
sleep 1;
done
# enable core dumps
#echo "/tmp/coredump" | sudo tee /proc/sys/kernel/core_pattern
ulimit -c unlimited
ulimit -a -S
ulimit -a -H
# error handling performed separately
set +e
# print version number (need to extract the AppImage because we are running in a container, see https://github.com/AppImage/AppImageKit/wiki/FUSE#docker)
./linuxdeployqt-*-x86_64.AppImage --appimage-extract-and-run --version
# TODO: reactivate tests
#bash -e tests/tests.sh
true
RESULT = $?
if [ $RESULT -ne 0 ] ; then
echo "FAILURE: linuxdeployqt CRASHED -- uploading files for debugging to transfer.sh"
set -v
[ -e /tmp/coredump ] && curl --upload-file /tmp/coredump https://transfer.sh/coredump
curl --upload-file linuxdeployqt-*-x86_64.AppImage https://transfer.sh/linuxdeployqt-x86_64.AppImage
find -type f -iname 'libQt5Core.so*' -exec curl --upload { } https://transfer.sh/libQt5Core.so \; || true
exit $RESULT
fi