FlightGear Anonymous CVS instructions
Please follow these instructions to check out a copy of the FlightGear source
code and data. This instructions are slanted towards the command line
version of CVS.
Getting the CVS software:
You must have a recent version of cvs installed on your system in
order for any of this to work.
Cyclic Software supports and
maintains CVS. CVS continues to be a free, open-source product.
Cyclic makes a living by selling support. Cygwin and most modern
linux distributions offer an installable cvs package that should work
great.
1. Make a directory to hold everything.
cd /some/path
mkdir FlightGear-0.9
2. Go to the new directory.
cd /some/path/FlightGear-0.9
3. Check out a copy of the source code.
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login
CVS passwd: guest
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co source
4. Check out a copy of the data (base package.)
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login
CVS passwd: guest
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co data
5. Compile the source code.
Note: FlightGear has several prerequisites that must be installed
before you can build this source code. If you attack these
prerequisites in the order listed below, you should be good.
- Glut. Most distributions include glut packages, although you
may have to hunt for them. Make sure you install both the glut
and glut-devel packages.
- Zlib. Most distributions install the basic zlib libraries by
default, but not the development portions. If you don't have
zlib.h, you probably need to install the zlib-devel package for
your distribution.
- Plib - portability libraries and
scene graph.
- Metakit. A suitable version of MetaKit is included in the
SimGear/src-libs/ subdirectory. If your distribution doesn't
provide a Metakit (and Metakit-devel) package, you will have to
build and install it before you can compile SimGear.
- SimGear - Simulation
support libraries. If you are building FlightGear from CVS,
you need the CVS version of SimGear. If you have strange build
errors, one of the first things to check is that you have an
up-to-date version of SimGear built and installed.
Now, configure and compile the FlightGear source code.
cd /some/path/FlightGear-0.9/source
./autogen.sh
./configure
make
Note that the configure script can take many options. Run
"./configure --help" to see what they are. Some interesting options
to consider are "--prefix=/desired/install/path" and "--with-threads"
6. Test run your freshly built version of fgfs.
The executable is created at
/some/path/FlightGear-0.9/source/src/Main/fgfs
Run this with the -fg-root= option so it can find the data. You can
put this option in your ~/.fgfsrc to save some typing each time you
run FlightGear.
cd /some/path/FlightGear-0.9/source/src/Main/
./fgfs --fg-root=/some/path/FlightGear-0.9
7. Keep your local source and data copies up-to-date.
Finally (and this is the good part) if you cd to the
/some/path/FlightGear-0.9/source directory (the one that was created
with the very first checkout command) and run "cvs update -d -P", your
local source tree will be automatically synced with the master
repository. The "-d" flag automatically adds any new directories that
have been created in the repository, and the "-P" automatically
removes any old directories that have been removed from the
repository.
Also be aware that the latest CVS source code usually requires the
latest CVS data (base package.) You must cvs update both.
cd /some/path/FlightGear-0.9/source
cvs update -d -P
cd /some/path/FlightGear-0.9/data
cvs update -d -P
If you pulled new source code files you must rebuild FlightGear:
cd /some/path/FlightGear-0.9/source
make
CVS is pretty smart, so if you have made local changes that don't conflict
with any changes to the master repository, cvs should be able to merge the
changes together, even when the changes have been made to the same file.
If you have made changes that do conflict with new changes to the master
repository, cvs will let you know, and you can go edit the file with
conflicts and resolve them.
Tip to save time and bandwidth
If you have limited bandwith or just want to save time, you can add a file
called .cvsrc into you home directory. (usually /home/your-username/).
Copy the following lines into /home/your-username/.cvsrc.
cvs -z3 -q
diff -up
update -dP
checkout -P
rdiff -u
|