Lets review where things stand with the script:


Current commit on team clone:
 download_and_compile.sh        Aug 31 2013     #58ae270 Version
 1.9.12 (Pat)

http://www.gitorious.org/fg/fg-download-and-compile-fgmeta/raw/58ae27079531e69ec48c6df06538559680bd9433:download_and_compile.sh

Contains a fix to a bug found and reported by Arnt.

Additional testing is needed before this can be merged to the main
fgmeta.

A detailed list of the changes in the script version
1.9.12 can be found here:

http://www.gitorious.org/fg/fg-download-and-compile-fgmeta/commit/58ae27079531e69ec48c6df06538559680bd9433
Francesco approved an early version of 1.9.12. There have been
additional small changes made.  

-Pat




For Arnt and others interested in where things are going, the following
summarizes a lot of stuff that's already been said here and elsewhere.

The current "official" script in fgmeta is 1.9.11 
It builds 2.8.0 as stable and will build next. It would need small
modifications to build 1.9.10 or 1.9.12 

Arnt has requested details on any new design for the directory
structure.  I've given one below, but I'm open to suggestions if you'd
prefer something different.

Here are the design goals:

1.  download_and_compile.sh continues to work exactly as it has in the
    past.  It will continue to use the same directory structure unless
    the user decides to take an action that causes a new directory
    structure to be adopted for subsequent builds.

2.  Minimize the impact on git and svn servers by removing the need to
    download multiple copies of sources and data.

3.  Facilitate testing the script with different versions and options.

To meet these goals there are several features being added to the
script.  Some of these are partially in place, some will require
additional changes.

Changes through script version 1.9.12:
======= ======= ====== ======= =======

1. Terminal Window Titles

2. Additional versions of OSG supported

3. Support for any branch, including the soon to be released flightgear
   2.12.0.  2.10.0 is considered stable at this point in time.

4. Use manually placed fgdata copies in the parent of the build
   directory.  

   Copies of fgdata git repositories can be placed in directories
   named fgdata_2.8.0, fgdata_2.10.0, fgdata_2.12.0 and fgdata_2.99.9. 
   
   If download_and_compile.sh is run from a sub-directory of the 
   directory containing the fgdata* directories, instead of downloading 
   a separate copy of fgdata, the script will simply create s symbolic
   link to the correct fgdata git copy.  

   Note that initially all the copies' versions do not have to match
   the directory name.  Any recent version of fgdata will do.  When it
   runs, the script will update the version you are building to be the
   correct version of fgdata.

   This approach to keeping multiple fgdata versions 
   means you never have to download fgdata more than once.  

        1. You can blow away a build and not have to redownload fgdata
        2. You can have multiple variant builds of a single version all
           using the same fgdata_*/fgdata version
        3. You can build different versions of flightgear and still not
           have to download another fgdata

====== ========
Future Changes:
====== ========


1. Change the directory structure for sources to allow a single copy of
   the sources to be used for multiple versions and variants without
   having to download the sources repeatedly.

   Similarly to the placement of the fgdata_* copies, create new
   directories for sources: 

        fgsrc
                which will contain sources for anything native to
                flightgear
        othersrc 
                which will contain sources for plib and as many
                versions of OSG as you need.

    Builds will be done in a subdirectory, one per variant

    It will look something like:

        download_and_compile.sh

        fgdata_2.10.0
                fgdata
        fgdata 2.12.0
                fgdata
        fgdata 2.99.9
                fgdata
        fgsrc
                flightgear
                simgear
                openrti
                fgcom (unless we abandon the separate fgcom)
                fgrun
                etc.
        othersrc
                OpenSceneGraph-3.0.1
                OpenSceneGraph-3.1.9

                plib-1.8.5

        variant-2.12.0-openrti
                build
                install
                compilation_log.txt
        
        variant-2.10.0-noopenrti
                build
                install
                compilation_log.txt

        variant-master-openrti
        variant-master-noopenrti
        variant-next-noopenrti
        variant-next-noopenrti
        and so forth.

        
        Note that with 1.9.12 and later its possible to build the
        master branch.

        Usage:

        cd variant-master-openrti
        ../download_and_compile.sh [options] [component names]

2. Change the way logging works so the output of -x and -v make it into
   the log

3. Test the results of the build.  If a build database is present,
   update it with the results

4. Option to start what you just built.

5. multiple variant builds in a single invocation of the script.

6. script cleanup

   o  make the cd commands in the builds easier to follow
   o  to keep the nice folks on #bash from laughing when I ask for
      advice:
        o  local variables should be lower cased
        o  remove all that MY_DIRECTORY_HERE stuff in favor of
           something readable. 

7. remove any git hard resets.  These are not a good idea if you're
working with others on changes.

8.  support team or personal gits for any flightgear component.


Wow.  Did you really read all that?

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to