Commit Graph

612 Commits

Author SHA1 Message Date
Florent Rougon
56e1055dec download_and_compile.sh: improvements related to package installation
- When -pn has been passed (i.e., the user wants the 'apt-get install'
  step to be skipped), don't waste time checking the available
  dependencies. Rationale: someone using -pn has probably already
  installed the required packages either manually or during a previous
  run of download_and_compile.sh, and anything missing couldn't be fixed
  under -pn regime anyway, by definition. Assume that users passing -pn
  want to build with the packages they already have, and let them spare
  some time and CPU cycles.

- New options --package-manager and --sudo. The former defaults to
  'apt-get' as usual, but 'aptitude' can be used as well. The --sudo
  option specifies the sudo-like program to use. Passing --sudo=echo
  allows one to see the apt-get or aptitude commands without running
  them. Passing --sudo= or --sudo="" (i.e., giving an empty value)
  causes the package manager to be called directly, without any
  intermediate sudo-like program.

- The PKG variable is now a Bash array, which is a bit cleaner and
  blends better with the new, array-based implementations of
  _aptUpdate() and _aptInstall() (whose purpose is to allow the
  newly-added flexibility without multiplying the code paths).
2019-02-12 00:04:07 +01:00
James Turner
ed88c630ea Add the git-mirror script uses on Jenkins
This is run on one of Jenkins Linux machines to mirror all the
SF repos for faster cloning and builds when SF is offline.
2019-01-14 13:19:01 +00:00
Scott Giese
da0f443f62 Linux::fg-from-scratch
detect chipset architecture for compile/tune optimization
only compile vcpkg when file changes are detected
include cgal library
2019-01-01 14:50:49 -06:00
Scott Giese
2eac2b8546 fg-from-scratch:Linux
Initial commit
2018-12-10 14:40:29 -06:00
Florent Rougon
1d97e9f573 download_and_compile.sh: make generated scripts prepend to LD_LIBRARY_PATH instead of overwriting it
Thanks to Julian Smith for the report.
2018-10-24 11:56:39 +02:00
James Turner
bd7ccccda6 Catalog configs from UKmirror 2018-10-23 12:01:58 +00:00
James Turner
f0f047e6c5 Fix mirror URLs 2018-10-18 12:42:17 +00:00
James Turner
271f103ae3 Update catalogs config after discussion
Legacy catalog keeps the existing ID and URL, to avoid any problems
with older client versions
2018-10-18 13:37:17 +01:00
James Turner
99b893368b Catalogs: multiple download URLs (mirrors) supported 2018-10-17 14:16:40 +01:00
James Turner
e4007bae99 Remove MD5 sum files from Git 2018-10-17 13:00:10 +00:00
James Turner
6e8b4c3ee7 Sharing logic tweaks 2018-10-17 13:00:10 +00:00
James Turner
ccb35c7707 Catalog spec tweaks 2018-10-17 13:00:10 +00:00
James Turner
391ceaea11 Update-catalog.py: —quiet option 2018-10-17 11:04:11 +01:00
James Turner
feae4a2d56 Tweaked catalog definitions 2018-10-17 09:26:08 +00:00
James Turner
70dfd6b8d4 Use LXML everywhere 2018-10-17 09:19:10 +00:00
James Turner
a1f8e52ae8 Add three catalog setups, for UK mirror
The fgaddon-catalog was duplicated to avoid disturbing Curt’s config
he runs locally, until the new setup is working.
2018-10-15 11:39:56 +01:00
Florent Rougon
a5525ba2b3 i18n Python scripts: remove class SysL10NResourceManager from i18n.py
This class isn't needed anymore now that
$FG_ROOT/Translations/default/sys.xml has a flat structure, like the
other FG XML i18n files that define the default translation. This is
related to

  6d6e1809f0/

and more specifically to

  587c601345/
