FGS    Home  |  Docs  |  Support  |  Bugs  |  Downloads


Using FGS-DEV to build your own FGS package

  1. Do a CVS checkout to obtain FGS-DEV: (no password)

    $ cvs -d :pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot
    $ cvs -d :pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot
             checkout fgs-dev
  2. [Optional] You can configure the FGS-DEV environment by editing the setenv.sh file to set the cache directory. By default, this directory will be automatically created in $FGS_DEV_HOME/cache. The cache directory allows you to share the same download directory between multiple fgs-dev environments and save bandwidth/time.

    $ cd fgs-dev
    $ vi setenv.sh
  3. Load the FGS-DEV's environment variables. (You must do it each time you open a new session).

    $ . setenv.sh
  4. Select which packages have to be built by creating the custom build.list file.

    $ fgsdev custom_build_list create _module_name_1_ _module_name_2_ ....
    where _module_name_N_ are for example mapserver-base, chameleon-base. See the list in $FGS_DEV_HOME/pkg_def/build.list. All depedencies are resolved automatically and included in build.list.
  5. To force a package version, edit $FGS_DEV_HOME/build.list and set the desired version number in the second column (after the first colon). By default, FGS-DEV choose the default version from $FGS_DEV_HOME/pkg_def/build.list.
  6. If you want to use your own source downloaded manually, use the 'manual' keyword instead of the version number (in second column) and set the source path (where is your source) in the fourth column.
  7. For CVS or SVN, always in the second column, specify 'cvs_xxxxx' or 'svn_xxxxx' where xxxxx is the desired branch name (HEAD for the main CVS trunk, trunk for the main SVN trunk). for example : svn_branch-4-10, svn_rel-4-6-0-beta2, cvs_HEAD, svn_trunk). Note that only a few packages can be used with CVS or SVN. Login information for CVS or SVN is taken from $FGS_DEV_HOME/pkg_def/_package_name_/def.sh.
  8. To add a package to build, use :

    $ fgsdev custom_build_list add _module_name_1_ _module_name_2_ ...
  9. To start the entire build process:

    $ fgsdev build_all

    It will build all packages listed from fgs-dev/build.list file. Modules produced are stored in $FGS_DEV_HOME/modules.

    fgsdev build_all pkg_name

    It will build all packages starting from the pkg_name.

  10. To install your sandbox:
    $ fgsdev installer _module_name_1_ ...

    It will install all required modules to run '_module_name_N_'.

  11. To create a self-installer:
    $ fgsdev build_si self_installer_name fgs_release_version  _module_name_1_ ...

    It will create a self-installer named self_installer_name_fgs_release_version with all required modules '_module_name_N_'.

Development with fgs-dev

  • To build only one package, use :

    $ fgsdev build_pkg pkg_name
    (Note: in this case, depedencies must have been previously built)
  • Alternatively, cd into the src of a package, in $FGS_DEV_HOME/src/package's_source and build manually a package with:

    $ cd $FGS_DEV_HOME/src/package's_source
    $ ./fgs_build
    and to build the FGS modules :
    $ ./fgs_install
  • To allow rapid development with fgs-dev, you can use the 'fgsdev install' command.
  • To use it, you have to move the fgs-dev directory into the FGS home directory, doing a . setenv.sh will then detect the FGS-DEV environment and automatically load FGS-DEV's environment variables.
  • When you are ready to try a new build, use 'fgsdev install' to build new modules and install it in the FGS runtime.

Last Updated: 2008-05-28

Printer Friendly



Installing FGS

Configuring FGS


Modify an FGS package

How to release



Contact Information

FGS Users List