# 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

### Google Advertisements - Click to support FlightGear

### Latest Version

v2.0.0 - 18 Feb 2010

A new major update of the FligtGear simulator. Please check the readme

### Notam

Would all pilots try and avoid mpserver02 as its often overloaded.