2018-10-12 08:14:01 +02:00
Florent Rougon
1c5449fcd6 download_and_compile.sh: add optional dependencies qtbase5-dev-tools and qttools5-dev-tools
qtbase5-dev-tools contains the 'rcc' tool, and qttools5-dev-tools
contains 'lrelease'. Unless I'm mistaken, both are needed to compile the
Qt resources containing translations in the QM format for FlightGear's
built-in launcher.
2018-10-11 23:07:34 +02:00
Florent Rougon
359152c8d1 i18n Python scripts: fix Translation.__setitem__() and add docstrings
Translation.__setitem__() from flightgear/meta/i18n.py isn't used
anywhere here (it is not very useful), so no harm done, but that could
have confused potential readers.
2018-10-11 20:32:48 +02:00
James Turner
2c41742b99 Add Russian to the language list
Fix provided by Michael Danilov
2018-10-11 13:26:58 +01:00
Florent Rougon
a20342ed48 download_and_compile.sh: cleaner log output, code simplification
The "DIRECTORY=..." was printed too late in the log file (after the apt
stuff). Fix that and make some code a bit easier to follow (e.g.,
LOGFILE is assigned only once now).
2018-10-11 14:07:33 +02:00
Florent Rougon
d424cdaad3 download_and_compile.sh: minor changes
Consistent indentation for _printLog() vs. other functions, safety
measures for arguments possibly containing spaces, etc.
2018-10-11 13:22:49 +02:00
Florent Rougon
141bb7dec4 download_and_compile.sh: new function _log()
Introduce a new function _log() that allows one to factor out the
remaining explicit appends to $LOGFILE. Summary:

  _log        writes its arguments to $LOGFILE
  _printLog   ditto, and also prints them to the terminal
  _logOutput  echoes its standard input to the terminal and/or to $LOGFILE
              (depending on its first argument). Typically used in the
              last component of a pipeline.
2018-10-11 12:48:30 +02:00
Florent Rougon
2874e0eade download_and_compile.sh: new function _logOutput()
Use this function for all commands that produce output we want to see on
the terminal and in the log file. Actually, the first parmeter of the
function, which is optional, allows one to choose where we want the
output to be written to: the terminal and/or the log file (three
possibilities, since for none of these, '>/dev/null' redirection can be
used directly).
2018-10-11 12:48:24 +02:00
Florent Rougon
6520925c5b download_and_compile.sh: use _printLog() wherever appropriate
This is a logical follow-up for commit
8a7fd33b2b, which introduced the
_printLog() function.
2018-10-11 11:53:58 +02:00
James Turner
77384be44a Include the OSG .DDS loader plugin in Mac builds 2018-10-05 13:12:29 +01:00
Florent Rougon
7c5ad2405e download_and_compile.sh: cosmetic changes 2018-09-26 10:02:09 +02:00
Florent Rougon
250c0c54a8 download_and_compile.sh: fix difficult-to-read and sloppy checks
The new function _elementIn allows one to do these checks accurately and
in a more readable way.
2018-09-26 09:55:06 +02:00
Florent Rougon
2930727a87 download_and_compile.sh: take username verbatim (no conversion to lowercase)
Fix for commit 8a7fd33b2b: in argument to --git-clone-site-params,
take the username exactly as provided instead of converting it to
lowercase (the site and protocol are still converted to lowercase, but
*that* is intentional).
2018-09-26 09:27:53 +02:00
Florent Rougon
a281b46214 download_and_compile.sh: add --version option 2018-09-26 00:17:29 +02:00
Florent Rougon
8a7fd33b2b download_and_compile.sh: give control over protocol and username for 'git clone'
This commit adds two new options:

