982
edits
No edit summary |
|||
| Line 1: | Line 1: | ||
== Implementation Plan == | |||
# | # Script and cmake debugging features has been included in 1.9-10 as options w, x and v | ||
# | # Create a team clone on [http://www.gitorious/org/fg/fgmeta specifically for work on this script. | ||
# | # Expanded help and labels for script sections is implemented in 1.9-10 and 1.9-11 | ||
# Support for additional releases and tags is undergoing testing. It will be relaased as 1.9.12 | |||
# Instructions to allow the script to use a single copy of fgdata are working but not fully tested. This needs to be implemented in the script | |||
# | |||
# | |||
=== Proposals === | |||
# Change the way directories are handled has been discussed, this has been prototyped and will be implemented in a future release | |||
# Change the way the log file is produced. | |||
# Add support for both stable and latest osg. | |||
# build while downloading | |||
# download fgdata as a restartable bundle | |||
# download all scenery (or maybe specific regions?) | |||
# Add version of flightgear to be built at the top of the compiliation log | |||
# add version of flightgear being built to the window label | |||
# SUSE, Redhat/yum & CENTOS support | |||
# network setup tests for fgcom, multiplayer and terragear | |||
# torrents | |||
== makeffile and cmake idea (needs discussion) == | |||
# use of makefile or cmake as a basis for or as part of the script. | |||
Advantages: | |||
# Cross Platform. | |||
# fits with general direction things seem to be moving in. | |||
Disadvantages: | |||
# Cmake and makefiles can be difficult for the un-initiated. | |||
Opinion: | |||
# This is a great idea, Should it be a separate alternative script? [[User:Callahanp|Callahanp]] 11:34, 31 May 2013 (UTC) | |||
== Clear description of what is being built in the log file == | == Clear description of what is being built in the log file == | ||
| Line 34: | Line 57: | ||
for better use of bandwidth, it would make sense to also download while compiling (i.e. when building plib and osg, download simgear, when building simgear, download flightgear - and the fgdata checkout/update can also be initiated early). It might make sense to turn the shell script into a conventional makefile that supports dependency resolution and parallel steps, so that network-bound tasks like downloading (fgdata!) can be interleaved with the build process. The run_FOO scripts could then become conventional make targets. | for better use of bandwidth, it would make sense to also download while compiling (i.e. when building plib and osg, download simgear, when building simgear, download flightgear - and the fgdata checkout/update can also be initiated early). It might make sense to turn the shell script into a conventional makefile that supports dependency resolution and parallel steps, so that network-bound tasks like downloading (fgdata!) can be interleaved with the build process. The run_FOO scripts could then become conventional make targets. | ||
== Details of Implementation Plan Items == | |||
== Details of | |||
=== Clarify the use of and current position in the hierarchy of directories === | === Clarify the use of and current position in the hierarchy of directories === | ||
| Line 101: | Line 78: | ||
I'm proposing that we change this by adding to the Script Section: Create Required Directories. | I'm proposing that we change this by adding to the Script Section: Create Required Directories. | ||
This section currently just ensures that there is an install directory. I'd expand this to define variable names for each directory in the list above and use the variable names for directory navigation in the sections that build and install the components. | This section currently just ensures that there is an install directory. I'd expand this to define variable names for each directory in the list above and use the variable names for directory navigation in the sections that build and install the components. | ||
=== Ensure that only one download of fgdata, plib and osg is done and then used for all builds. === | === Ensure that only one download of fgdata, plib and osg is done and then used for all builds. === | ||
Provide a standard place to put one or more versions of fgdata, and a single place for plib and osg etc. This would be immplemented using symbolic links as described in [[Avoiding Multiple Downloads of fgdata]] | |||
=== Allow builds for all branches and recent versions === | === Allow builds for all branches and recent versions === | ||
Currently the script can build next, or a single released version. | Currently the script can build next, or a single released version. Changes to allow this via the B (Branch) and R (revision) options are being tested for script version 1.9.12. | ||
=== Keep the build and install folders and the log files separate === | === Keep the build and install folders and the log files separate === | ||
| Line 124: | Line 99: | ||
This is straightforward enough, just delay logging until all parameters are processed. | This is straightforward enough, just delay logging until all parameters are processed. | ||
But there's an additional thing that might be considered. After the log file is determined, start a sub-process with output to the log file, pass it the same parameters as were passed in, then exit This would allow us to remove constructs like |tee $LOGFile and >> $LOGFILE. When x and v are chosen, it provides a log of all bash steps. (nice | But there's an additional thing that might be considered. After the log file is determined, start a sub-process with output to the log file, pass it the same parameters as were passed in, then exit This would allow us to remove constructs like |tee $LOGFile and >> $LOGFILE. When x and v are chosen, it provides a log of all bash steps. (nice for debugging the script) | ||
edits