Live GIS Build

=About=

GISVM is an Xubuntu based Virtual Machine which has been installed with a suite of the best Open Source Geospatial software. It is also used to build Arramagong, the Linux based Live DVD.

=How to add your project or data to GISVM in 10 minutes=

All that's required to add your favorite package into GISVM is to:


 * write a shell script which installs and configures your stable package into the current GISVM virtual machine (which will usually be the same as installing on Xubuntu or Ubuntu).


 * add the script to subversion, in https://svn.osgeo.org/osgeo/gisvm/trunk/bin/
 * If you do not have write permission there feel free to send the script to the OSGeo live-demo mailing list as an attachment and we'll see that it makes it in.


 * Notify the GISVM team to test your script, and reference your script from main.sh.

The script may be as simple as:

install_mapserver.sh

# # apt-get install cgi-mapserver
 * 1) !/bin/sh
 * 2) Copyright (c) 2009 The Open Source Geospatial Foundation.
 * 3) Licensed under the GNU LGPL.
 * 1) About:
 * 2) This script will install mapserver
 * 1) This script will install mapserver
 * 1) Running:
 * 2) sudo ./install_mapserver.sh
 * 1) sudo ./install_mapserver.sh

= Build Drivers =

Which version?
The criteria used to select applications for GISVM is as follows:


 * 1) Priority goes to Ubuntu packaged software first, then Debian packaged software! This facilitates easy and reliable maintenance and update. Users will benefit from it. Programmers are encouraged to move their software into DebianGIS or UbuntuGIS repositories.
 * 2) Stable, always! GISVM users are mainly starters. So they obviously are better with stable software. They have enough problems already and will gladly be happier without software bugs.

For people who want the latest version, they can create an alternative upgrade script.

Low Memory
Both Virtual Machines, and a LiveDVD images are likely to be constrained by limited memory. So to reduce memory usage. Disk image size is not of major concern, as we can just distribute less data.

The following principles should be followed.
 * 1) Do not start applications upon power up. (Ie, don't start deamons, allow users to start them instead).
 * 2) Set up examples which, by default, don't depend on other applications. Less applications open, means less memory. Ie, Have GeoServer access a shapefile instead of PostGIS.
 * 3) Try to avoid scenarios which write data to disk, as disk space in the Live DVD is stored in RAM, and is not cleared afterward.

= Directory Structure =
 * 1) application are usually installed into /usr/lib
 * 2) things that get executed by the user such as startup scripts or links to them should go into /usr/bin
 * 3) startup/shutdown scripts for services (e.g., postgres, apache, tomcat) are stored in /etc/init.d
 * 4) sample data goes into /usr/local/share
 * 5) config files are stored in /etc
 * 6) user specific config files or working directories can go into /home/user. However, it will be appreciated if you can keep the amount of things in the user's home folder as small as possible.