--git-clone-default-proto=PROTO

  Default protocol to use for 'git clone' ('ssh', 'https' or git'). If
  the option is not specified, the default is still 'https'.

--git-clone-site-params=SITE=PROTOCOL[:USERNAME]

  Connect as USERNAME with PROTOCOL when cloning a Git repository hosted
  at SITE (sample sites: 'SourceForge', 'GitHub'; valid protocols:
  'ssh', 'https' and git'). USERNAME is required when using the 'ssh'
  protocol. The hosting site and protocol are matched in a
  case-insensitive way.

  This option may be passed several times with different sites, e.g.

    download_and_compile.sh --git-clone-default-proto=ssh \
                            --git-clone-site-params SourceForge=ssh:frougon \
                            --git-clone-site-params=GitHub=https

 (replace 'frougon' with your username at SourceForge)

  For repositories located at a hosting site specified with
  --git-clone-site-params, the protocol indicated with this option
  overrides the default protocol, be it the script default or the one
  given with --git-clone-default-proto.

  The above example shows that the argument of a long option, namely
  --git-clone-site-params in the example, may be given either separately
  or in the same shell argument as the option name, in which case an '='
  separator is needed.

When using the 'ssh' protocol, ssh-agent may be used to avoid having to
type the password once for each repository fetched with this protocol.
Also note that gpg-agent(1) can act as an SSH agent.
2018-09-26 00:17:29 +02:00
Florent Rougon
305a501ef3 download_and_compile.sh: use getopt instead of bash's getopts. Add --help.
The main advantage of getopt is that it allows one to define long
options. Help can now be obtained with 'download_and_compile.sh --help',
in addition to the already-existing '-h' option.

[ This is the getopt tool shipped in Debian's util-linux package,
  which is marked as Essential, therefore should always be present
  on a Debian system. ]

Try to improve formatting of the --help message, so that it is better
suited to document options that have a short as well as a long form.
Make the presentation of this help message a bit more standard.
2018-09-26 00:17:29 +02:00
Florent Rougon
d073c54c0d download_and_compile.sh: move first main chunk of code after function definitions 2018-09-26 00:17:29 +02:00
Florent Rougon
705bd47bcd download_and_compile.sh: download FGData before building FG
This works better with the new translation system based on XLIFF files.
2018-09-26 00:17:29 +02:00
Florent Rougon
4128259e8e download_and_compile.sh: add missing deps and downgrade qt5-default, qtdeclarative5-dev
- add missing deps as suggested on the list
- downgrade qt5-default and qtdeclarative5-dev from mandatory to
  optional
2018-09-26 00:17:29 +02:00
Scott Giese
44bdb42fd0 fg-from-scratch: Improve handling of missing 'build' folders. 2018-09-24 18:35:57 -05:00
Torsten Dreyer
7de0f9f524 track submodule changes for release 2018-09-21 17:22:27 +02:00
Torsten Dreyer
1e3ac37c96 new version: 2018.4.0 2018-09-21 17:22:27 +02:00
Torsten Dreyer
81d950aee6 new version: 2018.3.1 2018-09-21 17:22:27 +02:00
Torsten Dreyer
9fde4fc6fa Prepare for 2018.3, don't tag version 2018-09-21 17:18:08 +02:00
Scott Giese
7e8a679eb4 fg-from-scratch: plib moved to vcpkg 2018-08-06 21:55:23 -05:00
Scott Giese
a20cdef996 fg-from-scratch: Build Flightgear 2018-08-01 22:00:51 -05:00
James Turner
5be72a84d3 Check-aircraft helper script
Tool to validate aircraft meta-data - basic for now, will expand
to be smarter over time.
2018-07-25 13:42:13 +01:00
James Turner
0b46052259 Catalog generation enhancements 2018-07-25 11:38:52 +01:00
James Turner
0cc48e148f Merge /u/scttgs0/fgmeta/ branch to-be-merged into next
https://sourceforge.net/p/flightgear/fgmeta/merge-requests/27/
2018-07-18 06:51:14 +00:00
James Turner
3cf24d18e7 Silence some noice in mac packaging script 2018-07-17 09:54:59 +01:00
Scott Giese
b765807530 Migrate fg-from-scratch into fgmeta 2018-07-06 18:04:23 -05:00
James Turner
24db98b5e1 Also archive symbols for Windows builds 2018-07-02 11:39:08 +01:00
Torsten Dreyer
5f21b077a6 track submodule changes for release 2018-05-19 21:02:47 +02:00
Torsten Dreyer
72aae21420 new version: 2018.3.0 2018-05-19 21:02:47 +02:00