982
edits
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
=== Development === | === Development === | ||
The main fgmeta repository script is currently at version 1.9.4 and it DOES NOT WORK without changes. We need to test what's on Next in a variety of scenaria. | |||
Development will be done in branches on https://www.gitorious.org/+fg-download-and-compile/fg/fg-download-and-compile-fgmeta | Development will be done in branches on https://www.gitorious.org/+fg-download-and-compile/fg/fg-download-and-compile-fgmeta | ||
This is | <pre> | ||
mkdir ~/fgfs | |||
cd ~/fgfs | |||
wget http://www.gitorious.org/+fg-download-and-compile/fg/fg-download-and-compile-fgmeta/blobs/next/download_and_compile.sh | |||
chmod 755 download_and_compile.sh | |||
</pre> | |||
: | |||
:For those who can write bash scripts and want to help with development and testing, register as a user on gitorious.org. Then log in and send a message on gitorious to users fbrisa or pac1. You can also contact me by registering on this wiki and sending a message throught the wiki. The privileged few have my actual email address. | |||
: | |||
At this point only the next branch of the repository is being used. the version of the script there contains a number of new features, not all of which are complete and tested. | |||
The biggest change is the addition of a directory management option. This option allows efficient use of your disk space, your network connection, and gitorious.org bandwidth usage is kept to a minimum. | |||
:-D 0 will cause the script to build flightgear in the same way as it always has. Each directory you build in gets a complete set of sources, build and install objects, plus a copy of fgdata. | |||
: -D 1 will cause the script to convert to using a single set of sources for different builds and to download fgdata only once. | |||
to use -D 1, simply download the script into a directory the usual way, but before building, create a sub-directory to contain each variety of build. Even if you are doing just one type of build, there is an advantage to using -D 1. For example, if you decide to completely rebuild, you can just remove the sub-directory and recreate it. The sources and fgdata are in the parent directory and remain in place | |||
Once the -D 1 option is used, it will remain in effect as long as the fgdata and fgsources directories are present. | |||
<pre> | |||
mkdir ~/fgfs | |||
cd ~/fgfs | |||
wget http://www.gitorious.org/+fg-download-and-compile/fg/fg-download-and-compile-fgmeta/blobs/next/download_and_compile.sh | |||
chmod 755 download_and_compile.sh | |||
mkdir -p next | |||
cd next | |||
../download_and_compile.sh -D 1 all | |||
</pre> | |||
When the script completes, you will have | |||
~/fgfs/download_and_compile.sh | |||
~/fgfs/fgdata_2.11.0/fgdata | |||
~/fgfs/fgsrc | |||
~/fgfs/othersrc | |||
~/fgfs/next/build etc | |||
~/fgfs/next/install etc | |||
Additional Changes: | |||
# plib-1.8.5 and OpenSceneGraph-3.0.1 are not rebuilt after a successful build. | |||
# you can build next, master, 2.10.0, 2.8.0 etc | |||
# additional script options have been added. | |||
# the window title shows what's being built and what stage things are at | |||
# log file is now named differently and includes a timestamp | |||
To start, clone the team clone repository on gitorious. | To start working on the script, clone the team clone repository on gitorious. | ||
I'll be posting other git instructions as I uncover them. | I'll be posting other git instructions as I uncover them. | ||
| Line 19: | Line 64: | ||
git checkout -f 1.9.4 # for example | git checkout -f 1.9.4 # for example | ||
On the team repository, there are branches for versions 1.9.4 Through 1.9.12 and master. ignore them. | |||
use next. | |||
Additional requested features: | |||
# Add support for both stable and latest osg. | # Add support for both stable and latest osg. | ||
# build while downloading | # build while downloading | ||
# download fgdata as a restartable bundle | # download fgdata as a restartable bundle | ||
# download all scenery (or maybe specific regions?) | # download all scenery (or maybe specific regions?) | ||
# SUSE, Redhat/yum & CENTOS support | # SUSE, Redhat/yum & CENTOS support | ||
# network setup tests for fgcom, multiplayer and terragear | # network setup tests for fgcom, multiplayer and terragear | ||
| Line 55: | Line 88: | ||
# Cmake and makefiles can be difficult for the un-initiated. | # Cmake and makefiles can be difficult for the un-initiated. | ||
How about a walkthrough using flightgear builds as an example? | |||
Opinion: | Opinion: | ||
| Line 63: | Line 98: | ||
When running the download_and_compile script, it would be nice if the version of FlightGear being installed is displayed early on (e.g. so that it appears at the top of the compilation_log.txt file). Is it easy to add this to the script? Or is there another obvious way to find the version? In the download_and_compile script the last stable revision is stated. But is this line always correct? | When running the download_and_compile script, it would be nice if the version of FlightGear being installed is displayed early on (e.g. so that it appears at the top of the compilation_log.txt file). Is it easy to add this to the script? Or is there another obvious way to find the version? In the download_and_compile script the last stable revision is stated. But is this line always correct? | ||
This is improved in the developemnt version. Let us know if this is enough. | |||
== when connection is down == | == when connection is down == | ||
| Line 72: | Line 109: | ||
== Redhat/yum == | == Redhat/yum == | ||
Maybe integrate the instructions from [[CentOS]] once the scripts are | Maybe integrate the instructions from [[CentOS]] once the scripts are merged ? | ||
Why wait. give it a shot. using next as a base. Be sure to let us know you're doing it so we can coordinate it with other changes. | |||
== Dependencies == | == Dependencies == | ||
| Line 79: | Line 117: | ||
== Building while downloading == | == Building while downloading == | ||
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. | ||
edits