Compare commits

...

39 Commits

Author SHA1 Message Date
Automatic Release Builder
71f48ae217 Update FG submodule 2020-10-13 22:25:06 +01:00
Automatic Release Builder
60eb8c32b6 Update submodules again 2020-10-13 12:41:53 +01:00
Automatic Release Builder
cd500b70af Update submodules 2020-10-08 16:44:02 +01:00
Automatic Release Builder
aee62fc9e7 update submodules 2020-10-07 17:23:08 +01:00
Automatic Release Builder
f88c149a3d Update submodules 2020-10-05 14:29:28 +01:00
Automatic Release Builder
5977af70aa Update FlightGear 2020-10-03 15:36:35 +01:00
Automatic Release Builder
9a6c1ee6e5 Update submodules 2020-10-01 10:45:04 +01:00
Automatic Release Builder
f416a7bcf7 Update submodules 2020-09-30 17:25:44 +01:00
Automatic Release Builder
fd4c8d8ffc AppImage fixes: reduce the size, fix Osg-Plugin search
Set OSG_LIBRARY_PATH so our bundled OSG plugins are used by
default.

Reduce which QtQuick plugins we bundle, and ensure we copy libraries
using archive mode to preserve symlinks. Also remove static libs. All of the
above should drastically reduce the image size.
2020-09-28 16:29:32 +01:00
Automatic Release Builder
714c4ac51c Update FlightGear 2020-09-28 10:25:44 +01:00
Automatic Release Builder
f17ed95af1 Update submodules 2020-09-27 11:16:43 +01:00
Automatic Release Builder
58608042ab Submodule update 2020-09-25 13:55:58 +01:00
Automatic Release Builder
87ebbd0d0e Update submodules 2020-09-24 22:08:20 +01:00
Automatic Release Builder
c5710b9877 Update submodules 2020-09-23 22:12:59 +01:00
Automatic Release Builder
a8cb045967 macOS: mark crashpad handler as executable
Without this, Sentry fails to initialise
2020-09-23 18:06:52 +01:00
Automatic Release Builder
72916771df Update Windows-3rdparty for OpenAL-soft 2020-09-23 11:44:01 +01:00
Automatic Release Builder
6501bf7731 Update FLightGear submodule 2020-09-23 09:56:53 +01:00
Automatic Release Builder
c6d0ad04e6 Update windows submodule 2020-09-22 23:55:11 +01:00
Automatic Release Builder
0ceeec3cbf Add updated SimGear 2020-09-22 18:25:21 +01:00
Automatic Release Builder
5ab8f3f350 Upload symbols for Linux builds 2020-09-22 18:24:15 +01:00
Automatic Release Builder
ee9004d072 Submodule update 2020-09-20 19:27:43 +01:00
Automatic Release Builder
90360ebfd9 Update FlightGear submodule 2020-09-19 21:32:59 +01:00
Automatic Release Builder
c43b8e0c07 Update submodules 2020-09-19 13:20:34 +01:00
Automatic Release Builder
05a3445a7f Build_appImage tweaks 2020-09-18 10:46:44 +01:00
Automatic Release Builder
7d8d08097c Linux builder: use Ninja 2020-09-16 17:21:46 +01:00
Automatic Release Builder
d3828f3d68 Fix build_appimage permissions 2020-09-16 17:16:51 +01:00
Automatic Release Builder
ae84a587c6 Update submodules 2020-09-07 09:55:58 +01:00
Automatic Release Builder
f76fa38fed Update submodules 2020-08-26 16:42:09 +01:00
Automatic Release Builder
ef30051973 Update submodules for 2020.2 2020-08-26 10:50:47 +01:00
Automatic Release Builder
95e607c190 Update submodule commits 2020-08-24 10:39:00 +01:00
Automatic Release Builder
6db76c656c Update submodule 2020-08-18 16:49:04 +01:00
Automatic Release Builder
73b45b17a9 Update submodules 2020-08-17 13:14:13 +01:00
Automatic Release Builder
e61f4cbf9f Revert "Remove FGRun from 2020.2 branch"
Seems this doesn't work the way I thought it did :) To avoid complicating
things for 2018.3, let's wait until 2020.2 is released, to remove it
completely.

