Compare commits
177 Commits
next
...
release/20
Author | SHA1 | Date | |
---|---|---|---|
|
4e6c8b4594 | ||
|
f72c131afb | ||
|
9357eb9ce8 | ||
|
625240629c | ||
|
3b9c087b7b | ||
|
84323fe32c | ||
|
d2306ab4ce | ||
|
d2131ce998 | ||
|
a0010a5683 | ||
|
114ae05b5f | ||
|
6f7555f4d6 | ||
|
d733c5b745 | ||
|
3a5ad00422 | ||
|
dc82cd640b | ||
|
4f07054ce4 | ||
|
0ed7678901 | ||
|
800fab5771 | ||
|
f5c0d051d4 | ||
|
c97dc209d8 | ||
|
f4455f05cb | ||
|
ee3071e102 | ||
|
b6ea5c4999 | ||
|
97f0195652 | ||
|
1403d0c3d2 | ||
|
0429d98f1c | ||
|
af30a463e3 | ||
|
5b651d373c | ||
|
f050c7e47b | ||
|
96aeb14ac5 | ||
|
ae773c9263 | ||
|
07fe43d2db | ||
|
6909e7ed07 | ||
|
77b6f646a0 | ||
|
d045c87699 | ||
|
0dc0df2607 | ||
|
553b737336 | ||
|
bf1a0e0d19 | ||
|
9dd3dd4192 | ||
|
a961e76fda | ||
|
3613d23c5a | ||
|
46aba9ad50 | ||
|
941cb0c896 | ||
|
daf5e2699b | ||
|
75690e0138 | ||
|
544de1b442 | ||
|
8b4ead455e | ||
|
c2972bc0d1 | ||
|
43d8a32599 | ||
|
b66567cbb2 | ||
|
14dd2d5900 | ||
|
a83dd79e81 | ||
|
ed863a14fb | ||
|
1cb8a7baf1 | ||
|
02211856b7 | ||
|
7a3e72c281 | ||
|
987ac1e181 | ||
|
c357ea1108 | ||
|
6cd260adf9 | ||
|
40b36861b9 | ||
|
1ba1e7f43c | ||
|
6d8cf06398 | ||
|
4f9d7fe373 | ||
|
e1e1108bd2 | ||
|
7439f0c79f | ||
|
30718abd99 | ||
|
f05a164538 | ||
|
d0b4aefb88 | ||
|
213cd4de04 | ||
|
967240b783 | ||
|
7a5908f9c0 | ||
|
9b60b88301 | ||
|
c4270430e2 | ||
|
61200bea82 | ||
|
f72adf4947 | ||
|
28ba97a4cd | ||
|
48989e1a2a | ||
|
d7ff5a99b4 | ||
|
423775a188 | ||
|
8584c60916 | ||
|
4661294303 | ||
|
dff6cf5ee0 | ||
|
28b00e7423 | ||
|
9e7771baea | ||
|
680030305b | ||
|
1d86c07ef1 | ||
|
a3186790bb | ||
|
f2d0c2466a | ||
|
b0dab4c22c | ||
|
fcf0bdc73e | ||
|
3984fa0e38 | ||
|
f86142c671 | ||
|
156bebea53 | ||
|
150f699870 | ||
|
e38f416e45 | ||
|
31bda0bdc7 | ||
|
8260fdeb6f | ||
|
2d5f22dcc1 | ||
|
3ab7c65e7a | ||
|
b04ee7d5a3 | ||
|
631b408ae0 | ||
|
598e95efba | ||
|
305e5ce889 | ||
|
9ef14b590d | ||
|
025f335be1 | ||
|
195e84cfd5 | ||
|
eb4efb28ce | ||
|
4f9dd89fca | ||
|
a7e2623c8d | ||
|
c442fefb93 | ||
|
34ff55ad37 | ||
|
8b266f75da | ||
|
aeaebbbb10 | ||
|
33cbcf51f7 | ||
|
caeaa32ba8 | ||
|
ea7524899e | ||
|
29edfba044 | ||
|
1beae6304b | ||
|
73248547f9 | ||
|
49b584ffe7 | ||
|
06c7bbf557 | ||
|
399a3075c9 | ||
|
c24c41a998 | ||
|
94c09416d5 | ||
|
be5880ee19 | ||
|
500cf2e82c | ||
|
92c46f14c7 | ||
|
62ca4bb577 | ||
|
d7873fe00c | ||
|
9fcb01f81e | ||
|
04a518c23e | ||
|
598c65d3e9 | ||
|
cfb0f907e4 | ||
|
328fcda3f2 | ||
|
0fa6277203 | ||
|
06be626360 | ||
|
18cc06fa95 | ||
|
31c79982bf | ||
|
333dbb4aef | ||
|
71f48ae217 | ||
|
60eb8c32b6 | ||
|
cd500b70af | ||
|
aee62fc9e7 | ||
|
f88c149a3d | ||
|
5977af70aa | ||
|
9a6c1ee6e5 | ||
|
f416a7bcf7 | ||
|
fd4c8d8ffc | ||
|
714c4ac51c | ||
|
f17ed95af1 | ||
|
58608042ab | ||
|
87ebbd0d0e | ||
|
c5710b9877 | ||
|
a8cb045967 | ||
|
72916771df | ||
|
6501bf7731 | ||
|
c6d0ad04e6 | ||
|
0ceeec3cbf | ||
|
5ab8f3f350 | ||
|
ee9004d072 | ||
|
90360ebfd9 | ||
|
c43b8e0c07 | ||
|
05a3445a7f | ||
|
7d8d08097c | ||
|
d3828f3d68 | ||
|
ae84a587c6 | ||
|
f76fa38fed | ||
|
ef30051973 | ||
|
95e607c190 | ||
|
6db76c656c | ||
|
73b45b17a9 | ||
|
e61f4cbf9f | ||
|
cca622a860 | ||
|
aec7fcf83a | ||
|
72edacaaad | ||
|
80ed4b5ab4 | ||
|
35657c786f | ||
|
d90c55c215 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -22,3 +22,6 @@ CMakeCache.txt
|
|||||||
*.pyc
|
*.pyc
|
||||||
build-*
|
build-*
|
||||||
testOutput*
|
testOutput*
|
||||||
|
md5sum.xml
|
||||||
|
staging
|
||||||
|
|
||||||
|
10
.gitmodules
vendored
10
.gitmodules
vendored
@ -1,11 +1,11 @@
|
|||||||
[submodule "simgear"]
|
[submodule "simgear"]
|
||||||
path = simgear
|
path = simgear
|
||||||
url = ../simgear
|
url = ../simgear
|
||||||
branch = next
|
branch = release/2020.3
|
||||||
[submodule "flightgear"]
|
[submodule "flightgear"]
|
||||||
path = flightgear
|
path = flightgear
|
||||||
url = ../flightgear
|
url = ../flightgear
|
||||||
branch = next
|
branch = release/2020.3
|
||||||
[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.3
|
||||||
[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.3
|
||||||
[submodule "getstart"]
|
[submodule "getstart"]
|
||||||
path = getstart
|
path = getstart
|
||||||
url = ../getstart
|
url = ../getstart
|
||||||
branch = next
|
branch = release/2020.3
|
||||||
|
96
FlightGear-files.iss
Normal file
96
FlightGear-files.iss
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
[Files]
|
||||||
|
; 32 bits install
|
||||||
|
Source: "{#InstallDir32}\bin\*.*"; DestDir: "{app}\bin"; Excludes: "{#ExcludedBinaries}"; Flags: ignoreversion recursesubdirs; Check: not Is64BitInstallMode
|
||||||
|
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty\bin\zlib.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty\bin\OpenAL32.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty\bin\libpng.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty\bin\libcurl.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty\bin\libintl-8.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty\bin\sentry.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty\bin\crashpad_handler.exe"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty\bin\dbus-1-3.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty\bin\event_core.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty\bin\liblzma.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
|
||||||
|
; 64 bits install
|
||||||
|
Source: "{#InstallDir64}\bin\*.*"; DestDir: "{app}\bin"; Excludes: "{#ExcludedBinaries}"; Flags: ignoreversion recursesubdirs; Check: Is64BitInstallMode
|
||||||
|
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\zlib.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\OpenAL32.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\libpng.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\libcurl.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\libintl-8.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\sentry.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\crashpad_handler.exe"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\dbus-1-3.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\event_core.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\liblzma.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
|
||||||
|
; Include the base package
|
||||||
|
#if IncludeData == "TRUE"
|
||||||
|
Source: "{#FgHarnessPath}\fgdata\*.*"; DestDir: "{app}\data"; Excludes: "{#FGDataExcludes}"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist
|
||||||
|
#endif
|
||||||
|
|
||||||
|
; Web installer for the base package
|
||||||
|
#if IncludeWeb == "TRUE"
|
||||||
|
; txz
|
||||||
|
Source: "{#DecompressDir}\\xz.exe"; Flags: dontcopy
|
||||||
|
Source: "{#DecompressDir}\\liblzma.dll"; Flags: dontcopy
|
||||||
|
; tar
|
||||||
|
Source: "{#DecompressDir}\\tar.exe"; Flags: dontcopy
|
||||||
|
Source: "{#DecompressDir}\\libiconv-2.dll"; Flags: dontcopy
|
||||||
|
Source: "{#DecompressDir}\\libintl-2.dll"; Flags: dontcopy
|
||||||
|
; full code
|
||||||
|
Source: "{tmp}\\fgdata-extracted\\fgdata\\*.*"; DestDir: "{app}\data"; Flags: external recursesubdirs
|
||||||
|
#endif
|
||||||
|
|
||||||
|
; 32 bits install
|
||||||
|
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osg.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgDB.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgGA.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgParticle.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgText.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgUtil.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgViewer.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgSim.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgFX.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGInstallDir}\bin\ot{#OTSoNumber}-OpenThreads.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
||||||
|
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_ac.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_osg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_osga.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_3ds.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_mdl.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_jpeg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_rgb.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_png.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_dds.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_txf.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_tiff.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
Source: "{#OSGPluginsDir}\osgdb_freetype.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
||||||
|
|
||||||
|
; 64 bits install
|
||||||
|
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osg.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgDB.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgGA.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgParticle.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgText.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgUtil.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgViewer.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgSim.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgFX.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64InstallDir}\bin\ot{#OTSoNumber}-OpenThreads.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
||||||
|
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_ac.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_osg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_osga.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_3ds.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_mdl.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_jpeg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_rgb.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_png.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_dds.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_txf.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_tiff.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
||||||
|
Source: "{#OSG64PluginsDir}\osgdb_freetype.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
83
FlightGear-i18n.iss
Normal file
83
FlightGear-i18n.iss
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
[Messages]
|
||||||
|
ConfirmUninstall=Are you sure you want to completely remove %1 {#FGVersion} and all of its components?
|
||||||
|
pl.ConfirmUninstall=Czy na pewno chcesz całkowicie usunąć %1 {#FGVersion} i wszystkie jego komponenty?
|
||||||
|
es.ConfirmUninstall=¿ Estás seguro de que quieres borrar completamente %1 {#FGVersion} y todos sus componentes ?
|
||||||
|
nl.ConfirmUninstall=Weet u zeker dat u %1 {#FGVersion} en alle bijbehorende onderdelen wilt verwijderen?
|
||||||
|
de.ConfirmUninstall=Bist Du sicher, dass Du %1 {#FGVersion} und alle Komponenten entfernen willst?
|
||||||
|
fr.ConfirmUninstall=Etes-vous certain de vouloir totalement désinstaller %1 {#FGVersion} et tous ses composants ?
|
||||||
|
ru.ConfirmUninstall=Вы уверены, что хотите полностьюу удалить %1 {#FGVersion} и все его компоненты?
|
||||||
|
|
||||||
|
[CustomMessages]
|
||||||
|
CreateDesktopIcon=Create a &desktop icon
|
||||||
|
CreateDesktopIconGroup=Additional icons:
|
||||||
|
RemoveAllSettings=Remove all settings, downloaded scenery and aircraft
|
||||||
|
RemoveAllSettingsDescription=FlightGear stores some settings in your user folder. In addition, scenery or aircraft data may have been downloaded to the download directory. To completely remove all these files, select this option.
|
||||||
|
FirewallFgException=Allows FlightGear to send and receive data over the multiplayer network and to get METARs.
|
||||||
|
FirewallFgcomException=Allows FGCom to establish a connection to FlightGear and the VoIP server for voice ATC communication.
|
||||||
|
ExtractingDownloadContentTitle=Extracting downloaded content
|
||||||
|
ExtractingDownloadContentMessage=This step will perform extraction of the downloaded content
|
||||||
|
ExtractingDownloadedFile=Extracting file
|
||||||
|
UntarringDownloadedFile=Untarring file
|
||||||
|
ErrorDownloadingFile=Error downloading file from the web repository. Error details: %s
|
||||||
|
NotEnoughSpaceOnInstallationDisk=Not enough space on the destination disk. At least 6GB is needed.
|
||||||
|
NotEnoughSpaceOnTemporaryDisk=Not enough space on the temporary folder disk. At least 6GB is needed.
|
||||||
|
|
||||||
|
pl.CreateDesktopIcon=Utwórz ikony na pulpicie
|
||||||
|
pl.CreateDesktopIconGroup=Dodatkowe ikony:
|
||||||
|
pl.RemoveAllSettings=Usuń wszystkie ustawienia, pobraną scenerię i samoloty
|
||||||
|
pl.RemoveAllSettingsDescription=FlightGear zapisuje niektóre ustawienia w katalogach użytkownika. Dodatkowo, sceneria lub dane statków powietrznych mogą być pobierane do katalogu pobrań. Aby całkowicie usunąć te ustawienia, wybierz tą opcję.
|
||||||
|
pl.FirewallFgException=Pozwala aplikacji FlightGear na wysyłanie i pobieranie danych przez sieć multiplayer oraz aby pobrać dane pogodowe METAR.
|
||||||
|
pl.FirewallFgcomException=Pozwala aplikacji FGCom na ustanowienie połączenia do aplikacji FlightGear i do serwerów VoIP dla komunikacji głosowej z ATC (kontrolerem lotów).
|
||||||
|
pl.ExtractingDownloadContentTitle=Rozpakowywanie pobranej dodatkowej treści
|
||||||
|
pl.ExtractingDownloadContentMessage=Ten krok rozpakuje pobraną dodatkową treść
|
||||||
|
pl.ExtractingDownloadedFile=Rozpakowywanie pliku
|
||||||
|
pl.UntarringDownloadedFile=Roztarowanie pliku
|
||||||
|
pl.ErrorDownloadingFile=Błąd pobierania pliku z repozytorium web. Szczegóły błędu: %s
|
||||||
|
pl.NotEnoughSpaceOnInstallationDisk=Brak miejsca na dysku docelowym. Przynajmniej 6GB jest wymagane.
|
||||||
|
pl.NotEnoughSpaceOnTemporaryDisk=Brak miejsca na dysku z folderem tymczasowym. Przynajmniej 6GB jest wymagane.
|
||||||
|
|
||||||
|
es.CreateDesktopIcon=Crear icono en el escritorio
|
||||||
|
es.RemoveAllSettings=Borrar todos los ajustes, escenarios y aviones descargados
|
||||||
|
es.RemoveAllSettingsDescription=FlightGear almacena algunos ajustes en tu carpeta de usuario. Adicionalmente, los datos de escenarios y aviones pueden haber sido descargados en el directorio de descargas. Para borrar completamente todos esos archivos, selecciona esta opción.
|
||||||
|
es.FirewallFgException=Permite a FlightGear mandar y recibir datos a la red multijugador y obtener METAR.
|
||||||
|
es.FirewallFgcomException=Permite a FGCom establecer una conexión con FlightGear y el servidor VoIP para comunicaciones de voz con el ATC.
|
||||||
|
|
||||||
|
nl.CreateDesktopIcon=Maak een snelkoppeling op het &bureaublad
|
||||||
|
nl.CreateDesktopIconGroup=Overige snelkoppelingen:
|
||||||
|
nl.RemoveAllSettings=Verwijder alle instellingen en gedownloade data
|
||||||
|
nl.RemoveAllSettingsDescription=FlightGear bewaart een aantal instellingen in de gebruikersmap. Mogelijk is er ook data in de downloadmap opgeslagen. Selecteer deze optie om die bestanden definitief te verwijderen.
|
||||||
|
nl.FirewallFgException=Sta FlightGear toe om data te verzenden en ontvangen via het multiplayernetwerk en om live weergegevens te downloaden.
|
||||||
|
nl.FirewallFgcomException=Sta FGCom toe om verbinding met FlightGear en de VoIP server te maken voor op stem gebaseerde ATC-communicatie.
|
||||||
|
nl.ExtractingDownloadContentTitle=Gedownloade bestanden uitpakken
|
||||||
|
nl.ExtractingDownloadContentMessage=In deze stap worden de gedownloade bestanden uitgepakt
|
||||||
|
nl.ExtractingDownloadedFile=Bestand uitpakken
|
||||||
|
nl.UntarringDownloadedFile=Bestand uitpakken
|
||||||
|
nl.ErrorDownloadingFile=Fout bij het downloaden van een bestand. Foutinformatie: %s
|
||||||
|
nl.NotEnoughSpaceOnInstallationDisk=Onvoldoende vrije ruimte op de gekozen schijf. FlightGear vereist tenminste 6GB.
|
||||||
|
nl.NotEnoughSpaceOnTemporaryDisk=Onvoldoende vrije ruimte op de tijdelijke schijf. FlightGear vereist tenminste 6GB.
|
||||||
|
|
||||||
|
de.CreateDesktopIcon=Ein Desktop-Icon anlegen
|
||||||
|
de.RemoveAllSettings=Alle Einstellungen und heruntergeladene Daten löschen
|
||||||
|
de.RemoveAllSettingsDescription=FlightGear speichert seine Einstellungen in deinem User-Verzeichnis. Zusätzlich heruntergeladene Flugzeuge und Szenerie-Daten können sich im Download-Verzeichnis befinden. Wähle diese Option, um alle Daten zu löschen.
|
||||||
|
de.FirewallFgException=Erlaubt FlightGear die Verbindung zum Multiplayer-Netzwerk und den Download von METAR-Daten.
|
||||||
|
de.FirewallFgcomException=Erlaubt FGCom die Verbindung zu FlightGear- und VoIP-Servern für den ATC-Sprechfunk.
|
||||||
|
|
||||||
|
fr.CreateDesktopIcon=Créer une icône sur le bureau
|
||||||
|
fr.RemoveAllSettings=Supprimer tous les paramètres, scènes et aéronefs téléchargés
|
||||||
|
fr.RemoveAllSettingsDescription=FlightGear enregistre certains paramètres dans votre répertoire utilisateur. En complément, les scènes et les aéronefs peuvent avoir été installés dans le dossier Téléchargements. Pour supprimer totalement ces fichiers, choisissez cette option.
|
||||||
|
fr.FirewallFgException=Autorise FlightGear à émettre et recevoir des données multijoueurs sur le réseau et à recevoir les METARs.
|
||||||
|
fr.FirewallFgcomException=Autorise FGCom à établir une connexion vers FlightGear et le serveur VoIP pour les communications de contrôle aérien.
|
||||||
|
|
||||||
|
ru.CreateDesktopIcon=Создать икноку на &рабочий стол
|
||||||
|
ru.CreateDesktopIconGroup=Дополнительные иконки:
|
||||||
|
ru.RemoveAllSettings=Удалить все установки, загруженные сценарии и летательный аппарат
|
||||||
|
ru.RemoveAllSettingsDescription=FlightGear сохраняет некоторые настройки в вашей пользовательской папке. Кроме того, в каталог загрузки могли быть загружены данные о сценарии или летательном аппарате. Чтобы полностью удалить все эти файлы, выберите эту опцию.
|
||||||
|
ru.FirewallFgException=Разрешить FlightGear посылать и принимать данные через многопользовательское соединение и получать данные METAR.
|
||||||
|
ru.FirewallFgcomException=Разрешить FGCom устанавливать соединение с FlightGear и сервером VoIP для голосовой коммуникации с УВД.
|
||||||
|
ru.ExtractingDownloadContentTitle=Извлечение загруженного контента
|
||||||
|
ru.ExtractingDownloadContentMessage=На этом шаге будет выполнено извлечение загруженного контента.
|
||||||
|
ru.ExtractingDownloadedFile=Извлечение файла
|
||||||
|
ru.UntarringDownloadedFile=Несвязанный файл
|
||||||
|
ru.ErrorDownloadingFile=Ошибка загрузки файла из репозитория. Детальный отчёт: %s
|
||||||
|
ru.NotEnoughSpaceOnInstallationDisk=Недостаточно дискового пространства в выбранном диске. Требуется, как минимум 6GB свободного пространства.
|
||||||
|
ru.NotEnoughSpaceOnTemporaryDisk=Не хватает дискового пространства во временной папке. Требуется, как минимум 6GB свободного пространства.
|
388
FlightGear.iss
Executable file → Normal file
388
FlightGear.iss
Executable file → Normal file
@ -1,4 +1,4 @@
|
|||||||
; Script generated by the Inno Setup Script Wizard.
|
; Script generated by the Inno Setup Script Wizard.
|
||||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||||
;
|
;
|
||||||
; This script creates an installable FlightGear package for Win32 using the
|
; This script creates an installable FlightGear package for Win32 using the
|
||||||
@ -7,7 +7,9 @@
|
|||||||
;
|
;
|
||||||
; http://www.jrsoftware.org/isinfo.php
|
; http://www.jrsoftware.org/isinfo.php
|
||||||
;
|
;
|
||||||
; Note: the files must appear in the X: drive.
|
; Note: Files root path is defined in the FgHarnessPath (in InstallConfig.iss)
|
||||||
|
;
|
||||||
|
; For example if You want to use X: drive as a root path
|
||||||
; You can do this with the command below:
|
; You can do this with the command below:
|
||||||
;
|
;
|
||||||
; subst X: path_to_files
|
; subst X: path_to_files
|
||||||
@ -17,46 +19,75 @@
|
|||||||
; C:\> subst X: F:\Path\to\FlightGear\root
|
; C:\> subst X: F:\Path\to\FlightGear\root
|
||||||
; C:\> subst X: F:\
|
; C:\> subst X: F:\
|
||||||
;
|
;
|
||||||
|
; TRANSLATION NOTE:
|
||||||
|
; - external i18n files HAVE to be UTF-8 with BOM encoded. Otherwise the installer can
|
||||||
|
; not detect correct file encoding
|
||||||
|
;
|
||||||
|
; InstallConfig.iss example content:
|
||||||
|
;
|
||||||
|
; #define FGHarnessPath "x:"
|
||||||
|
; #define FGVersion "2020.4.1"
|
||||||
|
; #define FGVersionGroup "2020.4"
|
||||||
|
; #define OSGVersion "3.0.0"
|
||||||
|
; #define OSGSoNumber "2"
|
||||||
|
; #define OTSoNumber "3"
|
||||||
|
; #define FGDetails "-nightly"
|
||||||
|
; #define IncludeData "FALSE"
|
||||||
|
; #define IncludeWeb "FALSE"
|
||||||
|
;
|
||||||
|
; Uninstall procedure with --uninstall flag:
|
||||||
|
; executed by fgfs.exe (fg_init.cxx):
|
||||||
|
; - removes all under the FG_HOME directory
|
||||||
|
; - removes all from Download dir/Terrasync
|
||||||
|
; - removes all from Download dir/Aircraft
|
||||||
|
|
||||||
#include "InstallConfig.iss"
|
#include "InstallConfig.iss"
|
||||||
|
#include "FlightGear-i18n.iss"
|
||||||
|
|
||||||
#define InstallDir32 "X:\install\msvc140"
|
#define FGSourcePath FgHarnessPath + "\flightgear"
|
||||||
#define InstallCompositor32 "X:\install\msvc140\compositor"
|
|
||||||
|
#define InstallDir32 FgHarnessPath + "\install\msvc140"
|
||||||
#define OSGInstallDir InstallDir32 + "\OpenSceneGraph"
|
#define OSGInstallDir InstallDir32 + "\OpenSceneGraph"
|
||||||
#define OSGPluginsDir OSGInstallDir + "\bin\osgPlugins-" + OSGVersion
|
#define OSGPluginsDir OSGInstallDir + "\bin\osgPlugins-" + OSGVersion
|
||||||
|
|
||||||
#define InstallDir64 "X:\install\msvc140-64"
|
#define InstallDir64 FgHarnessPath + "\install\msvc140-64"
|
||||||
#define InstallCompositor64 "X:\install\msvc140-64\compositor"
|
|
||||||
#define OSG64InstallDir InstallDir64 + "\OpenSceneGraph"
|
#define OSG64InstallDir InstallDir64 + "\OpenSceneGraph"
|
||||||
#define OSG64PluginsDir OSG64InstallDir + "\bin\osgPlugins-" + OSGVersion
|
#define OSG64PluginsDir OSG64InstallDir + "\bin\osgPlugins-" + OSGVersion
|
||||||
|
|
||||||
#define ThirdPartyDir "X:\windows-3rd-party\msvc140"
|
#define ThirdPartyDir FgHarnessPath + "\windows-3rd-party\msvc140"
|
||||||
|
#define DecompressDir FgHarnessPath + "\windows-3rd-party\decompress"
|
||||||
|
|
||||||
; we copy everything in install/<arch>/bin except these, which aren't
|
; we copy everything in install/<arch>/bin except these, which aren't
|
||||||
; useful to the end-user to ship
|
; useful to the end-user to ship
|
||||||
#define ExcludedBinaries "*smooth.exe,metar.exe"
|
#define ExcludedBinaries "*smooth.exe,metar.exe"
|
||||||
|
|
||||||
|
; Exclude XCF files from FGData to keep the size down
|
||||||
|
#define FGDataExcludes "*.xcf,*.xcf.gz"
|
||||||
|
|
||||||
|
#include "FlightGear-files.iss"
|
||||||
|
|
||||||
[Setup]
|
[Setup]
|
||||||
AppId=FlightGear
|
AppId=FlightGear_{#FGVersionGroup}
|
||||||
AppName=FlightGear
|
AppName=FlightGear
|
||||||
AppPublisher=The FlightGear Team
|
AppPublisher=The FlightGear Team
|
||||||
OutputBaseFilename=FlightGear-{#FGVersion}{#FGDetails}
|
OutputBaseFilename=FlightGear-{#FGVersion}{#FGDetails}
|
||||||
AppVerName=FlightGear v{#FGVersion}
|
AppVerName=FlightGear v{#FGVersion}
|
||||||
|
AppVersion={#FGVersion}
|
||||||
AppPublisherURL=http://www.flightgear.org
|
AppPublisherURL=http://www.flightgear.org
|
||||||
AppSupportURL=http://www.flightgear.org
|
AppSupportURL=http://www.flightgear.org
|
||||||
AppUpdatesURL=http://www.flightgear.org
|
AppUpdatesURL=http://www.flightgear.org
|
||||||
DefaultDirName={pf}\FlightGear {#FGVersion}
|
DefaultDirName={pf}\FlightGear {#FGVersionGroup}
|
||||||
UsePreviousAppDir=no
|
DirExistsWarning=auto
|
||||||
DefaultGroupName=FlightGear {#FGVersion}
|
UsePreviousAppDir=yes
|
||||||
|
DefaultGroupName=FlightGear {#FGVersionGroup}
|
||||||
UsePreviousGroup=no
|
UsePreviousGroup=no
|
||||||
LicenseFile=X:\flightgear\COPYING
|
LicenseFile={#FGSourcePath}\COPYING
|
||||||
Uninstallable=yes
|
Uninstallable=yes
|
||||||
SetupIconFile=X:\flightgear\package\flightgear.ico
|
SetupIconFile={#FgHarnessPath}\windows\flightgear.ico
|
||||||
VersionInfoVersion={#FGVersion}.0
|
VersionInfoVersion={#FGVersion}.0
|
||||||
InfoBeforeFile=X:\flightgear\package\windows\infobefore.txt
|
WizardImageFile={#FgHarnessPath}\windows\setupimg.bmp
|
||||||
WizardImageFile=X:\flightgear\package\windows\setupimg.bmp
|
|
||||||
WizardImageStretch=No
|
WizardImageStretch=No
|
||||||
WizardSmallImageFile=X:\flightgear\package\windows\setupsmall.bmp
|
WizardSmallImageFile={#FgHarnessPath}\windows\setupsmall.bmp
|
||||||
VersionInfoCompany=The FlightGear Team
|
VersionInfoCompany=The FlightGear Team
|
||||||
UninstallDisplayIcon={app}\bin\fgfs.exe
|
UninstallDisplayIcon={app}\bin\fgfs.exe
|
||||||
ArchitecturesInstallIn64BitMode=x64
|
ArchitecturesInstallIn64BitMode=x64
|
||||||
@ -67,138 +98,27 @@ ArchitecturesAllowed=x86 x64
|
|||||||
; SignTool=fg_code_sign1
|
; SignTool=fg_code_sign1
|
||||||
|
|
||||||
[Tasks]
|
[Tasks]
|
||||||
; NOTE: The following entry contains English phrases ("Create a desktop icon" and "Additional icons"). You are free to translate them into another language if required.
|
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:CreateDesktopIconGroup}"
|
||||||
Name: "desktopicon"; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:"
|
|
||||||
|
|
||||||
[Files]
|
[Languages]
|
||||||
; NOTE: run subst X: F:\ (or whatever path the expanded tree resides at)
|
Name: "en"; MessagesFile: "compiler:Default.isl"; InfoBeforeFile: "{#FgHarnessPath}\windows\info-before-en.txt"
|
||||||
;Source: "X:\*.txt"; DestDir: "{app}"; Flags: ignoreversion
|
Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl"; InfoBeforeFile: "{#FgHarnessPath}\windows\info-before-pl.txt"
|
||||||
; 32 bits install
|
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl";
|
||||||
|
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl"; InfoBeforeFile: "{#FgHarnessPath}\windows\info-before-nl.txt"
|
||||||
Source: "{#InstallDir32}\bin\*.*"; DestDir: "{app}\bin"; Excludes: "{#ExcludedBinaries}"; Flags: ignoreversion recursesubdirs; Check: not Is64BitInstallMode
|
Name: "de"; MessagesFile: "compiler:Languages\German.isl";
|
||||||
Source: "{#InstallCompositor32}\bin\fgfs.exe"; DestDir: "{app}\bin"; DestName: "fgfs-compositor.exe"; Excludes: "{#ExcludedBinaries}"; Flags: ignoreversion recursesubdirs; Check: not Is64BitInstallMode
|
Name: "fr"; MessagesFile: "compiler:Languages\French.isl";
|
||||||
;locale only exists for fgrun - which has been disabled
|
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"; InfoBeforeFile: "{#FgHarnessPath}\windows\info-before-ru.txt"
|
||||||
;Source: "{#InstallDir32}\share\locale\*"; DestDir: "{app}\bin\locale"; Flags: ignoreversion recursesubdirs; Check: not Is64BitInstallMode
|
|
||||||
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty\bin\zlib.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty\bin\OpenAL32.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty\bin\libpng.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty\bin\libcurl.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty\bin\libintl-8.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty\bin\sentry.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty\bin\crashpad_handler.exe"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty\bin\dbus-1-3.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty\bin\event_core.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
|
|
||||||
; 64 bits install
|
|
||||||
Source: "{#InstallDir64}\bin\*.*"; DestDir: "{app}\bin"; Excludes: "{#ExcludedBinaries}"; Flags: ignoreversion recursesubdirs; Check: Is64BitInstallMode
|
|
||||||
Source: "{#InstallCompositor64}\bin\fgfs.exe"; DestDir: "{app}\bin"; DestName: "fgfs-compositor.exe"; Excludes: "{#ExcludedBinaries}"; Flags: ignoreversion recursesubdirs; Check: Is64BitInstallMode
|
|
||||||
;locale only exists for fgrun - which has been disabled
|
|
||||||
;Source: "{#InstallDir64}\share\locale\*"; DestDir: "{app}\bin\locale"; Flags: ignoreversion recursesubdirs; Check: Is64BitInstallMode
|
|
||||||
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\zlib.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\OpenAL32.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\libpng.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\libcurl.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\libintl-8.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\sentry.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\crashpad_handler.exe"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\dbus-1-3.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#ThirdPartyDir}\3rdParty.x64\bin\event_core.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
|
|
||||||
; Include the base package
|
|
||||||
#if IncludeData == "TRUE"
|
|
||||||
Source: "X:\fgdata\*.*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist
|
|
||||||
#endif
|
|
||||||
|
|
||||||
; 32 bits install
|
|
||||||
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osg.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgDB.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgGA.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgParticle.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgText.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgUtil.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgViewer.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgSim.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGInstallDir}\bin\osg{#OSGSoNumber}-osgFX.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGInstallDir}\bin\ot{#OTSoNumber}-OpenThreads.dll"; DestDir: "{app}\bin"; Check: not Is64BitInstallMode
|
|
||||||
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_ac.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_osg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_osga.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_3ds.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_mdl.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_jpeg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_rgb.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_png.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_dds.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_txf.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_tiff.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
Source: "{#OSGPluginsDir}\osgdb_freetype.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_serializers_osg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_serializers_osganimation.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_serializers_osgfx.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_serializers_osgmanipulator.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_serializers_osgparticle.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_serializers_osgshadow.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_serializers_osgsim.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_serializers_osgterrain.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_serializers_osgtext.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_serializers_osgvolume.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_deprecated_osg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
;Source: "{#OSGPluginsDir}\osgdb_deprecated_osgparticle.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Check: not Is64BitInstallMode
|
|
||||||
|
|
||||||
; 64 bits install
|
|
||||||
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osg.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgDB.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgGA.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgParticle.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgText.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgUtil.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgViewer.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgSim.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64InstallDir}\bin\osg{#OSGSoNumber}-osgFX.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64InstallDir}\bin\ot{#OTSoNumber}-OpenThreads.dll"; DestDir: "{app}\bin"; Check: Is64BitInstallMode
|
|
||||||
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_ac.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_osg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_osga.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_3ds.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_mdl.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_jpeg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_rgb.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_png.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_dds.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_txf.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_tiff.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
Source: "{#OSG64PluginsDir}\osgdb_freetype.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_serializers_osg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_serializers_osganimation.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_serializers_osgfx.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_serializers_osgmanipulator.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_serializers_osgparticle.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_serializers_osgshadow.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_serializers_osgsim.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_serializers_osgterrain.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_serializers_osgtext.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_serializers_osgvolume.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_deprecated_osg.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
;Source: "{#OSG64PluginsDir}\osgdb_deprecated_osgparticle.dll"; DestDir: "{app}\bin\osgPlugins-{#OSGVersion}"; Flags: skipifsourcedoesntexist; Check: Is64BitInstallMode
|
|
||||||
|
|
||||||
[Dirs]
|
[Dirs]
|
||||||
; Make the user installable scenery directory
|
; Make the user installable scenery directory
|
||||||
Name: "{userdocs}\FlightGear\Aircraft"; Permissions: everyone-modify; Check: not DirExists(ExpandConstant('{userdocs}\FlightGear\Aircraft'))
|
Name: "{%USERPROFILE}\FlightGear\Downloads"; Permissions: creatorowner-modify; Check: not DirExists(ExpandConstant('{%USERPROFILE}\FlightGear\Downloads'))
|
||||||
Name: "{userdocs}\FlightGear\TerraSync"; Permissions: everyone-modify; Check: not DirExists(ExpandConstant('{userdocs}\FlightGear\TerraSync'))
|
Name: "{%USERPROFILE}\FlightGear\Custom Aircraft"; Permissions: creatorowner-modify; Check: not DirExists(ExpandConstant('{%USERPROFILE}\FlightGear\Custom Aircraft'))
|
||||||
Name: "{userdocs}\FlightGear\Custom Scenery"; Permissions: everyone-modify; Check: not DirExists(ExpandConstant('{userdocs}\FlightGear\Custom Scenery'))
|
Name: "{%USERPROFILE}\FlightGear\Custom Scenery"; Permissions: creatorowner-modify; Check: not DirExists(ExpandConstant('{%USERPROFILE}\FlightGear\Custom Scenery'))
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
Name: "{userdesktop}\FlightGear {#FGVersion}"; Filename: "{app}\bin\fgfs.exe"; Parameters: "--launcher"; WorkingDir: "{app}\bin"; Tasks: desktopicon;
|
Name: "{userdesktop}\FlightGear {#FGVersionGroup}"; Filename: "{app}\bin\fgfs.exe"; Parameters: "--launcher"; WorkingDir: "{app}\bin"; Tasks: desktopicon;
|
||||||
Name: "{group}\FlightGear"; Filename: "{app}\bin\fgfs.exe"; Parameters: "--launcher"; WorkingDir: "{app}\bin";
|
Name: "{group}\FlightGear {#FGVersionGroup}"; Filename: "{app}\bin\fgfs.exe"; Parameters: "--launcher"; WorkingDir: "{app}\bin";
|
||||||
Name: "{group}\FlightGear - Compositor"; Filename: "{app}\bin\fgfs-compositor.exe"; Parameters: "--launcher"; WorkingDir: "{app}\bin";
|
Name: "{group}\FlightGear Manual"; Filename: "http://flightgear.sourceforge.net/manual/{#FGVersionGroup}/"
|
||||||
Name: "{group}\FlightGear Manual"; Filename: "{app}\data\Docs\getstart.pdf"
|
|
||||||
Name: "{group}\FlightGear Documentation"; Filename: "{app}\data\Docs\index.html"
|
|
||||||
Name: "{group}\Flightgear Wiki"; Filename: "http://wiki.flightgear.org"
|
Name: "{group}\Flightgear Wiki"; Filename: "http://wiki.flightgear.org"
|
||||||
Name: "{group}\Tools\Uninstall FlightGear"; Filename: "{uninstallexe}"
|
Name: "{group}\Tools\Uninstall FlightGear"; Filename: "{uninstallexe}"
|
||||||
Name: "{group}\Tools\fgjs"; Filename: "cmd"; Parameters: "/k fgjs.exe ""--fg-root={app}\data"""; WorkingDir: "{app}\bin"
|
Name: "{group}\Tools\fgjs"; Filename: "cmd"; Parameters: "/k fgjs.exe ""--fg-root={app}\data"""; WorkingDir: "{app}\bin"
|
||||||
@ -223,6 +143,32 @@ const
|
|||||||
NET_FW_PROFILE2_PRIVATE = 2;
|
NET_FW_PROFILE2_PRIVATE = 2;
|
||||||
NET_FW_PROFILE2_PUBLIC = 4;
|
NET_FW_PROFILE2_PUBLIC = 4;
|
||||||
|
|
||||||
|
var
|
||||||
|
UninstallCheckCleanPage: TNewNotebookPage;
|
||||||
|
UninstallBackButton: TNewButton;
|
||||||
|
UninstallNextButton: TNewButton;
|
||||||
|
DoCleanCheckbox : TNewCheckBox;
|
||||||
|
CleanHelp : TNewStaticText;
|
||||||
|
DownloadPage: TDownloadWizardPage;
|
||||||
|
DownloadPageId: Integer;
|
||||||
|
ExtractDownload: TOutputProgressWizardPage;
|
||||||
|
|
||||||
|
ResultCode: Integer;
|
||||||
|
|
||||||
|
function OnDownloadProgress(const Url, FileName: String; const Progress, ProgressMax: Int64): Boolean;
|
||||||
|
begin
|
||||||
|
if Progress = ProgressMax then
|
||||||
|
Log(Format('Successfully downloaded file to {tmp}: %s', [FileName]));
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure InitializeWizard;
|
||||||
|
begin
|
||||||
|
DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), @OnDownloadProgress);
|
||||||
|
DownloadPageId := DownloadPage.ID;
|
||||||
|
ExtractDownload := CreateOutputProgressPage(ExpandConstant('{cm:ExtractingDownloadContentTitle}'), ExpandConstant('{cm:ExtractingDownloadContentMessage}'));
|
||||||
|
end;
|
||||||
|
|
||||||
procedure URLLabelOnClick(Sender: TObject);
|
procedure URLLabelOnClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
ErrorCode: Integer;
|
ErrorCode: Integer;
|
||||||
@ -326,17 +272,140 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function ShouldSkipPage(PageID: Integer): Boolean;
|
||||||
|
begin;
|
||||||
|
if (PageID = DownloadPageId) then
|
||||||
|
begin
|
||||||
|
if (ExpandConstant('{#IncludeWeb}') = 'FALSE') then begin
|
||||||
|
Result := True;
|
||||||
|
end else begin
|
||||||
|
Result := False;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function NextButtonClick(CurPageID: Integer): Boolean;
|
||||||
var
|
var
|
||||||
UninstallCheckCleanPage: TNewNotebookPage;
|
fgDataInstalled: Cardinal;
|
||||||
UninstallBackButton: TNewButton;
|
diskFreeMB, diskTotalMB: Cardinal;
|
||||||
UninstallNextButton: TNewButton;
|
begin
|
||||||
DoCleanCheckbox : TNewCheckBox;
|
if CurPageID = wpSelectDir then begin
|
||||||
CleanHelp : TNewStaticText;
|
// check disk free space - installationFolder
|
||||||
|
if GetSpaceOnDisk(ExpandConstant('{app}'), True, diskFreeMB, diskTotalMB) then
|
||||||
|
begin
|
||||||
|
if diskFreeMB < 6000 then begin
|
||||||
|
MsgBox(ExpandConstant('{cm:NotEnoughSpaceOnInstallationDisk}'), mbError, MB_OK);
|
||||||
|
Result := False;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// check disk free space - tempFolder
|
||||||
|
if GetSpaceOnDisk(ExpandConstant('{tmp}'), True, diskFreeMB, diskTotalMB) then
|
||||||
|
begin
|
||||||
|
if diskFreeMB < 6000 then begin
|
||||||
|
MsgBox(ExpandConstant('{cm:NotEnoughSpaceOnTemporaryDisk}'), mbError, MB_OK);
|
||||||
|
Result := False;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// if cannot determine disk size, defaults to move on
|
||||||
|
if diskFreeMB = 0 then begin
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else if CurPageID = wpReady then begin
|
||||||
|
|
||||||
|
if ShouldSkipPage(DownloadPageId) = false then begin
|
||||||
|
DownloadPage.Clear;
|
||||||
|
|
||||||
|
fgDataInstalled := 0;
|
||||||
|
|
||||||
|
// checking registry entry, if fgdata was installed
|
||||||
|
if RegKeyExists(HKEY_LOCAL_MACHINE, ExpandConstant('Software\FlightGear\{#FGVersionGroup}')) then
|
||||||
|
begin
|
||||||
|
if RegQueryDWordValue(HKEY_LOCAL_MACHINE, ExpandConstant('Software\FlightGear\{#FGVersionGroup}'), 'fgdata-installed', fgDataInstalled) then
|
||||||
|
begin
|
||||||
|
Log('Previous fgdata installed. Downloading delta package');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// selecting fgdata installation packages
|
||||||
|
if (fgDataInstalled = 1) then
|
||||||
|
begin
|
||||||
|
DownloadPage.Add('https://sourceforge.net/projects/flightgear/files/release-{#FGVersionGroup}/FlightGear-{#FGVersion}-update-data.txz/download', 'fgdata-downloaded.txz', '');
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
DownloadPage.Add('https://sourceforge.net/projects/flightgear/files/release-{#FGVersionGroup}/FlightGear-{#FGVersion}-data.txz/download', 'fgdata-downloaded.txz', '');
|
||||||
|
end;
|
||||||
|
|
||||||
|
DownloadPage.Show;
|
||||||
|
try
|
||||||
|
try
|
||||||
|
DownloadPage.Download;
|
||||||
|
// show extract progress page
|
||||||
|
try
|
||||||
|
ExtractDownload.Show;
|
||||||
|
ExtractDownload.SetText(ExpandConstant('{cm:ExtractingDownloadedFile}'), 'fgdata-downloaded.txz');
|
||||||
|
ExtractTemporaryFile('xz.exe');
|
||||||
|
ExtractTemporaryFile('liblzma.dll');
|
||||||
|
if Exec(ExpandConstant('{tmp}\xz.exe'), ExpandConstant('-d "{tmp}\fgdata-downloaded.txz"'), ExpandConstant('{tmp}'), SW_HIDE, ewWaitUntilTerminated, ResultCode) then
|
||||||
|
begin
|
||||||
|
Log(Format('Successfully expanded file: %s', [ExpandConstant('{tmp}\fgdata-downloaded.txz')]));
|
||||||
|
ExtractDownload.SetText(ExpandConstant('{cm:UntarringDownloadedFile}'), ExpandConstant('fgdata-downloaded.tar'));
|
||||||
|
ExtractTemporaryFile('tar.exe');
|
||||||
|
ExtractTemporaryFile('libiconv-2.dll');
|
||||||
|
ExtractTemporaryFile('libintl-2.dll');
|
||||||
|
CreateDir(ExpandConstant('{tmp}\fgdata-extracted'));
|
||||||
|
if Exec(ExpandConstant('{tmp}\tar.exe'), ExpandConstant('-xf fgdata-downloaded.tar -C fgdata-extracted'), ExpandConstant('{tmp}'), SW_HIDE, ewWaitUntilTerminated, ResultCode) then
|
||||||
|
begin
|
||||||
|
Log(Format('Successfully untarred file: %s', [ExpandConstant('{tmp}\fgdata-downloaded.tar')]));
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
Log(Format('ERROR untarring file: %s', [ExpandConstant('{tmp}\fgdata-downloaded.tar')]));
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
Log(Format('ERROR expanding file: %s', [ExpandConstant('{tmp}\fgdata-downloaded.txz')]));
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
ExtractDownload.Hide;
|
||||||
|
end;
|
||||||
|
Result := True;
|
||||||
|
except
|
||||||
|
// FIXME - available in IS 6.1.3-dev
|
||||||
|
//if DownloadPage.AbortedByUser then
|
||||||
|
// Log('Aborted by user.')
|
||||||
|
//else
|
||||||
|
SuppressibleMsgBox(Format(ExpandConstant('{cm:ErrorDownloadingFile}'), [AddPeriod(GetExceptionMessage)]), mbCriticalError, MB_OK, IDOK);
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
DownloadPage.Hide;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
// skipping downloading
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure InitializeUninstallProgressForm();
|
procedure InitializeUninstallProgressForm();
|
||||||
begin
|
begin
|
||||||
UninstallProgressForm
|
|
||||||
|
|
||||||
UninstallCheckCleanPage := TNewNotebookPage.Create(UninstallProgressForm);
|
UninstallCheckCleanPage := TNewNotebookPage.Create(UninstallProgressForm);
|
||||||
UninstallCheckCleanPage.Notebook := UninstallProgressForm.InnerNotebook;
|
UninstallCheckCleanPage.Notebook := UninstallProgressForm.InnerNotebook;
|
||||||
UninstallCheckCleanPage.Parent := UninstallProgressForm.InnerNotebook;
|
UninstallCheckCleanPage.Parent := UninstallProgressForm.InnerNotebook;
|
||||||
@ -344,7 +413,7 @@ begin
|
|||||||
|
|
||||||
DoCleanCheckbox := TNewCheckBox.Create(UninstallProgressForm);
|
DoCleanCheckbox := TNewCheckBox.Create(UninstallProgressForm);
|
||||||
DoCleanCheckbox.Parent := UninstallCheckCleanPage;
|
DoCleanCheckbox.Parent := UninstallCheckCleanPage;
|
||||||
DoCleanCheckbox.Caption := 'Remove all settings, downloaded scenery and aircraft';
|
DoCleanCheckbox.Caption := ExpandConstant('{cm:RemoveAllSettings}');
|
||||||
DoCleanCheckbox.Left := ScaleX(10);
|
DoCleanCheckbox.Left := ScaleX(10);
|
||||||
DoCleanCheckbox.Top := ScaleY(10);
|
DoCleanCheckbox.Top := ScaleY(10);
|
||||||
|
|
||||||
@ -359,9 +428,7 @@ begin
|
|||||||
CleanHelp.Height := CleanHelp.AdjustHeight();
|
CleanHelp.Height := CleanHelp.AdjustHeight();
|
||||||
|
|
||||||
CleanHelp.WordWrap := True;
|
CleanHelp.WordWrap := True;
|
||||||
CleanHelp.Caption := 'FlightGear stores some settings in your user folder. In addition, ' +
|
CleanHelp.Caption := ExpandConstant('{cm:RemoveAllSettingsDescription}');
|
||||||
'scenery or aircraft data may have been downloaded to the download directory. ' +
|
|
||||||
'To completely remove all these files, select this option.';
|
|
||||||
|
|
||||||
UninstallProgressForm.InnerNotebook.ActivePage := UninstallCheckCleanPage;
|
UninstallProgressForm.InnerNotebook.ActivePage := UninstallCheckCleanPage;
|
||||||
|
|
||||||
@ -392,14 +459,15 @@ var
|
|||||||
begin
|
begin
|
||||||
if CurStep = ssPostInstall then
|
if CurStep = ssPostInstall then
|
||||||
begin
|
begin
|
||||||
|
// firewall rules
|
||||||
GetWindowsVersionEx(Version);
|
GetWindowsVersionEx(Version);
|
||||||
if (Version.Major >= 6) then
|
if (Version.Major >= 6) then
|
||||||
begin
|
begin
|
||||||
{ IN and OUT rules must be specified separately, otherwise the firewall will create only the IN rule }
|
{ IN and OUT rules must be specified separately, otherwise the firewall will create only the IN rule }
|
||||||
AddAdvancedFirewallException('FlightGear', 'Allows FlightGear to send and receive data over the multiplayer network and to get METARs.', ExpandConstant('{app}') + '\bin\fgfs.exe', NET_FW_IP_PROTOCOL_ALL, '', '', NET_FW_RULE_DIR_IN);
|
AddAdvancedFirewallException('FlightGear', ExpandConstant('{cm:FirewallFgException}'), ExpandConstant('{app}') + '\bin\fgfs.exe', NET_FW_IP_PROTOCOL_ALL, '', '', NET_FW_RULE_DIR_IN);
|
||||||
AddAdvancedFirewallException('FlightGear', 'Allows FlightGear to send and receive data over the multiplayer network and to get METARs.', ExpandConstant('{app}') + '\bin\fgfs.exe', NET_FW_IP_PROTOCOL_ALL, '', '', NET_FW_RULE_DIR_OUT);
|
AddAdvancedFirewallException('FlightGear', ExpandConstant('{cm:FirewallFgException}'), ExpandConstant('{app}') + '\bin\fgfs.exe', NET_FW_IP_PROTOCOL_ALL, '', '', NET_FW_RULE_DIR_OUT);
|
||||||
AddAdvancedFirewallException('FlightGear FGCom', 'Allows FGCom to establish a connection to FlightGear and the VoIP server for voice ATC communication.', ExpandConstant('{app}') + '\bin\fgcom.exe', NET_FW_IP_PROTOCOL_ALL, '', '', NET_FW_RULE_DIR_IN);
|
AddAdvancedFirewallException('FlightGear FGCom', ExpandConstant('{cm:FirewallFgcomException}'), ExpandConstant('{app}') + '\bin\fgcom.exe', NET_FW_IP_PROTOCOL_ALL, '', '', NET_FW_RULE_DIR_IN);
|
||||||
AddAdvancedFirewallException('FlightGear FGCom', 'Allows FGCom to establish a connection to FlightGear and the VoIP server for voice ATC communication.', ExpandConstant('{app}') + '\bin\fgcom.exe', NET_FW_IP_PROTOCOL_ALL, '', '', NET_FW_RULE_DIR_OUT);
|
AddAdvancedFirewallException('FlightGear FGCom', ExpandConstant('{cm:FirewallFgcomException}'), ExpandConstant('{app}') + '\bin\fgcom.exe', NET_FW_IP_PROTOCOL_ALL, '', '', NET_FW_RULE_DIR_OUT);
|
||||||
end
|
end
|
||||||
else if (Version.Major = 5) and (((Version.Minor = 1) and (Version.ServicePackMajor >= 2)) or ((Version.Minor = 2) and (Version.ServicePackMajor >= 1))) then
|
else if (Version.Major = 5) and (((Version.Minor = 1) and (Version.ServicePackMajor >= 2)) or ((Version.Minor = 2) and (Version.ServicePackMajor >= 1))) then
|
||||||
begin
|
begin
|
||||||
@ -407,6 +475,9 @@ begin
|
|||||||
AddBasicFirewallException('FlightGear', ExpandConstant('{app}') + '\bin\fgfs.exe');
|
AddBasicFirewallException('FlightGear', ExpandConstant('{app}') + '\bin\fgfs.exe');
|
||||||
AddBasicFirewallException('FlightGear FGCom', ExpandConstant('{app}') + '\bin\fgcom.exe');
|
AddBasicFirewallException('FlightGear FGCom', ExpandConstant('{app}') + '\bin\fgcom.exe');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// registry entries
|
||||||
|
RegWriteDWordValue(HKEY_LOCAL_MACHINE, ExpandConstant('Software\FlightGear\{#FGVersionGroup}'), 'fgdata-installed', 1);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -427,5 +498,8 @@ begin
|
|||||||
begin
|
begin
|
||||||
RemoveFirewallException('FlightGear', ExpandConstant('{app}') + '\bin\fgfs.exe');
|
RemoveFirewallException('FlightGear', ExpandConstant('{app}') + '\bin\fgfs.exe');
|
||||||
RemoveFirewallException('FlightGear FGCom', ExpandConstant('{app}') + '\bin\fgcom.exe');
|
RemoveFirewallException('FlightGear FGCom', ExpandConstant('{app}') + '\bin\fgcom.exe');
|
||||||
|
|
||||||
|
// registry entries
|
||||||
|
RegDeleteValue(HKEY_LOCAL_MACHINE, ExpandConstant('Software\FlightGear\{#FGVersionGroup}'), 'fgdata-installed');
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
160
build_appimage.sh
Executable file
160
build_appimage.sh
Executable file
@ -0,0 +1,160 @@
|
|||||||
|
#!/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 -d dist/lib64/* appdir/usr/lib
|
||||||
|
|
||||||
|
cp -a dist/lib64/osgPlugins-3.4.2 appdir/usr/lib
|
||||||
|
|
||||||
|
# adjust the rpath on the copied plugins, so they don't
|
||||||
|
# require LD_LIBRARY_PATH to be set to load their dependencies
|
||||||
|
# correctly
|
||||||
|
patchelf --set-rpath \$ORIGIN/../ appdir/usr/lib/osgPlugins-3.4.2/*.so
|
||||||
|
|
||||||
|
cp -r dist/share appdir/usr
|
||||||
|
|
||||||
|
cp /usr/lib64/libsoftokn3.* appdir/usr/lib
|
||||||
|
cp /usr/lib64/libnsspem.so appdir/usr/lib
|
||||||
|
cp /usr/lib64/libfreebl* appdir/usr/lib
|
||||||
|
cp -a /usr/lib64/liblzma* appdir/usr/lib
|
||||||
|
cp /etc/pki/tls/certs/ca-bundle.crt appdir/usr/ssl/cacert.pem
|
||||||
|
|
||||||
|
# HarfBuzz is in /lib64 on CentOS, but still copy it: see
|
||||||
|
# https://sourceforge.net/p/flightgear/codetickets/2590/
|
||||||
|
cp -a /lib64/libharfbuzz.so* appdir/usr/lib
|
||||||
|
|
||||||
|
# as we are copying over libharfbuzz we need the older libfontconfig,
|
||||||
|
# libfreetype & libpng15 as 2.11 breaks compatibility: see
|
||||||
|
# https://sourceforge.net/p/flightgear/codetickets/2651/
|
||||||
|
cp -a /usr/lib64/libfontconfig.so* appdir/usr/lib
|
||||||
|
cp -a /usr/lib64/libfreetype.so* appdir/usr/lib
|
||||||
|
cp -a /usr/lib64/libpng15.so* appdir/usr/lib
|
||||||
|
patchelf --set-rpath \$ORIGIN appdir/usr/lib/libfontconfig.so*
|
||||||
|
patchelf --set-rpath \$ORIGIN appdir/usr/lib/libfreetype.so*
|
||||||
|
patchelf --set-rpath \$ORIGIN appdir/usr/lib/libharfbuzz.so*
|
||||||
|
|
||||||
|
#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}")")"
|
||||||
|
BIN_DIR="${HERE}/usr/bin"
|
||||||
|
EXEC_OPT="--exec-app"
|
||||||
|
|
||||||
|
export SIMGEAR_TLS_CERT_PATH=$HERE/usr/ssl/cacert.pem
|
||||||
|
export OSG_LIBRARY_PATH=${HERE}/usr/lib
|
||||||
|
|
||||||
|
# Run launcher directly if no parameters are passed
|
||||||
|
if [[ "$#" -eq "0" ]]; then
|
||||||
|
echo "Started with no arguments; assuming --launcher"
|
||||||
|
exec "${HERE}/usr/bin/fgfs" --launcher
|
||||||
|
exit "$?"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check for special argument "--exec-app=" and execute selected application
|
||||||
|
if [[ "$1" == ${EXEC_OPT}=* ]] || [[ "$1" == "${EXEC_OPT}" ]]; then
|
||||||
|
OPT_VAL="${1#*=}"
|
||||||
|
APP_PATH="${BIN_DIR}/${OPT_VAL}"
|
||||||
|
|
||||||
|
# Call without arguments
|
||||||
|
if [[ "$1" == "${EXEC_OPT}" ]] || [[ -z "${OPT_VAL}" ]]; then
|
||||||
|
ERROR="1"
|
||||||
|
# Make sure executable name does not contain any "/"
|
||||||
|
elif [[ "${OPT_VAL}" == */* ]]; then
|
||||||
|
echo "Error: path separator \"/\" was used in application name!"
|
||||||
|
ERROR="1"
|
||||||
|
# Check if resulting file exists and is executable
|
||||||
|
elif [[ -z "$(find "${APP_PATH}" -type f \( \( -perm -00005 -a ! -user "$(id -u)" -a ! -group "$(id -g)" \) -o \( -perm -00500 -a -user "$(id -u)" \) -o \( -perm -00050 -a -group "$(id -g)" \) \) 2>/dev/null)" ]]; then
|
||||||
|
echo "Error: \"${OPT_VAL}\" is not a valid application name or cannot be executed by current user!"
|
||||||
|
ERROR="1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# In case of error or no arguments show help
|
||||||
|
if [[ ! -z "${ERROR}" ]]; then
|
||||||
|
|
||||||
|
# Determine AppImage's filename
|
||||||
|
IMAGE_FILE_NAME="$(basename "${APPIMAGE}" 2>/dev/null)"
|
||||||
|
if [[ -z "${IMAGE_FILE_NAME}" ]]; then
|
||||||
|
IMAGE_FILE_NAME="FlightGear.AppImage"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Print help
|
||||||
|
echo "Usage: ./${IMAGE_FILE_NAME} ${EXEC_OPT}=<application>"
|
||||||
|
echo "Pass ${EXEC_OPT} as first positional argument."
|
||||||
|
echo "Additional arguments are passed to the called application."
|
||||||
|
echo "Valid values for <application> are:"
|
||||||
|
while IFS= read -r -d $'\0' bin_exe; do
|
||||||
|
echo " $(basename "${bin_exe}")"
|
||||||
|
done < <( find "${BIN_DIR}/" -maxdepth 1 -type f \( \( -perm -00005 -a ! -user "$(id -u)" -a ! -group "$(id -g)" \) -o \( -perm -00500 -a -user "$(id -u)" \) -o \( -perm -00050 -a -group "$(id -g)" \) \) -exec printf "%s\0" "{}" \; )
|
||||||
|
# We have to use these odd find conditions since "find -executable" also lists non-executables when AppImage is executed. The reason is most likely the way it is mounted.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Execute selected application and pass remaining parameters
|
||||||
|
# "pop" the first argument
|
||||||
|
shift
|
||||||
|
exec "${APP_PATH}" "$@"
|
||||||
|
else
|
||||||
|
exec "${HERE}/usr/bin/fgfs" "$@"
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
chmod +x appdir/AppRun
|
||||||
|
|
||||||
|
#grab continuous linuxdeployqt
|
||||||
|
wget -c https://github.com/probonopd/linuxdeployqt/releases/download/7/linuxdeployqt-7-x86_64.AppImage
|
||||||
|
#wget -c https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
|
||||||
|
chmod +x linuxdeployqt-7-x86_64.AppImage
|
||||||
|
|
||||||
|
#set VERSION for AppImage creation
|
||||||
|
export VERSION=`cat flightgear/flightgear-version`
|
||||||
|
|
||||||
|
# Add all executable binaries as additional binaries to AppImage and use special quoted array expansion
|
||||||
|
ADDITIONAL_EXES=()
|
||||||
|
while IFS= read -r -d $'\0' bin_exe; do
|
||||||
|
ADDITIONAL_EXES+=("-executable=${bin_exe}")
|
||||||
|
done < <( find "appdir/usr/bin/" -maxdepth 1 -type f \( \( -perm -00500 -o -perm -00050 -o -perm -00005 \) -a ! -name "fgfs" \) -exec printf "%s\0" "{}" \; )
|
||||||
|
# This find statement filters for all files with at least one executability bit set
|
||||||
|
|
||||||
|
./linuxdeployqt-7-x86_64.AppImage appdir/usr/share/applications/org.flightgear.FlightGear.desktop -appimage -qmldir=flightgear/src/GUI/qml/ "${ADDITIONAL_EXES[@]}"
|
@ -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,44 +24,63 @@ 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/.
|
||||||
|
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
|
|
||||||
echo "Assembling base package"
|
if which sentry-cli >/dev/null; then
|
||||||
cd $WORKSPACE
|
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
|
||||||
|
|
||||||
tar cjf output/FlightGear-$VERSION-data.tar.bz2 fgdata/
|
|
||||||
|
@ -20,7 +20,6 @@ SET OSG64=%WORKSPACE%\install\msvc140-64\OpenSceneGraph
|
|||||||
REM 32bits
|
REM 32bits
|
||||||
md build-sg32
|
md build-sg32
|
||||||
md build-fg32
|
md build-fg32
|
||||||
md build-fg32-compositor
|
|
||||||
|
|
||||||
cd build-sg32
|
cd build-sg32
|
||||||
cmake ..\simgear -G "Visual Studio 14" ^
|
cmake ..\simgear -G "Visual Studio 14" ^
|
||||||
@ -42,25 +41,11 @@ cmake ..\flightgear -G "Visual Studio 14" ^
|
|||||||
-DENABLE_SWIFT:BOOL=ON ^
|
-DENABLE_SWIFT:BOOL=ON ^
|
||||||
-DENABLE_COMPOSITOR:BOOL=OFF
|
-DENABLE_COMPOSITOR:BOOL=OFF
|
||||||
cmake --build . --config RelWithDebInfo --target INSTALL
|
cmake --build . --config RelWithDebInfo --target INSTALL
|
||||||
|
|
||||||
cd ..\build-fg32-compositor
|
|
||||||
cmake ..\flightgear -G "Visual Studio 14" ^
|
|
||||||
-DMSVC_3RDPARTY_ROOT=%WORKSPACE%/windows-3rd-party/msvc140 ^
|
|
||||||
-DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc140/compositor ^
|
|
||||||
-DCMAKE_PREFIX_PATH:PATH=%QT5SDK32%;%OSG32%;%WORKSPACE%/install/msvc140/ ^
|
|
||||||
-DBOOST_ROOT=%WORKSPACE%/windows-3rd-party ^
|
|
||||||
-DOSG_FSTREAM_EXPORT_FIXED=1 ^
|
|
||||||
-DFG_BUILD_TYPE=%FGBUILDTYPE% ^
|
|
||||||
-DENABLE_SWIFT:BOOL=ON ^
|
|
||||||
-DENABLE_COMPOSITOR:BOOL=ON
|
|
||||||
cmake --build . --config RelWithDebInfo --target INSTALL
|
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
REM 64 bits
|
REM 64 bits
|
||||||
md build-sg64
|
md build-sg64
|
||||||
md build-fg64
|
md build-fg64
|
||||||
md build-fg64-compositor
|
|
||||||
|
|
||||||
cd build-sg64
|
cd build-sg64
|
||||||
cmake ..\SimGear -G "Visual Studio 14 Win64" ^
|
cmake ..\SimGear -G "Visual Studio 14 Win64" ^
|
||||||
@ -82,26 +67,14 @@ cmake ..\flightgear -G "Visual Studio 14 Win64" ^
|
|||||||
-DENABLE_SWIFT:BOOL=ON ^
|
-DENABLE_SWIFT:BOOL=ON ^
|
||||||
-DENABLE_COMPOSITOR:BOOL=OFF
|
-DENABLE_COMPOSITOR:BOOL=OFF
|
||||||
cmake --build . --config RelWithDebInfo --target INSTALL
|
cmake --build . --config RelWithDebInfo --target INSTALL
|
||||||
|
|
||||||
cd ..\build-fg64-compositor
|
|
||||||
cmake ..\flightgear -G "Visual Studio 14 Win64" ^
|
|
||||||
-DMSVC_3RDPARTY_ROOT=%WORKSPACE%/windows-3rd-party/msvc140 ^
|
|
||||||
-DBOOST_ROOT=%WORKSPACE%/windows-3rd-party ^
|
|
||||||
-DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc140-64/compositor ^
|
|
||||||
-DCMAKE_PREFIX_PATH=%QT5SDK64%;%OSG64%;%WORKSPACE%/install/msvc140-64/ ^
|
|
||||||
-DOSG_FSTREAM_EXPORT_FIXED=1 ^
|
|
||||||
-DFG_BUILD_TYPE=%FGBUILDTYPE% ^
|
|
||||||
-DENABLE_SWIFT:BOOL=ON ^
|
|
||||||
-DENABLE_COMPOSITOR:BOOL=ON
|
|
||||||
cmake --build . --config RelWithDebInfo --target INSTALL
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
REM Qt5 deployment
|
REM Qt5 deployment
|
||||||
SET QMLDIR=%WORKSPACE%/flightgear/src/GUI/qml
|
SET QMLDIR=%WORKSPACE%/flightgear/src/GUI/qml
|
||||||
%QT5SDK32%\bin\windeployqt --release --list target --qmldir %QMLDIR% %WORKSPACE%/install/msvc140/bin/fgfs.exe
|
|
||||||
%QT5SDK32%\bin\windeployqt --release --list target --qmldir %QMLDIR% %WORKSPACE%/install/msvc140/compositor/bin/fgfs.exe
|
REM Don't copy the compiler runtime libs, since it includes potentially older UCrtbase.
|
||||||
%QT5SDK64%\bin\windeployqt --release --list target --qmldir %QMLDIR% %WORKSPACE%/install/msvc140-64/bin/fgfs.exe
|
%QT5SDK32%\bin\windeployqt --release --list target --no-compiler-runtime --qmldir %QMLDIR% %WORKSPACE%/install/msvc140/bin/fgfs.exe
|
||||||
%QT5SDK64%\bin\windeployqt --release --list target --qmldir %QMLDIR% %WORKSPACE%/install/msvc140-64/compositor/bin/fgfs.exe
|
%QT5SDK64%\bin\windeployqt --release --list target --no-compiler-runtime --qmldir %QMLDIR% %WORKSPACE%/install/msvc140-64/bin/fgfs.exe
|
||||||
|
|
||||||
REM build setup
|
REM build setup
|
||||||
ECHO Packaging root is %WORKSPACE%
|
ECHO Packaging root is %WORKSPACE%
|
||||||
@ -118,10 +91,8 @@ 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 %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,11 +100,17 @@ 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
|
||||||
|
|
||||||
|
for /F "tokens=1,2,3 delims=." %%a in ("%FLIGHTGEAR_VERSION%") do (
|
||||||
|
set FLIGHTGEAR_VERSION_MAJOR=%%a
|
||||||
|
set FLIGHTGEAR_VERSION_MINOR=%%b
|
||||||
|
set FLIGHTGEAR_VERSION_PATCH=%%c
|
||||||
|
)
|
||||||
|
|
||||||
IF %IS_NIGHTLY_BUILD% EQU 1 (
|
IF %IS_NIGHTLY_BUILD% EQU 1 (
|
||||||
REM FlightGear nightly: with fgdata, output filename would be "FlightGear-x.x.x-nightly-full.exe"
|
REM FlightGear nightly: with fgdata, output filename would be "FlightGear-x.x.x-nightly-full.exe"
|
||||||
CALL :writeBaseConfig
|
CALL :writeBaseConfig
|
||||||
@ -149,11 +126,18 @@ IF %IS_NIGHTLY_BUILD% EQU 1 (
|
|||||||
CALL :writeBaseConfig
|
CALL :writeBaseConfig
|
||||||
CALL :writeReleaseConfig
|
CALL :writeReleaseConfig
|
||||||
iscc /Q FlightGear.iss
|
iscc /Q FlightGear.iss
|
||||||
|
|
||||||
|
REM FlightGear release: with fgdata web installer, output filename would be "FlightGear-x.x.x-web.exe"
|
||||||
|
CALL :writeBaseConfig
|
||||||
|
CALL :writeReleaseWebConfig
|
||||||
|
iscc /Q FlightGear.iss
|
||||||
)
|
)
|
||||||
GOTO End
|
GOTO End
|
||||||
|
|
||||||
:writeBaseConfig
|
:writeBaseConfig
|
||||||
ECHO #define FGVersion "%FLIGHTGEAR_VERSION%" > InstallConfig.iss
|
ECHO #define FGHarnessPath "x:" > InstallConfig.iss
|
||||||
|
ECHO #define FGVersion "%FLIGHTGEAR_VERSION%" >> InstallConfig.iss
|
||||||
|
ECHO #define FGVersionGroup "%FLIGHTGEAR_VERSION_MAJOR%.%FLIGHTGEAR_VERSION_MINOR%" >> InstallConfig.iss
|
||||||
ECHO #define OSGVersion "%OSG_VERSION%" >> InstallConfig.iss
|
ECHO #define OSGVersion "%OSG_VERSION%" >> InstallConfig.iss
|
||||||
ECHO #define OSGSoNumber "%OSG_SO_NUMBER%" >> InstallConfig.iss
|
ECHO #define OSGSoNumber "%OSG_SO_NUMBER%" >> InstallConfig.iss
|
||||||
ECHO #define OTSoNumber "%OT_SO_NUMBER%" >> InstallConfig.iss
|
ECHO #define OTSoNumber "%OT_SO_NUMBER%" >> InstallConfig.iss
|
||||||
@ -163,6 +147,14 @@ GOTO End
|
|||||||
CALL :writeBaseConfig
|
CALL :writeBaseConfig
|
||||||
ECHO #define FGDetails "" >> InstallConfig.iss
|
ECHO #define FGDetails "" >> InstallConfig.iss
|
||||||
ECHO #define IncludeData "TRUE" >> InstallConfig.iss
|
ECHO #define IncludeData "TRUE" >> InstallConfig.iss
|
||||||
|
ECHO #define IncludeWeb "FALSE" >> InstallConfig.iss
|
||||||
|
GOTO End
|
||||||
|
|
||||||
|
:writeReleaseWebConfig
|
||||||
|
CALL :writeBaseConfig
|
||||||
|
ECHO #define FGDetails "-web" >> InstallConfig.iss
|
||||||
|
ECHO #define IncludeData "FALSE" >> InstallConfig.iss
|
||||||
|
ECHO #define IncludeWeb "TRUE" >> InstallConfig.iss
|
||||||
GOTO End
|
GOTO End
|
||||||
|
|
||||||
:writeNightlyFullConfig
|
:writeNightlyFullConfig
|
||||||
|
2
fgdata
2
fgdata
@ -1 +1 @@
|
|||||||
Subproject commit 7d78937a4c118e3653ed50904fe8a2a0d37da0f2
|
Subproject commit 9a84fc2d0e4eded6d833b5d7d19d73926a982474
|
@ -1 +1 @@
|
|||||||
Subproject commit 61808019a05371f1f1c5f451601504020edf932f
|
Subproject commit 19374c48745652419cd62b045e7380cc06b5df84
|
2
getstart
2
getstart
@ -1 +1 @@
|
|||||||
Subproject commit 4313401e954c9eae8e69aed1fd85ebb57340b0c5
|
Subproject commit e00baf8d287c9683836e0acd2247abf1235ce4f2
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
@ -112,11 +112,14 @@ libFile = "libOpenThreads.#{$openThreadsSoVersion}.dylib"
|
|||||||
|
|
||||||
# DBus and libEvent needed for SWIFT
|
# DBus and libEvent needed for SWIFT
|
||||||
# Sentry is crash reporting
|
# Sentry is crash reporting
|
||||||
otherLibs = ['dbus-1.3', 'event_core-2.2.1', 'sentry']
|
otherLibs = ['dbus-1.3', 'event_core-2.1.7', 'sentry']
|
||||||
otherLibs.each do |l|
|
otherLibs.each do |l|
|
||||||
`cp #{$prefixDir}/lib/lib#{l}.dylib #{$frameworksDir}`
|
`cp #{$prefixDir}/lib/lib#{l}.dylib #{$frameworksDir}`
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# copy LibLZMA from Homebrew XZ
|
||||||
|
`cp /usr/local/lib/liblzma.dylib #{$frameworksDir}`
|
||||||
|
|
||||||
$osgPlugins.each do |p|
|
$osgPlugins.each do |p|
|
||||||
pluginFile = "osgdb_#{p}.dylib"
|
pluginFile = "osgdb_#{p}.dylib"
|
||||||
`cp #{$prefixDir}/lib/osgPlugins/#{pluginFile} #{osgPluginsDir}`
|
`cp #{$prefixDir}/lib/osgPlugins/#{pluginFile} #{osgPluginsDir}`
|
||||||
|
@ -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"
|
||||||
}
|
}
|
||||||
|
64
release_builder/create_base_package.sh
Executable file
64
release_builder/create_base_package.sh
Executable file
@ -0,0 +1,64 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#####################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$WORKSPACE" == "" ]; then
|
||||||
|
echo "ERROR: Missing WORKSPACE environment variable."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$WORKSPACE/fgdata" ]; then
|
||||||
|
echo "No fgdata subdir in WORKSPACE: can't continue"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
VERSION=`cat fgdata/version`
|
||||||
|
BASE_VERSION_TAG="version/2020.3.1"
|
||||||
|
SCENERY_PACK_AIRPORT=BIKF
|
||||||
|
SCENERY_PACK_URI="https://sourceforge.net/projects/flightgear/files/scenery/SceneryPack.${SCENERY_PACK_AIRPORT}.tgz/download"
|
||||||
|
|
||||||
|
echo "Assembling base package for $VERSION"
|
||||||
|
cd $WORKSPACE
|
||||||
|
|
||||||
|
|
||||||
|
# wipe directories and re-create
|
||||||
|
rm -rf staging
|
||||||
|
mkdir -p output
|
||||||
|
mkdir -p staging
|
||||||
|
|
||||||
|
# wipe existing data TXZs
|
||||||
|
rm output/FlightGear-$VERSION*data.txz
|
||||||
|
|
||||||
|
rsync -az --exclude=".git" --exclude="Textures/Unused" --exclude="*.xcf" fgdata staging/
|
||||||
|
|
||||||
|
# add all the scenery pack files into it
|
||||||
|
|
||||||
|
SCENERY_PACK_NAME=SceneryPack_${SCENERY_PACK_AIRPORT}.tgz
|
||||||
|
|
||||||
|
# Should we re-download the SceneryPack periodically? Or just rely on doing a workspace wipe?
|
||||||
|
if [ ! -f $SCENERY_PACK_NAME ]; then
|
||||||
|
echo "Downloading scenery pack from ${SCENERY_PACK_URI}"
|
||||||
|
# -L to follow the SF redirect
|
||||||
|
curl -L $SCENERY_PACK_URI --output $SCENERY_PACK_NAME
|
||||||
|
fi
|
||||||
|
|
||||||
|
pushd staging/fgdata/Scenery
|
||||||
|
tar -xf $WORKSPACE/$SCENERY_PACK_NAME --strip-components=1
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Creating full base package TXZ
|
||||||
|
|
||||||
|
OUTPUT_NAME=FlightGear-$VERSION-data
|
||||||
|
tar -cJf output/$OUTPUT_NAME.txz --directory staging fgdata
|
||||||
|
|
||||||
|
echo "Creating updates package"
|
||||||
|
|
||||||
|
pushd fgdata
|
||||||
|
git diff --name-only --line-prefix="fgdata/" $BASE_VERSION_TAG..HEAD > ../fgdata_changes
|
||||||
|
popd
|
||||||
|
|
||||||
|
tar -cJf output/FlightGear-$VERSION-update-data.txz -T fgdata_changes
|
||||||
|
|
||||||
|
echo "Done, data TXZs are in output/"
|
@ -1,26 +1,30 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
|
||||||
# Create the scenery pack for a release distribution
|
|
||||||
# Make sure to
|
|
||||||
# * set SCENERY and point it to your local (full) mirror of terrasync scenery
|
|
||||||
# * name the SCENERY_PACK correctly
|
|
||||||
# * carefully select the tiles to copy, usually 2x2, 2x3 or 3x2 keeps the pack small enough
|
|
||||||
#
|
|
||||||
SCENERY=/path/to/your/scenery
|
|
||||||
SCENERY_PACK=SceneryPack.PHNL
|
|
||||||
TILES="w160n[12]0/w???n??"
|
|
||||||
|
|
||||||
if [ ! -d "$SCENERY" ]; then
|
# the name to create
|
||||||
echo "Scenery directory not found or not readable"
|
SCENERY_PACK=SceneryPack.BIKF
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d "$SCENERY"/Objects -o ! -d "$SCENERY"/Terrain -o ! -d "$SCENERY"/Airports -o ! -d "$SCENERY"/Models ]; then
|
# the tiles to select
|
||||||
echo "Scenery directory does not look like a scenery directory"
|
TILES="w030n60/w???n??";
|
||||||
exit 1
|
|
||||||
fi
|
# tiles for PHNL for C172 tutorials
|
||||||
|
TUTORIAL_TILES="w160n[12]0/w???n??";
|
||||||
|
|
||||||
rm -f SceneryPack.*.tgz
|
rm -f SceneryPack.*.tgz
|
||||||
ln -s "$SCENERY" ${SCENERY_PACK}
|
|
||||||
tar --format=gnu --create --owner=root --group=root --gzip --exclude="**/.dirindex" --file=${SCENERY_PACK}.tgz ${SCENERY_PACK}/Objects/${TILES} ${SCENERY_PACK}/Terrain/${TILES} ${SCENERY_PACK}/Airports ${SCENERY_PACK}/Models
|
# note the path to the TerraSync root here
|
||||||
|
ln -s /var/www/uk-mirror/fgscenery ${SCENERY_PACK}
|
||||||
|
|
||||||
|
tar --format=gnu --create --owner=root --group=root --gzip --file=${SCENERY_PACK}.tgz \
|
||||||
|
${SCENERY_PACK}/Objects/${TILES} \
|
||||||
|
${SCENERY_PACK}/Terrain/${TILES} \
|
||||||
|
${SCENERY_PACK}/Objects/${TUTORIAL_TILES} \
|
||||||
|
${SCENERY_PACK}/Terrain/${TUTORIAL_TILES} \
|
||||||
|
${SCENERY_PACK}/Airports/B/I/K \
|
||||||
|
${SCENERY_PACK}/Airports/P/H \
|
||||||
|
${SCENERY_PACK}/Airports_archive.tgz \
|
||||||
|
${SCENERY_PACK}/Models
|
||||||
|
|
||||||
rm ${SCENERY_PACK}
|
rm ${SCENERY_PACK}
|
||||||
|
|
||||||
|
# upload to frs.sourceforge.net /home/frs/project/fl/flightgear/scenery/
|
||||||
|
|
||||||
|
34
release_builder/reset-git-author.sh
Executable file
34
release_builder/reset-git-author.sh
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#This file is part of FlightGear
|
||||||
|
#
|
||||||
|
#FlightGear 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 2 of the License, or
|
||||||
|
#(at your option) any later version.
|
||||||
|
#
|
||||||
|
#FlightGear 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 FlightGear If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
if [ -z "$1" -o -z "$2" ]; then
|
||||||
|
echo "usage: author email"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
resetAuthor() {
|
||||||
|
pushd $3 > /dev/null
|
||||||
|
git config user.name "$1"
|
||||||
|
git config user.email $2
|
||||||
|
popd > /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
resetAuthor "$1" $2 flightgear
|
||||||
|
resetAuthor "$1" $2 simgear
|
||||||
|
resetAuthor "$1" $2 fgdata
|
||||||
|
resetAuthor "$1" $2 getstart
|
||||||
|
resetAuthor "$1" $2 .
|
||||||
|
|
@ -33,9 +33,9 @@ MICRO_VERSION=${VERSION_A[2]}
|
|||||||
|
|
||||||
setVersionTo() {
|
setVersionTo() {
|
||||||
local V="$1"
|
local V="$1"
|
||||||
echo "setting version to $V"
|
echo "setting version to $V in $2"
|
||||||
echo "$V" > version
|
echo "$V" > $2
|
||||||
git add version
|
git add $2
|
||||||
echo "new version: $V" | git commit --file=-
|
echo "new version: $V" | git commit --file=-
|
||||||
git tag "version/$V"
|
git tag "version/$V"
|
||||||
}
|
}
|
||||||
@ -43,9 +43,22 @@ setVersionTo() {
|
|||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
echo "Processing $1"
|
echo "Processing $1"
|
||||||
pushd $1 > /dev/null
|
pushd $1 > /dev/null
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
flightgear)
|
||||||
|
versionFileName="flightgear-version"
|
||||||
|
;;
|
||||||
|
simgear)
|
||||||
|
versionFileName="simgear-version"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
versionFileName="version"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
git config user.name "Automatic Release Builder"
|
git config user.name "Automatic Release Builder"
|
||||||
git config user.email "build@flightgear.org"
|
git config user.email "build@flightgear.org"
|
||||||
setVersionTo "${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}"
|
setVersionTo "${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}" $versionFileName
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
2
simgear
2
simgear
@ -1 +1 @@
|
|||||||
Subproject commit bd93fb279b240412c034dc6bd89d033e79d5a44c
|
Subproject commit dfc992dde1f313ec98cf2c60a7f254c2a0f9360b
|
@ -1 +1 @@
|
|||||||
Subproject commit 790648cd695add44aa7b352ca381748bd50aac4f
|
Subproject commit cc2bd4fd97d4bf40d36f38b3b72dbd39441fd16e
|
BIN
windows/flightgear.ico
Normal file
BIN
windows/flightgear.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 102 KiB |
25
windows/info-before-en.txt
Normal file
25
windows/info-before-en.txt
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
FlightGear LTS
|
||||||
|
==============
|
||||||
|
|
||||||
|
Contains FlightGear stable source code from source code repository ('release' branch).
|
||||||
|
This is the FlightGear installer for Long Term Support (LTS) version. It contains
|
||||||
|
the most stable and well tested FlightGear source code. Have fun using it !
|
||||||
|
|
||||||
|
Latest features ?
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Please take a look at the FlightGear unstable installer, but beware, it can contains
|
||||||
|
new, not well tested code. If you want to have solid and stable flight experience
|
||||||
|
stick with this FlightGear LTS version.
|
||||||
|
|
||||||
|
|
||||||
|
I have found a bug !
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
If you find serious bugs, instability, performance degradation:
|
||||||
|
|
||||||
|
- look at the FlightGear Tickets page (on the SourceForge project page)
|
||||||
|
- ask on the FlightGear forum (explicitly say that you're using LTS version)
|
||||||
|
- look at the flightgear-devel mailing list
|
||||||
|
|
||||||
|
There is a probability, that developers are working on the solution it right now !
|
23
windows/info-before-nl.txt
Normal file
23
windows/info-before-nl.txt
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
FlightGear LTS
|
||||||
|
==============
|
||||||
|
|
||||||
|
Dit is de installatie voor de FlightGear versie met langdurige ondersteuning (LTS).
|
||||||
|
Het bevat de meest stabiele en zorgvuldig geteste versie van FlightGear. Veel plezier!
|
||||||
|
|
||||||
|
Op zoek naar de laatste ontwikkelingen?
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Installeer hiervoor de onstabiele versie. Maar let op, deze bevat nieuwe, niet goed
|
||||||
|
geteste code. Blijf de huidige LTS versie gebruiken voor de meest stabiele ervaring.
|
||||||
|
|
||||||
|
|
||||||
|
Ik heb een fout gevonden!
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Als er een fout, instabiliteit of prestatieprobleem optreedt:
|
||||||
|
|
||||||
|
- kijk op de Tickets pagina op de SourceForge website van het project
|
||||||
|
- vraag om hulp op het FlightGear forum (en vermeld daarbij dat om welke LTS versie het gaat)
|
||||||
|
- kijk op de flightgear-devel mailinglijst
|
||||||
|
|
||||||
|
De ontwikkelaars zijn misschien al bezig met het oplossen van het probleem!
|
26
windows/info-before-pl.txt
Normal file
26
windows/info-before-pl.txt
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
FlightGear LTS
|
||||||
|
==============
|
||||||
|
|
||||||
|
Zawiera kod źródłowy FlightGear z repozytorium kodu źródłowego (gałąź 'release).
|
||||||
|
To jest instalator dla wersji Long Term Support (LTS) - o długim czasie wsparcia.
|
||||||
|
Zawiera najbardziej stabilny i dobrze przetestowany kod źródłowy FlightGear.
|
||||||
|
Miłej zabawy i korzystania z niego !
|
||||||
|
|
||||||
|
Najnowsze funkcje ?
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Proszę sprawdź instalator FlightGear wersji niestabilnej, ale miej na uwadze, że
|
||||||
|
może zawierać nowy, nie do końca przetestowany kod. Jeśli chcesz solidnego i stabilnego
|
||||||
|
doświadczenia podczas Twoich lotów, pozostań przy tej wersji FlightGear LTS.
|
||||||
|
|
||||||
|
|
||||||
|
Znalazłem błąd !
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Jeśli znalazłeś poważny błąd, niestabilność, ograniczenie wydajności:
|
||||||
|
|
||||||
|
- sprawdź stronę ze zgłoszeniami błędów FlightGear (na stronie projektu SourceForge)
|
||||||
|
- zapytaj na forum FlightGear (wskaż jasno, że korzystasz z wersji LTS)
|
||||||
|
- sprawdź mailową listę dyskusyjną flightgear-devel
|
||||||
|
|
||||||
|
Jest prawdopodobne, że programiści już pracują nad rozwiązaniem tego problemu !
|
22
windows/info-before-ru.txt
Normal file
22
windows/info-before-ru.txt
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
FlightGear LTS
|
||||||
|
==============
|
||||||
|
|
||||||
|
Содержит стабильный исходный код из репозитория (ветвь 'release').
|
||||||
|
Установщик FlightGear с версией долгосрочной поддержки (LTS). Содержит проверенный и наиболее стабильный исходный код. Приятного использования!
|
||||||
|
|
||||||
|
Новые функции ?
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Обратите внимание на установщик FlightGear нестабильной версии, будьте осторожны, в нём может содержаться непроверенный код. Если вам требуется основательный и стабильный лётный опыт, придерживайтесь версии FlightGear LTS.
|
||||||
|
|
||||||
|
|
||||||
|
Я нашел ошибку !
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Если найдена серьезная ошибка, нестабильность, падение производительности:
|
||||||
|
|
||||||
|
- Посетите страницу FlightGear Tickets (На странице проекта в SourceForge)
|
||||||
|
- Спросите на форуме FlightGear (укажите, что вы используете версиюю LTS)
|
||||||
|
- Изучите страницу запросов разработки flightgear-devel
|
||||||
|
|
||||||
|
Есть вероятность, что разработчики работают над ее решением прямо сейчас! !
|
BIN
windows/setupimg.bmp
Normal file
BIN
windows/setupimg.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 248 KiB |
BIN
windows/setupsmall.bmp
Normal file
BIN
windows/setupsmall.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.1 KiB |
Loading…
Reference in New Issue
Block a user