This reverts commit 80ed4b5ab4.
2020-07-15 09:36:24 +01:00
Automatic Release Builder
cca622a860 Submodule updates 2020-07-14 15:35:26 +01:00
Julian Smith
aec7fcf83a Cope with renamed version => flightgear-version file. 2020-07-14 14:09:18 +01:00
Automatic Release Builder
72edacaaad Add AppImage creation script by Brendan Black
Not fully tested yet but want to get this on Jenkins to see how it
goes.
2020-07-14 14:09:06 +01:00
Automatic Release Builder
80ed4b5ab4 Remove FGRun from 2020.2 branch 2020-06-26 10:27:49 +01:00
Automatic Release Builder
35657c786f Use branch for Windows 3rdparty 2020-06-15 12:41:37 +01:00
Automatic Release Builder
d90c55c215 set correct release-branch for submodules 2020-06-15 12:33:58 +01:00
12 changed files with 145 additions and 29 deletions

10
.gitmodules vendored
View File

@ -1,11 +1,11 @@
[submodule "simgear"] [submodule "simgear"]
path = simgear path = simgear
url = ../simgear url = ../simgear
branch = next branch = release/2020.2
[submodule "flightgear"] [submodule "flightgear"]
path = flightgear path = flightgear
url = ../flightgear url = ../flightgear
branch = next branch = release/2020.2
[submodule "fgrun"] [submodule "fgrun"]
path = fgrun path = fgrun
url = ../fgrun url = ../fgrun
@ -13,12 +13,12 @@
[submodule "fgdata"] [submodule "fgdata"]
path = fgdata path = fgdata
url = ../fgdata url = ../fgdata
branch = next branch = release/2020.2
[submodule "windows-3rd-party"] [submodule "windows-3rd-party"]
path = windows-3rd-party path = windows-3rd-party
url = ../windows-3rd-party url = ../windows-3rd-party
branch = master branch = release/2020.2
[submodule "getstart"] [submodule "getstart"]
path = getstart path = getstart
url = ../getstart url = ../getstart
branch = next branch = release/2020.2

84
build_appimage.sh Executable file
View File

@ -0,0 +1,84 @@
#!/bin/bash
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# builds Appimage on Centos 7 using linuxdeployqt from continuous build
# expects to work in $WORKSPACE, uses the contents of dist/{bin,share,lib64} copied into an appdir
# missing qt plugins are copied in manually, as are osgPlugins
# libcurl in SIMGEAR needs a setting to find the tls certificate, and OSG needs LD_LIBRARY_PATH so it can find osgPlugins
# currently not including FGDATA, but this could be done easily once FG is updated to change Nav database checks from path to some kind of checksum
#
# issues/errors:
# can't find qt translations - missing something in my build?
#
# errors/comments to enrogue@gmail.com
#clean up any previous build
rm -rf appdir
#create basic structure
mkdir -p appdir/usr/bin
mkdir -p appdir/usr/lib
mkdir -p appdir/usr/share
mkdir -p appdir/usr/qml
mkdir -p appdir/usr/ssl
#copy everything we need in
cp dist/bin/* appdir/usr/bin
cp -a dist/lib64/* appdir/usr/lib
# remove SimGearCore,Scene and any other static libs which leaked
rm appdir/usr/lib/lib*.a
cp -a dist/lib64/osgPlugins-3.4.2 appdir/usr/lib
cp -r dist/share appdir/usr
cp -a /usr/lib64/qt5/qml/QtQuick.2 appdir/usr/qml
cp /usr/lib64/libsoftokn3.* appdir/usr/lib
cp /usr/lib64/libnsspem.so appdir/usr/lib
cp /etc/pki/tls/certs/ca-bundle.crt appdir/usr/ssl/cacert.pem
#modify the desktop file so that linuxdeployqt doesn't barf (version to 1.0, add semicolon to end of certain line types)
sed -i 's/^Categor.*/&;/ ; s/^Keyword.*/&;/ ; s/1\.1/1\.0/' appdir/usr/share/applications/org.flightgear.FlightGear.desktop
#generate AppRun script
cat << 'EOF' > appdir/AppRun
#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"
export SIMGEAR_TLS_CERT_PATH=$HERE/usr/ssl/cacert.pem
echo SIMGEAR_TLS_CERT_PATH=$SIMGEAR_TLS_CERT_PATH
export LD_LIBRARY_PATH=${HERE}/usr/lib:${LD_LIBRARY_PATH}
export OSG_LIBARARY_PATH=${HERE}/usr/lib
echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
exec "${HERE}/usr/bin/fgfs" "$@"
EOF
chmod +x appdir/AppRun
#grab continuous linuxdeployqt
wget -c https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
chmod +x linuxdeployqt-continuous-x86_64.AppImage
#set VERSION for AppImage creation
export VERSION=`cat flightgear/flightgear-version`
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/org.flightgear.FlightGear.desktop -appimage

View File

@ -5,7 +5,9 @@ if [ "$WORKSPACE" == "" ]; then
exit 1 exit 1
fi fi
VERSION=`cat flightgear/version` cmakeGenerator=Ninja
cmakeCommonArgs="-DCMAKE_INSTALL_PREFIX:PATH=$WORKSPACE/dist -DCMAKE_BUILD_TYPE=RelWithDebInfo"
VERSION=`cat flightgear/flightgear-version`
##################################################################################### #####################################################################################
# ensure fgrcc can run when linked against libSimGearCore, for example # ensure fgrcc can run when linked against libSimGearCore, for example
@ -22,43 +24,68 @@ rm -rf output/*
##################################################################################### #####################################################################################
echo "Starting on SimGear" echo "Starting on SimGear"
cd sgBuild cd sgBuild
cmake -DCMAKE_INSTALL_PREFIX:PATH=$WORKSPACE/dist -DENABLE_DNS:BOOL="ON" -DSIMGEAR_SHARED:BOOL="ON" ../simgear cmake -G $cmakeGenerator $cmakeCommonArgs ../simgear
# compile # compile
make ninja
if [ $? -ne '0' ]; then if [ $? -ne '0' ]; then
echo "make simgear failed" echo "make simgear failed"
exit 1 exit 1
fi fi
make install ninja install
# build source package and copy to output # build source package and copy to output
make package_source ninja package_source
cp simgear-*.tar.bz2 ../output/. cp simgear-*.tar.bz2 ../output/.
##################################################################################### #####################################################################################
echo "Starting on FlightGear" echo "Starting on FlightGear"
cd ../fgBuild cd ../fgBuild
cmake -DCMAKE_INSTALL_PREFIX:PATH=$WORKSPACE/dist -DSIMGEAR_SHARED:BOOL="ON" -DENABLE_SWIFT:BOOL=ON -DFG_BUILD_TYPE=Release ../flightgear cmake -G $cmakeGenerator $cmakeCommonArgs -DENABLE_SWIFT:BOOL=ON -DFG_BUILD_TYPE=Release ../flightgear
# compile # compile
make ninja
if [ $? -ne '0' ]; then if [ $? -ne '0' ]; then
echo "make flightgear failed" echo "make flightgear failed"
exit 1 exit 1
fi fi
make install ninja install
# build source package and copy to output # build source package and copy to output
make package_source ninja package_source
cp flightgear-*.tar.bz2 ../output/. cp flightgear-*.tar.bz2 ../output/.
##################################################################################### #####################################################################################
if which sentry-cli >/dev/null; then
echo "Uploading symbols"
export SENTRY_ORG=flightgear
export SENTRY_PROJECT=flightgear
# set in the Jenkins environment for the builder
# export SENTRY_AUTH_TOKEN=YOUR_AUTH_TOKEN
ERROR=$(sentry-cli upload-dif --include-sources "$WORKSPACE/dist/bin/fgfs" 2>&1 >/dev/null)
if [ ! $? -eq 0 ]; then
echo "warning: sentry-cli - $ERROR"
fi
else
echo "warning: sentry-cli not installed, download from https://github.com/getsentry/sentry-cli/releases"
fi
# now we uploaded symnbols, strip the binaries
strip --strip-debug $WORKSPACE/dist/bin/fgfs
strip --strip-debug $WORKSPACE/dist/bin/fgviewer
strip --strip-debug $WORKSPACE/dist/bin/fgjs
#####################################################################################
echo "Assembling base package" echo "Assembling base package"
cd $WORKSPACE cd $WORKSPACE

View File

@ -118,10 +118,10 @@ SET SENTRY_ORG=flightgear
SET SENTRY_PROJECT=flightgear SET SENTRY_PROJECT=flightgear
REM ensure SENTRY_AUTH_TOKEN is set in the environment REM ensure SENTRY_AUTH_TOKEN is set in the environment
sentry-cli upload-dif %WORKSPACE%\build-fg32\%FGFS_PDB% sentry-cli upload-dif --include-sources %WORKSPACE%\build-fg32\%FGFS_PDB%
sentry-cli upload-dif %WORKSPACE%\build-fg64\%FGFS_PDB% sentry-cli upload-dif --include-sources %WORKSPACE%\build-fg64\%FGFS_PDB%
sentry-cli upload-dif %WORKSPACE%\build-fg32-compositor\%FGFS_PDB% sentry-cli upload-dif --include-sources %WORKSPACE%\build-fg32-compositor\%FGFS_PDB%
sentry-cli upload-dif %WORKSPACE%\build-fg64-compositor\%FGFS_PDB% sentry-cli upload-dif --include-sources %WORKSPACE%\build-fg64-compositor\%FGFS_PDB%
REM indirect way to get command output into an environment variable REM indirect way to get command output into an environment variable
set PATH=%OSG32%\bin;%PATH% set PATH=%OSG32%\bin;%PATH%
@ -129,7 +129,7 @@ osgversion --so-number > %TEMP%\osg-so-number.txt
osgversion --version-number > %TEMP%\osg-version.txt osgversion --version-number > %TEMP%\osg-version.txt
osgversion --openthreads-soversion-number > %TEMP%\openthreads-so-number.txt osgversion --openthreads-soversion-number > %TEMP%\openthreads-so-number.txt
SET /P FLIGHTGEAR_VERSION=<flightgear\version SET /P FLIGHTGEAR_VERSION=<flightgear\flightgear-version
SET /P OSG_VERSION=<%TEMP%\osg-version.txt SET /P OSG_VERSION=<%TEMP%\osg-version.txt
SET /P OSG_SO_NUMBER=<%TEMP%\osg-so-number.txt SET /P OSG_SO_NUMBER=<%TEMP%\osg-so-number.txt
SET /P OT_SO_NUMBER=<%TEMP%\openthreads-so-number.txt SET /P OT_SO_NUMBER=<%TEMP%\openthreads-so-number.txt

2
fgdata

@ -1 +1 @@
Subproject commit 7d78937a4c118e3653ed50904fe8a2a0d37da0f2 Subproject commit 97afe3a0aab875702a6a21532855c788a5ea0889

@ -1 +1 @@
Subproject commit 61808019a05371f1f1c5f451601504020edf932f Subproject commit 96a6181bea4bf95956d5b4daf1001e0e265fcc79

View File

@ -62,8 +62,13 @@ fi
popd popd
chmod +x $WORKSPACE/dist/bin/osgversion
crashpad_bin_path=$WORKSPACE/dist/fgfs.app/Contents/MacOS/crashpad_handler
if [ -f $crashpad_bin_path ]; then
chmod +x $crashpad_bin_path
fi
chmod +x $WORKSPACE/dist/bin/osgversion
echo "Running symbol upload script" echo "Running symbol upload script"
./sentry-dSYM-upload-mac.sh ./sentry-dSYM-upload-mac.sh

View File

@ -70,7 +70,7 @@ t = Time.new
fgCurrentYear = t.year fgCurrentYear = t.year
fgBundleIdentifier = "org.flightgear.mac" fgBundleIdentifier = "org.flightgear.mac"
fgVersion = File.read("#{srcDir}/version").strip fgVersion = File.read("#{srcDir}/flightgear-version").strip
volName="\"FlightGear #{fgVersion}\"" volName="\"FlightGear #{fgVersion}\""
if $isRelease if $isRelease

View File

@ -42,8 +42,8 @@ NEXT_MINOR_VERSION=${VERSION_A[1]}
setVersionTo() { setVersionTo() {
local V="$1" local V="$1"
echo "setting version to $V" echo "setting version to $V"
echo "$V" > version echo "$V" > flightgear-version
git add version git add flightgear-version
echo "new version: $V" | git commit --file=- echo "new version: $V" | git commit --file=-
# git tag "version/$V" # git tag "version/$V"
} }

View File

@ -34,8 +34,8 @@ MICRO_VERSION=${VERSION_A[2]}
setVersionTo() { setVersionTo() {
local V="$1" local V="$1"
echo "setting version to $V" echo "setting version to $V"
echo "$V" > version echo "$V" > flightgear-version
git add version git add flightgear-version
echo "new version: $V" | git commit --file=- echo "new version: $V" | git commit --file=-
git tag "version/$V" git tag "version/$V"
} }

@ -1 +1 @@
Subproject commit bd93fb279b240412c034dc6bd89d033e79d5a44c Subproject commit bd9f04d980dae48d4557824726c33ff338e497ab

@ -1 +1 @@
Subproject commit 790648cd695add44aa7b352ca381748bd50aac4f Subproject commit 490305f74694d321a789adb03292b087fe3df843