[mapguide-commits] r7979 - in trunk/Tools/Vagrant: . ubuntu ubuntu/x86

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Feb 17 14:42:34 PST 2014


Author: jng
Date: 2014-02-17 14:42:34 -0800 (Mon, 17 Feb 2014)
New Revision: 7979

Added:
   trunk/Tools/Vagrant/ubuntu/
   trunk/Tools/Vagrant/ubuntu/x86/
   trunk/Tools/Vagrant/ubuntu/x86/Vagrantfile
   trunk/Tools/Vagrant/ubuntu/x86/build.sh
   trunk/Tools/Vagrant/ubuntu/x86/build_fdo.sh
   trunk/Tools/Vagrant/ubuntu/x86/build_oem_ubuntu.sh
   trunk/Tools/Vagrant/ubuntu/x86/dpkgbuild.sh
   trunk/Tools/Vagrant/ubuntu/x86/dpkgmapguide.sh
   trunk/Tools/Vagrant/ubuntu/x86/readme.txt
   trunk/Tools/Vagrant/ubuntu/x86/revnum.pl
Log:
Initial checkin of vagrant provisioning scripts to build MapGuide/FDO trunk on Ubuntu Precise (12.04) 32-bit


Property changes on: trunk/Tools/Vagrant/ubuntu
___________________________________________________________________
Added: bugtraq:number
   + true


Property changes on: trunk/Tools/Vagrant/ubuntu/x86
___________________________________________________________________
Added: bugtraq:number
   + true

Added: trunk/Tools/Vagrant/ubuntu/x86/Vagrantfile
===================================================================
--- trunk/Tools/Vagrant/ubuntu/x86/Vagrantfile	                        (rev 0)
+++ trunk/Tools/Vagrant/ubuntu/x86/Vagrantfile	2014-02-17 22:42:34 UTC (rev 7979)
@@ -0,0 +1,174 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  # All Vagrant configuration is done here. The most common configuration
+  # options are documented and commented below. For a complete reference,
+  # please see the online documentation at vagrantup.com.
+
+  # Every Vagrant virtual environment requires a box to build off of.
+  config.vm.box = "vagrant-mapguide-ubuntu-precise32"
+
+  # The url from where the 'config.vm.box' box will be fetched if it
+  # doesn't already exist on the user's system.
+  # config.vm.box_url = "http://domain.com/path/to/above.box"
+
+  # Create a forwarded port mapping which allows access to a specific port
+  # within the machine from a port on the host machine. In the example below,
+  # accessing "localhost:8080" will access port 80 on the guest machine.
+  # config.vm.network :forwarded_port, guest: 80, host: 8080
+
+  # Create a private network, which allows host-only access to the machine
+  # using a specific IP.
+  # config.vm.network :private_network, ip: "192.168.33.10"
+
+  # Create a public network, which generally matched to bridged network.
+  # Bridged networks make the machine appear as another physical device on
+  # your network.
+  # config.vm.network :public_network
+
+  # If true, then any SSH connections made will enable agent forwarding.
+  # Default value: false
+  # config.ssh.forward_agent = true
+
+  # Share an additional folder to the guest VM. The first argument is
+  # the path on the host to the actual folder. The second argument is
+  # the path on the guest to mount the folder. And the optional third
+  # argument is a set of non-required options.
+  # config.vm.synced_folder "../data", "/vagrant_data"
+
+  # Provider-specific configuration so you can fine-tune various
+  # backing providers for Vagrant. These expose provider-specific options.
+  # Example for VirtualBox:
+  #
+  # config.vm.provider :virtualbox do |vb|
+  #   # Don't boot with headless mode
+  #   vb.gui = true
+  #
+  #   # Use VBoxManage to customize the VM. For example to change memory:
+  #   vb.customize ["modifyvm", :id, "--memory", "1024"]
+  # end
+  #
+  # View the documentation for the provider you're using for more
+  # information on available options.
+
+  # Enable provisioning with Puppet stand alone.  Puppet manifests
+  # are contained in a directory path relative to this Vagrantfile.
+  # You will need to create the manifests directory and a manifest in
+  # the file vagrant-mapguide-ubuntu-precise32.pp in the manifests_path directory.
+  #
+  # An example Puppet manifest to provision the message of the day:
+  #
+  # # group { "puppet":
+  # #   ensure => "present",
+  # # }
+  # #
+  # # File { owner => 0, group => 0, mode => 0644 }
+  # #
+  # # file { '/etc/motd':
+  # #   content => "Welcome to your Vagrant-built virtual machine!
+  # #               Managed by Puppet.\n"
+  # # }
+  #
+  # config.vm.provision :puppet do |puppet|
+  #   puppet.manifests_path = "manifests"
+  #   puppet.manifest_file  = "site.pp"
+  # end
+
+  # Enable provisioning with chef solo, specifying a cookbooks path, roles
+  # path, and data_bags path (all relative to this Vagrantfile), and adding
+  # some recipes and/or roles.
+  #
+  # config.vm.provision :chef_solo do |chef|
+  #   chef.cookbooks_path = "../my-recipes/cookbooks"
+  #   chef.roles_path = "../my-recipes/roles"
+  #   chef.data_bags_path = "../my-recipes/data_bags"
+  #   chef.add_recipe "mysql"
+  #   chef.add_role "web"
+  #
+  #   # You may also specify custom JSON attributes:
+  #   chef.json = { :mysql_password => "foo" }
+  # end
+
+  # Enable provisioning with chef server, specifying the chef server URL,
+  # and the path to the validation key (relative to this Vagrantfile).
+  #
+  # The Opscode Platform uses HTTPS. Substitute your organization for
+  # ORGNAME in the URL and validation key.
+  #
+  # If you have your own Chef Server, use the appropriate URL, which may be
+  # HTTP instead of HTTPS depending on your configuration. Also change the
+  # validation key to validation.pem.
+  #
+  # config.vm.provision :chef_client do |chef|
+  #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
+  #   chef.validation_key_path = "ORGNAME-validator.pem"
+  # end
+  #
+  # If you're using the Opscode platform, your validator client is
+  # ORGNAME-validator, replacing ORGNAME with your organization name.
+  #
+  # If you have your own Chef Server, the default validation client name is
+  # chef-validator, unless you changed the configuration.
+  #
+  #   chef.validation_client_name = "ORGNAME-validator"
+  
+  $script = <<SCRIPT
+cd ~
+echo [provision]: Home directory is `pwd`
+echo [provision]: Checking required tools
+sudo apt-get -y install subversion dos2unix lintian libpcre3-dev
+echo [provision]: Checking directories
+HAVE_FDO=0
+HAVE_FDO_LIBS=0
+HAVE_MAPGUIDE=0
+if [ -d ~/fdo/trunk ]; 
+then
+HAVE_FDO=1
+fi
+if [ -d ~/fdo_rdbms_thirdparty ];
+then
+HAVE_FDO_LIBS=1
+fi
+if [ -d ~/mapguide/trunk/MgDev ];
+then
+HAVE_MAPGUIDE=1
+fi
+echo [provision]: Copying shell scripts
+mkdir -p ~/scripts
+cp -f /vagrant/*.sh ~/scripts
+cp -f /vagrant/*.pl ~/scripts
+if [ $HAVE_FDO_LIBS -eq 0 ];
+then
+echo [provision]: Extracting FDO thirdparty libs
+tar -zxvf /vagrant/fdo_rdbms_thirdparty.tar.gz -C ~
+fi
+if [ $HAVE_FDO -eq 0 ];
+then
+echo [provision]: Extracting FDO trunk working copy
+mkdir -p ~/fdo
+tar -zxvf /vagrant/fdo-checkout-trunk.tar.gz -C ~/fdo
+fi
+if [ $HAVE_MAPGUIDE -eq 0 ];
+then
+echo [provision]: Extracting MapGuide trunk working copy
+mkdir -p ~/mapguide/trunk
+tar -zxvf /vagrant/mapguide-checkout-trunk.tar.gz -C ~/mapguide/trunk
+fi
+echo [provision]: Update working copies
+svn update ~/fdo/trunk
+svn update ~/mapguide/trunk/MgDev
+cd scripts
+sudo -E ./build_fdo.sh
+sudo -E ./build.sh
+MG_REV=`svn info ~/mapguide/trunk/MgDev | perl revnum.pl`
+./dpkgmapguide.sh i386 $MG_REV
+SCRIPT
+  
+  config.vm.provision "shell",
+    privileged: false,
+    inline: $script
+end

Added: trunk/Tools/Vagrant/ubuntu/x86/build.sh
===================================================================
--- trunk/Tools/Vagrant/ubuntu/x86/build.sh	                        (rev 0)
+++ trunk/Tools/Vagrant/ubuntu/x86/build.sh	2014-02-17 22:42:34 UTC (rev 7979)
@@ -0,0 +1,175 @@
+#!/bin/bash
+
+# Global vars for this script. Modify as necessary
+APIVERSION=2.6
+BUILDNUM=${APIVERSION}.0
+BUILDROOT=`pwd`
+INSTALLROOT=/usr/local/mapguideopensource-${BUILDNUM}
+#INSTALLROOT=/usr/local/mapguideopensource-trunk
+LOCKFILEDIR=/var/lock/mgserver
+MGSOURCE=${BUILDROOT}/mgdev
+VERFILE=${MGSOURCE}/Common/ProductVersion.h
+# Use LOCALSVN=1 if you want to build from an existing copy instead of building
+# from an export (saves bandwidth and faster)
+LOCALSVN=1
+SVNROOT=/home/vagrant
+#SVNROOT="svn://svn.bld.mgproto.net"
+#SVNROOT="http://svn.osgeo.org"
+SVNRELPATH=/mapguide/trunk/MgDev
+MY_MAKE_OPTS=
+UBUNTU=1
+PRESERVE_BUILD_ROOT=1
+
+echo "******************************************************************"
+echo " MapGuide will be installed to: ${INSTALLROOT}"
+echo " SVN Source is: ${SVNROOT}${SVNRELPATH}"
+echo " Make Options: ${MY_MAKE_OPTS}"
+echo " Is Ubuntu?: ${UBUNTU}"
+echo " Preserving the build dir?: ${PRESERVE_BUILD_ROOT}"
+echo " JAVA_HOME: ${JAVA_HOME}"
+echo "******************************************************************"
+
+# Need JAVA_HOME for JavaApi
+if [ ! -d ${JAVA_HOME} ];
+then
+echo "ERROR: Environment variable JAVA_HOME not set. Please set this enviroment variable first"
+exit
+fi
+
+check_build()
+{
+    error=$?
+    if [ $error -ne 0 ]; then
+        echo "$BUILD_COMPONENT: Error build failed ($error)................."
+        exit $error
+    fi
+}
+
+if [ ! ${PRESERVE_BUILD_ROOT} -eq 1 ]
+then
+    echo "Removing existing build dir at ${MGSOURCE}"
+    rm -rf ${MGSOURCE}
+else
+    echo "Preserving existing build dir"
+fi
+rm -rf ${INSTALLROOT}
+
+REVISION=`svn info ${SVNROOT}${SVNRELPATH} | perl revnum.pl`
+echo ${REVISION} > revnum.txt
+if [ ! ${PRESERVE_BUILD_ROOT} -eq 1 -o ! -d ${MGSOURCE} ];
+then
+    if [ ! -d ${MGSOURCE} ];
+    then
+    	echo "Build root ${MGSOURCE} does not exist. Doing svn export"
+    fi
+    echo "Exporting svn revision ${REVISION}"
+    if [ ${LOCALSVN} -eq 1 ] 
+    then
+        echo "Making local SVN copy of ${SVNROOT}${SVNRELPATH} to ${MGSOURCE}"
+        cp -R ${SVNROOT}${SVNRELPATH} ${MGSOURCE}
+        echo "Cleaning out .svn directories"
+	pushd ${MGSOURCE}
+        find . -name .svn -exec rm -rf {} \;
+	popd
+    else
+        echo "Performing fresh SVN export of ${SVNROOT}${SVNRELPATH} (r${REVISION}) to ${MGSOURCE}"
+        svn export -q -r ${REVISION} ${SVNROOT}${SVNRELPATH} ${MGSOURCE}
+    fi
+fi
+
+start_time=`date +%s`
+
+echo "Building Revision ${BUILDNUM}.${REVISION}" 
+cd ${MGSOURCE}
+
+echo "#ifndef PRODUCTVERSION_H_" > ${VERFILE}
+echo "#define PRODUCTVERSION_H_" >> ${VERFILE}
+echo 'const STRING ProductVersion = L"'${BUILDNUM}'.'${REVISION}'";' >> ${VERFILE}
+echo 'const STRING ApiVersion     = L"'${APIVERSION}'";' >> ${VERFILE}
+echo '#endif' >> ${VERFILE}
+
+echo "Building LinuxApt"
+pushd ${MGSOURCE}/Oem/LinuxApt
+BUILD_COMPONENT="LinuxApt"
+./build_apt.sh --prefix ${INSTALLROOT} --with-tomcat
+check_build
+popd
+
+# Need an ubuntu-flavoured build_oem.sh if we're doing ubuntu
+if [ ${UBUNTU} -eq 1 ]
+then
+    cp ${BUILDROOT}/build_oem_ubuntu.sh .
+    chmod +x build_oem_ubuntu.sh
+    echo "Building Oem (Ubuntu)"
+    BUILD_COMPONENT="Oem (Ubuntu)"
+    ./build_oem_ubuntu.sh --prefix ${INSTALLROOT}
+    check_build
+else
+    echo "Building Oem (Regular)"
+    BUILD_COMPONENT="Oem (Regular)"
+    ./build_oem.sh --prefix ${INSTALLROOT}
+    check_build
+fi
+
+echo "Building Fusion"
+pushd ${MGSOURCE}/Oem/fusion
+BUILD_COMPONENT="Fusion"
+ant prepare
+ant compress
+check_build
+popd
+
+echo "Building MapGuide"
+BUILD_COMPONENT="MapGuide"
+aclocal
+libtoolize --force
+automake --add-missing --copy
+autoconf
+if [ $(uname -m) = "x86_64" ]; then
+    ./configure --enable-optimized --enable-64bit --prefix=${INSTALLROOT}
+else
+    ./configure --enable-optimized --prefix=${INSTALLROOT}
+fi
+make $MY_MAKE_OPTS
+check_build
+BUILD_COMPONENT="MapGuide Install"
+make install
+check_build
+
+end_time=`date +%s`
+
+echo "Preparing binaries for packaging"
+# Prepare binaries for packaging by removing unnecessary
+# .la and .a files and stripping unneeded symbols from the binaries
+pushd ${INSTALLROOT}
+LIBDIRS="lib server/lib webserverextensions/lib" 
+echo "Stripping symbols from binaries"
+for libdir in ${LIBDIRS}
+do
+    # Remove any .la and .a files in lib directories
+    rm -f ${libdir}/*.la
+    rm -f ${libdir}/*.a
+
+    # Remove unneeded symbols from files in the lib directories
+    for file in `find ${libdir}/lib*.so* -type f -print`
+    do
+        strip --strip-unneeded ${file}
+        chmod a-x ${file}
+    done
+done
+popd
+
+# Make tarball if not ubuntu
+if [ ${UBUNTU} -eq 1 ];
+then
+    echo "Creating MapGuide Open Source binary tarball"
+    # Tarball the whole works and put it in a bin directory
+    pushd ${BUILDROOT}
+    if [ ! -d bin ]; then
+        mkdir -p bin
+    fi
+
+    tar -zcf bin/mapguideopensource-${BUILDNUM}.${REVISION}.tar.gz ${INSTALLROOT} ${LOCKFILEDIR}
+fi
+echo "Build complete!"
+echo Main build execution: `expr $end_time - $start_time` s

Added: trunk/Tools/Vagrant/ubuntu/x86/build_fdo.sh
===================================================================
--- trunk/Tools/Vagrant/ubuntu/x86/build_fdo.sh	                        (rev 0)
+++ trunk/Tools/Vagrant/ubuntu/x86/build_fdo.sh	2014-02-17 22:42:34 UTC (rev 7979)
@@ -0,0 +1,260 @@
+#!/bin/bash
+
+# build_fdo.sh
+#
+# Builds FDO and creates a tarball from the binary output
+#
+# Modify setenvironment.sh to point to the correct Oracle, MySQL and PostgreSQL paths
+# before building
+
+FDO_BUILD_COMPONENT=
+
+# FDO version. Make sure this matches your FDO build source
+FDO_VER_MAJOR=3
+FDO_VER_MINOR=9
+FDO_VER_REV=0
+
+UBUNTU=1
+FDO_BUILD_CPU=i386
+
+# FDO install directory
+FDO_VER_FULL=${FDO_VER_MAJOR}.${FDO_VER_MINOR}.${FDO_VER_REV}
+FDO_INST=/usr/local/fdo-${FDO_VER_FULL}
+
+check_build()
+{
+	error=$?
+	if [ $error -ne 0 ]; then
+		echo "[error]: ${FDO_BUILD_COMPONENT} - Error build failed ($error)"
+		exit $error
+	fi
+}
+
+check_fdo_lib()
+{
+	libname=$1-${FDO_VER_FULL}.so
+	libpath=${FDO_INST}/lib/${libname}
+	if [ ! -e ${libpath} ]; then
+		echo "[error]: Error building ${libname}"
+		exit 1
+	fi
+}
+
+save_current_file_list()
+{
+	echo "[info]: Saving current FDO dir file list"
+	pushd $FDO_INST
+	# For lazy folks who build from svn working copies instead of svn exports, we need to weed out any .svn dirs before compiling the file-list
+	find . -name .svn -exec rm -rf {} \;
+	find . -type f -print > ${FDO_FILELIST}/temp.lst
+	find . -type l -print >> ${FDO_FILELIST}/temp.lst
+	sort ${FDO_FILELIST}/temp.lst > ${FDO_FILELIST}/orig.lst
+	find . -type d -print | sort > ${FDO_FILELIST}/origdir.lst
+	popd
+}
+
+update_fdocore_file_list()
+{
+	echo "[info]: Updating FDO core file list for deb packaging"
+	pushd $FDO_INST
+	# For lazy folks who build from svn working copies instead of svn exports, we need to weed out any .svn dirs before compiling the file-list
+	find . -name .svn -exec rm -rf {} \;
+	find . -type f -print > ${FDO_FILELIST}/temp.lst
+	find . -type l -print >> ${FDO_FILELIST}/temp.lst
+	sort ${FDO_FILELIST}/temp.lst > ${FDO_FILELIST}/fdocore.lst
+	find . -type d -print | sort > ${FDO_FILELIST}/fdocoredir.lst
+	popd
+}
+
+update_provider_file_list()
+{
+	PROVIDER=$1
+	echo "[info]: Updating $PROVIDER file list for deb packaging"
+	pushd $FDO_INST
+	# For lazy folks who build from svn working copies instead of svn exports, we need to weed out any .svn dirs before compiling the file-list
+	find . -name .svn -exec rm -rf {} \;
+	#mkdir -p $BUILDLIST
+	find . -type f -print > ${FDO_FILELIST}/temp.lst
+	find . -type l -print >> ${FDO_FILELIST}/temp.lst
+	cat ${FDO_FILELIST}/orig.lst >> ${FDO_FILELIST}/temp.lst
+	sort ${FDO_FILELIST}/temp.lst | uniq -u > ${FDO_FILELIST}/${PROVIDER}.lst
+	find . -type d -print | sort > ${FDO_FILELIST}/temp.lst
+	cat ${FDO_FILELIST}/origdir.lst >> ${FDO_FILELIST}/temp.lst
+	sort ${FDO_FILELIST}/temp.lst | uniq -u > ${FDO_FILELIST}/${PROVIDER}dir.lst
+	popd
+}
+
+BUILDROOT=`pwd`
+
+LOCALSVN=1
+PRESERVE_BUILD_ROOT=1
+CMAKE=0
+
+FDO_SRC=/home/vagrant/fdo/trunk
+#FDO_SRC=http://svn.osgeo.org/fdo/trunk
+FDO_BUILD_AREA=${BUILDROOT}/fdo_build_area
+FDO_FILELIST=${FDO_BUILD_AREA}/install/filelist
+
+modify_sdk_paths()
+{
+	echo "[info]: Updating setenvironment.sh"
+	# Note: Change your paths here if they're different
+	sed -i 's/export FDOMYSQL=$FDOTHIRDPARTY\/mysql\/rhlinux/export FDOMYSQL=\/home\/vagrant\/fdo_rdbms_thirdparty\/mysql\/x86/g' ${FDO_BUILD_AREA}/setenvironment.sh
+	sed -i 's/export FDOPOSTGRESQL=$FDOTHIRDPARTY\/pgsql/export FDOPOSTGRESQL=\/home\/vagrant\/fdo_rdbms_thirdparty\/pgsql/g' ${FDO_BUILD_AREA}/setenvironment.sh
+	echo "export FDOORACLE=/home/vagrant/fdo_rdbms_thirdparty/oracle/x86/instantclient_11_2/sdk" >> ${FDO_BUILD_AREA}/setenvironment.sh
+}
+
+# Must have root
+if [[ $EUID -ne 0 ]]; then
+	echo "[error]: You must run this script with superuser privileges"
+	exit 1
+fi
+
+echo "***********************************************************"
+echo " FDO Source: ${FDO_SRC}"
+echo " FDO Build Area: ${FDO_BUILD_AREA}"
+echo " FDO Install dir: ${FDO_INST}"
+echo " CMake build: ${CMAKE}"
+echo " Is Ubuntu?: ${UBUNTU}"
+echo " Export from local SVN checkout: ${LOCALSVN}"
+echo " Re-use previous build area: ${PRESERVE_BUILD_ROOT}"
+echo "***********************************************************"
+start_time=`date +%s`
+REVISION=`svn info ${FDO_SRC} | perl revnum.pl`
+
+if [ -d ${FDO_INST} ];
+then
+	echo "[info]: Deleting directory ${FDO_INST} before build"
+	rm -rf ${FDO_INST}
+else
+	echo "[info]: ${FDO_INST} doesn't exist. Continuing build"
+fi
+
+if [ ${CMAKE} -eq 1 ];
+then
+	echo "[error]: CMake build of FDO not supported yet"
+	exit 1
+else
+	echo "[info]: Using automake build"
+	if [ -d ${FDO_BUILD_AREA} ];
+	then
+		if [ ${PRESERVE_BUILD_ROOT} -eq 1 ];
+		then
+			echo "[info]: FDO build area ${FDO_BUILD_AREA} exists. Going straight to build"
+		else
+			echo "[info]: Removing old FDO build area at ${FDO_BUILD_AREA}"
+			rm -rf ${FDO_BUILD_AREA}
+			if [ ${LOCALSVN} -eq 1 ] 
+			then
+				svn export ${FDO_SRC} ${FDO_BUILD_AREA}
+				modify_sdk_paths
+			else
+				echo "[info]: Performing fresh SVN export of ${FDO_SRC} (r${REVISION}) to ${FDO_BUILD_AREA}"
+				svn export -q -r ${REVISION} ${FDO_SRC} ${FDO_BUILD_AREA}
+				modify_sdk_paths
+			fi
+		fi
+	else
+		echo "[info]: FDO build area ${FDO_BUILD_AREA} does not exist. Doing svn export"
+		echo "[info]: Exporting svn revision ${REVISION}"
+		if [ ${LOCALSVN} -eq 1 ] 
+		then
+			svn export ${FDO_SRC} ${FDO_BUILD_AREA}
+			modify_sdk_paths
+		else
+			echo "[info]: Performing fresh SVN export of ${FDO_SRC} (r${REVISION}) to ${FDO_BUILD_AREA}"
+			svn export -q -r ${REVISION} ${FDO_SRC} ${FDO_BUILD_AREA}
+			modify_sdk_paths
+		fi
+	fi
+fi
+
+echo "[info]: Building FDO (${FDO_VER_MAJOR}.${FDO_VER_MINOR}.${FDO_VER_REV}) rev (${REVISION})"
+cd ${FDO_BUILD_AREA}
+source ./setenvironment.sh
+if [ ! -d ${FDO_INST} ];
+then
+	echo "[error]: FDO install directory ${FDO_INST} doesn't exist. setenvironment.sh should've created this directory. Ensure the FDO version number in this script is correct"
+	exit 1;
+fi
+FDO_BUILD_COMPONENT="FDO Thirdparty"
+./build_thirdparty.sh
+check_build
+
+if [ ${CMAKE} -eq 1 ];
+then
+	FDO_BUILD_COMPONENT="FDO (cmake)"
+	echo "[error]: CMake build of FDO not supported yet"
+	exit 1;
+else
+	#NOTE: We never build ArcSDE provider because we haven't paid the ESRI tax for their ArcSDE SDK
+	for comp in fdocore fdo utilities
+	do
+		FDO_BUILD_COMPONENT="$comp (automake)"
+		./build_linux.sh --w $comp --p ${FDO_INST}
+		update_fdocore_file_list
+		check_build
+	done
+	for comp in shp sqlite gdal ogr wfs wms rdbms kingoracle sdf
+	do
+		save_current_file_list
+		FDO_BUILD_COMPONENT="$comp (automake)"
+		./build_linux.sh --w $comp --p ${FDO_INST}
+		update_provider_file_list $comp
+		check_build
+	done
+fi
+check_fdo_lib libFDO
+check_fdo_lib libExpressionEngine
+check_fdo_lib libSDFProvider
+check_fdo_lib libSHPProvider
+check_fdo_lib libSHPOverrides
+check_fdo_lib libWFSProvider
+check_fdo_lib libWMSProvider
+check_fdo_lib libWMSOverrides
+# ArcSDE provider currently disabled due to missing libraries
+#./buildfdoprovider.sh arcsde
+#check_fdo_lib libArcSDEProvider
+check_fdo_lib libFdoMySQL
+check_fdo_lib libFdoPostgreSQL
+check_fdo_lib libFdoODBC
+check_fdo_lib libSchemaMgr_OV
+check_fdo_lib libGRFPProvider
+check_fdo_lib libGRFPOverrides
+check_fdo_lib libOGRProvider
+check_fdo_lib libKingOracleProvider
+check_fdo_lib libKingOracleOverrides
+check_fdo_lib libSQLiteProvider
+
+end_time=`date +%s`
+
+FDO_BUILD_COMPONENT="Remove .la files from ${FDO_INST}"
+# Remove .la files from lib directory
+rm -f ${FDO_INST}/lib/*.la
+check_build
+
+FDO_BUILD_COMPONENT="Strip so symbols and remove execute flag"
+# Remove unneeded symbols from files in the lib directory
+# and make them non-executable
+for file in `find ${FDO_INST}/lib/lib*.so* -type f -print`
+do
+	strip --strip-unneeded ${file}
+	chmod a-x ${file}
+done
+check_build
+
+cd $BUILDROOT
+FDO_BUILD_COMPONENT="Make tarball"
+# Create a binary tar ball for FDO
+tar -zcf fdosdk-centos6-${FDO_VER_FULL}_${REVISION}.tar.gz ${FDO_INST}
+check_build
+
+if [ ${UBUNTU} -eq 1 ];
+then
+cd ${FDO_BUILD_AREA}/install
+dos2unix *
+./dpkgall.sh ${FDO_BUILD_CPU} ${REVISION}
+fi
+
+echo "[info]: FDO build complete!"
+echo Main build execution time: `expr $end_time - $start_time` s

Added: trunk/Tools/Vagrant/ubuntu/x86/build_oem_ubuntu.sh
===================================================================
--- trunk/Tools/Vagrant/ubuntu/x86/build_oem_ubuntu.sh	                        (rev 0)
+++ trunk/Tools/Vagrant/ubuntu/x86/build_oem_ubuntu.sh	2014-02-17 22:42:34 UTC (rev 7979)
@@ -0,0 +1,654 @@
+#
+#! /bin/bash
+#
+
+#
+# MapGuide Open Source build script (tweaked for Ubuntu)
+#
+
+#**********************************************************
+# Initialization
+#**********************************************************
+
+echo "MapGuide Open Source build script for OEM components"
+INSTALLDIR=/usr/local/mapguideopensource-2.5.0
+MY_MAKE_OPTS="-j 4"
+CLEAN_FLAG=0
+while [ $# -gt 0 ]; do    # Until you run out of parameters...
+    case "$1" in
+        -prefix|--prefix)
+            INSTALLDIR="$2"
+            shift
+            ;;
+        -clean|--clean)
+            CLEAN_FLAG=1
+            shift
+            ;;
+        -help|--help)
+            echo "Usage: $0 (options)"
+            echo "Options:"
+            echo "  --prefix [installation directory]"
+            echo "  --clean [clean all objects and binaries in Oem]"
+            echo "  --help [Display usage]"
+            exit
+            ;;
+    esac
+    shift   # Check next set of parameters.
+done
+
+echo "OEM Build Initialization ............................"
+echo "Oem Libraries will be installed at: ${INSTALLDIR}"
+
+LIB_NAME=""
+
+#**********************************************************
+# Generic Functions
+#**********************************************************
+
+check_build()
+{
+    error=$?
+    if [ $error -ne 0 ]; then
+        echo "$LIB_NAME: Error build failed ($error)................."
+        exit $error
+    fi
+}
+
+check_clean()
+{
+    error=$?
+    if [ $error -ne 0 ]; then
+        echo "$LIB_NAME: Error clean failed ($error)................."
+        exit $error
+    fi
+}
+
+#**********************************************************
+# Build ACE 5.7
+# Notes: none
+#**********************************************************
+
+init_ace()
+{
+    LIB_NAME="ACE 5.7"
+}
+
+build_ace()
+{
+    pushd ACE/ACE_wrappers
+    ACE_PATH="${PWD}"
+    pushd ace
+    env ACE_ROOT="${ACE_PATH}" make $MY_MAKE_OPTS
+    check_build
+    popd
+    popd
+}
+
+clean_ace()
+{
+    pushd ACE/ACE_wrappers
+    ACE_PATH="${PWD}"
+    pushd ace
+    env ACE_ROOT="${ACE_PATH}" make clean
+    check_clean
+    popd
+    popd
+}
+
+#**********************************************************
+# Build DWFCORE 1.0
+# Notes: none
+#**********************************************************
+
+init_dwfcore()
+{
+    LIB_NAME="DWFCORE 1.0"
+    pushd DWFTK7.1/develop/global/build/gnu/dwfcore
+    sh ./build_setup.sh
+    popd
+}
+
+build_dwfcore()
+{
+    pushd DWFTK7.1/develop/global/src/dwfcore
+    sh ./configure --enable-optimized --prefix="${INSTALLDIR}"
+    make $MY_MAKE_OPTS
+    check_build
+    popd
+}
+
+clean_dwfcore()
+{
+    pushd DWFTK7.1/develop/global/src/dwfcore
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build DWFTOOLKIT 7.1
+# Notes: none
+#**********************************************************
+
+init_dwftk()
+{
+    LIB_NAME="DWFTK 7.1"
+    pushd DWFTK7.1/develop/global/build/gnu/dwftoolkit
+    sh ./build_setup.sh
+    popd
+}
+
+build_dwftk()
+{
+    pushd DWFTK7.1/develop/global/src/dwf
+    sh ./configure --enable-optimized --prefix="${INSTALLDIR}"
+    make $MY_MAKE_OPTS
+    check_build
+    popd
+}
+
+clean_dwftk()
+{
+    pushd DWFTK7.1/develop/global/src/dwf
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build DWFEMAP 1.0
+# Notes: none
+#**********************************************************
+
+init_dwfemap()
+{
+    LIB_NAME="DWFEMAP 1.0"
+    pushd DWFTK7.1/develop/global/build/gnu/dwfemap
+    sh ./build_setup.sh
+    popd
+}
+
+build_dwfemap()
+{
+    pushd DWFTK7.1/develop/global/src/dwfemap
+    sh ./configure --enable-optimized --prefix="${INSTALLDIR}"
+    make $MY_MAKE_OPTS
+    check_build
+    popd
+}
+
+clean_dwfemap()
+{
+    pushd DWFTK7.1/develop/global/src/dwfemap
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build GEOS 2.2.0
+# Notes: none
+#**********************************************************
+
+init_geos()
+{
+    LIB_NAME="GEOS 2.2.0"
+}
+
+build_geos()
+{
+    pushd geos-2.2.0
+    # Force regen to take into account our modified configure.in
+    aclocal -I macros
+    libtoolize --copy --force
+    autoconf
+    automake --add-missing --copy --force-missing
+    if [ $(uname -m) = "x86_64" ]; then
+        sh ./configure --with-pic --prefix="${INSTALLDIR}"
+    else
+        sh ./configure --prefix="${INSTALLDIR}"
+    fi
+    make $MY_MAKE_OPTS
+    # The check build is disabled as the build will fail with automake version < 2.59
+    # check_build
+    popd
+}
+
+clean_geos()
+{
+    pushd geos-2.2.0
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build PHP 5.3.1
+# Notes: Configure PHP source tree for building PHP extension
+#**********************************************************
+
+init_php()
+{
+    LIB_NAME="PHP 5.3.1"
+}
+
+build_php()
+{
+    pushd php
+    sh ./configure
+    check_build
+    popd
+}
+
+clean_php()
+{
+    pushd php
+    make distclean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build SWIGEx 1.0
+# Notes: none
+#**********************************************************
+
+init_swigex()
+{
+    LIB_NAME="SWIGEx 1.0"
+}
+
+build_swigex()
+{
+    pushd SWIGEx
+    mkdir -p Linux/obj/release
+    make $MY_MAKE_OPTS
+    check_build
+    popd
+}
+
+clean_swigex()
+{
+    pushd SWIGEx
+    # Note: the qmake system is required to regenerate the Makefile.
+    #       This is disabled.
+    # make clean
+    # check_clean
+    popd
+}
+
+#**********************************************************
+# Build BDBXML
+# Notes: none
+#**********************************************************
+
+init_bdbxml()
+{
+    LIB_NAME="BDBXML"
+}
+
+build_bdbxml()
+{
+    # Need to force regen of the correct xerces config header before building dbxml proper
+    pushd dbxml/xerces-c-src
+    sh ./configure
+    popd
+    # Also need to check and set executable flag for s_paths
+    pushd dbxml/dbxml/dist
+    chmod +x s_paths
+    popd
+    pushd dbxml
+    sh ./buildall.sh
+    check_build
+    popd
+}
+
+clean_bdbxml()
+{
+    pushd dbxml
+    sh ./buildall.sh --clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build CPPUNIT 1.9.14
+# Notes: none
+#**********************************************************
+
+init_cppunit()
+{
+    LIB_NAME="CPPUNIT 1.9.14"
+}
+
+build_cppunit()
+{
+    pushd CppUnit-1.9.14
+    # the configure script as-is is incompatible with ubuntu, so regen it
+    aclocal -I config
+    libtoolize --copy --force
+    autoconf
+    automake --add-missing --copy --force-missing
+    # -ldl is to prevent undefined reference to dlsym/dlopen/dlclose
+    sh ./configure --prefix="${INSTALLDIR}" LDFLAGS="-ldl"
+    make $MY_MAKE_OPTS
+    check_build
+    popd
+}
+
+clean_cppunit()
+{
+    pushd CppUnit-1.9.14
+    sh ./configure --prefix="${INSTALLDIR}"
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build IMake 1.0
+# Notes: none
+#**********************************************************
+
+init_imake()
+{
+    LIB_NAME="IMake 1.0"
+}
+
+build_imake()
+{
+    pushd ../BuildTools/WebTools/IMake
+    mkdir -p Linux/obj/debug
+    make $MY_MAKE_OPTS
+    check_build
+    popd
+}
+
+clean_imake()
+{
+    pushd ../BuildTools/WebTools/IMake
+    # Note: does not support clean as qmake is needed to regenerate the Makefile.
+    # make clean
+    # check_clean
+    popd
+}
+
+#**********************************************************
+# Build ZLIB 1.2.3
+# Notes: none
+#**********************************************************
+
+init_zlib()
+{
+    LIB_NAME="ZLIB 1.2.3"
+}
+
+build_zlib()
+{
+    pushd gd/zlib
+    sh ./configure
+    make $MY_MAKE_OPTS
+    check_build
+    popd
+}
+
+clean_zlib()
+{
+    pushd gd/zlib
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build LIBPNG 1.2.8
+# Notes: none
+#**********************************************************
+
+init_libpng()
+{
+    LIB_NAME="LIBPNG 1.2.8"
+}
+
+build_libpng()
+{
+    pushd gd/lpng
+    cp scripts/makefile.std makefile
+    if [ $(uname -m) = "x86_64" ]; then
+        #Inject -fPIC to CFLAGS for 64-bit
+        sed 's/^CFLAGS=/CFLAGS= -fPIC /g' makefile > makefile64
+        make -fmakefile64 $MY_MAKE_OPTS
+    else
+        make $MY_MAKE_OPTS
+    fi
+    check_build
+    popd
+}
+
+clean_libpng()
+{
+    pushd gd/lpng
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build JPEG 6b
+# Notes: none
+#**********************************************************
+
+init_jpeg()
+{
+    LIB_NAME="JPEG 6b"
+}
+
+build_jpeg()
+{
+    pushd gd/jpeg
+    if [ $(uname -m) = "x86_64" ]; then
+        sh ./configure --enable-static --disable-shared
+        #--with-pic does nothing (probably ancient configure script), so do some sed trickery
+        #to inject this flag. Know a better way? Enlighten us :)
+        sed 's/^CFLAGS=/CFLAGS= -fPIC/g' Makefile > Makefile64
+        make -fMakefile64 $MY_MAKE_OPTS
+    else
+        sh ./configure --enable-static --disable-shared
+        make $MY_MAKE_OPTS
+    fi
+    check_build
+    popd
+}
+
+clean_jpeg()
+{
+    pushd gd/jpeg
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build FREETYPE 2.1.10
+# Notes: none
+#**********************************************************
+
+init_freetype()
+{
+    LIB_NAME="FREETYPE 2.1.10"
+}
+
+build_freetype()
+{
+    pushd gd/freetype
+    if [ $(uname -m) = "x86_64" ]; then
+        sh ./configure --enable-static --disable-shared --with-pic
+    else
+    	sh ./configure --enable-static --disable-shared
+    fi
+    make $MY_MAKE_OPTS
+    check_build
+    popd
+}
+
+clean_freetype()
+{
+    pushd gd/freetype
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build GD 2.0.33
+# Notes: none
+#**********************************************************
+
+init_gd()
+{
+    LIB_NAME="GD 2.0.33"
+}
+
+build_gd()
+{
+    pushd gd/gd
+    if [ $(uname -m) = "x86_64" ]; then
+        sh ./configure --enable-static --disable-shared --without-fontconfig --with-pic
+    else
+    	sh ./configure --enable-static --disable-shared --without-fontconfig
+    fi
+    make $MY_MAKE_OPTS
+    check_build
+    popd
+}
+
+clean_gd()
+{
+    pushd gd/gd
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build AGG 2.4
+# Notes: none
+#**********************************************************
+
+init_agg()
+{
+    LIB_NAME="AGG 2.4"
+}
+
+build_agg()
+{
+    pushd agg-2.4
+    if [ $(uname -m) = "x86_64" ]; then
+        make $MY_MAKE_OPTS EXTRACXXFLAGS=-fPIC
+    else
+        make $MY_MAKE_OPTS
+    fi
+    check_build
+    popd
+}
+
+clean_agg()
+{
+    pushd agg-2.4
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Build JSON
+# Notes: none
+#**********************************************************
+
+init_json()
+{
+    LIB_NAME="JSON"
+}
+
+build_json()
+{
+    pushd jsoncpp
+    #Use the scons installed by apt-get
+    scons platform=linux-gcc
+    popd
+}
+
+clean_json()
+{
+    pushd jsoncpp
+    rm -rf lib buildscons dist
+    popd
+}
+
+#**********************************************************
+# Build CSMAP
+# Notes: none
+#**********************************************************
+
+init_csmap()
+{
+    LIB_NAME="CSMAP"
+}
+
+build_csmap()
+{
+    pushd CsMap
+    mkdir -p .libs
+    pushd Source
+    if [ $(uname -m) = "x86_64" ]; then
+        #Need to build CS-Map with -fPIC because linking libraries will be built with -fPIC
+	sed 's/^C_FLG =/C_FLG = -fPIC/g' Library.mak | sed 's/CPP_FLG =/CPP_FLG = -fPIC/g' > Library64.mak
+	make -fLibrary64.mak $MY_MAKE_OPTS
+    else
+    	make -fLibrary.mak $MY_MAKE_OPTS
+    fi
+    cp CsMap.a ../.libs/libCsmap.a
+    popd
+    pushd Dictionaries
+    if [ $(uname -m) = "x86_x64" ]; then
+        #Need to build CS-Map with -fPIC because linking libraries will be built with -fPIC
+        sed 's/^C_FLG =/C_FLG = -fPIC/g' Library.mak | sed 's/CPP_FLG =/CPP_FLG = -fPIC/g' > Compiler64.mak
+	make -fCompiler64.mak $MY_MAKE_OPTS
+    else
+        make -fCompiler.mak $MY_MAKE_OPTS
+    fi
+    ./CS_Comp -b . .
+    popd
+    check_build
+    popd
+}
+
+clean_csmap()
+{
+    pushd CsMap
+    make clean
+    check_clean
+    popd
+}
+
+#**********************************************************
+# Script loop
+#**********************************************************
+
+pushd Oem
+for lib in ace dwfcore dwftk dwfemap geos php swigex bdbxml cppunit imake zlib libpng jpeg freetype gd agg json csmap;
+do
+    echo "$lib: Initialization..........................."
+    init_"$lib"
+
+    if test "$CLEAN_FLAG" = "1"; then
+        echo "$lib: Clean ....................................."
+        clean_"$lib"
+        echo "$lib: Clean Successful .........................."
+    else
+        echo "$lib: Configure/Build ..........................."
+        build_"$lib"
+        echo "$lib: Build Successful .........................."
+    fi
+done
+popd

Added: trunk/Tools/Vagrant/ubuntu/x86/dpkgbuild.sh
===================================================================
--- trunk/Tools/Vagrant/ubuntu/x86/dpkgbuild.sh	                        (rev 0)
+++ trunk/Tools/Vagrant/ubuntu/x86/dpkgbuild.sh	2014-02-17 22:42:34 UTC (rev 7979)
@@ -0,0 +1,63 @@
+
+# Blow away old build directory
+rm -rf ${ROOT}
+
+# Create and populate documentation directory for fdo-core
+mkdir -p ${ROOT}/usr/share/doc/${PACKAGENAME}
+cp debian/copyright ${ROOT}/usr/share/doc/${PACKAGENAME}
+cp debian/changelog ${ROOT}/usr/share/doc/${PACKAGENAME}/changelog.Debian
+gzip -9 ${ROOT}/usr/share/doc/${PACKAGENAME}/changelog.Debian
+
+
+# Create directories for binary package build and copy
+# install image into build directory
+for dirname in ${DIRLIST}
+do
+  mkdir -p ${CPROOT}/${dirname}
+  cp -ar /${MGINST}/${dirname} ${CPROOT}
+done
+
+# Remove all files in the REMOVELIST
+for pat in ${REMOVELIST}
+do
+  for file in `find ${CPROOT} -type f | grep "${pat}"`
+  do
+    echo "Removing ${file}"
+    rm -f ${file}
+  done
+done
+
+# Symbol strip all files in the STRIPLIST
+for pat in ${STRIPLIST}
+do
+  for file in `find ${CPROOT} -type f | grep "${pat}"`
+  do
+    echo "Stripping ${file}"
+    strip --strip-unneeded ${file}
+    chmod a-x ${file}
+  done
+done
+
+# Call dpkg-shlibdeps to build out library dependencies
+# This will create the substvars file
+# LD_LIBRARY_PATH must be set to find private libs
+mkdir -p ${ROOT}/DEBIAN
+pushd ${BUILDROOT}
+# Shared library symlinks point back to install directory
+# Add install directory to path to compensate
+# Also add FDO libs to path
+export LD_LIBRARY_PATH=/usr/local/fdo-3.5.0/lib:${CPROOT}/lib:/${MGINST}/lib
+dpkg-shlibdeps -p${PACKAGEDIR} --ignore-missing-info ${CPROOT}/lib/*.so
+dpkg-gensymbols -p"${PACKAGENAME}" -P"debian/${PACKAGEDIR}"
+export LD_LIBRARY_PATH=
+
+# Now generate a filled in control file for the binary package
+# using information from control, changelog, and substvars
+dpkg-gencontrol -p"${PACKAGENAME}" -P"debian/${PACKAGEDIR}"
+
+# Build binary package from ROOT
+# And move resulting debian package and lintian results to build directory
+dpkg-deb --build ${ROOT}
+lintian -i debian/${PACKAGEDIR}.deb > tmp/${PACKAGEDIR}.lintian
+mv debian/${PACKAGEDIR}.deb bin/${PACKAGENAME}_${MGBUILD}-${BUILDNUM}_${ARCH}.deb
+popd

Added: trunk/Tools/Vagrant/ubuntu/x86/dpkgmapguide.sh
===================================================================
--- trunk/Tools/Vagrant/ubuntu/x86/dpkgmapguide.sh	                        (rev 0)
+++ trunk/Tools/Vagrant/ubuntu/x86/dpkgmapguide.sh	2014-02-17 22:42:34 UTC (rev 7979)
@@ -0,0 +1,189 @@
+#!/bin/bash
+
+# Build directory structure underneath directory of this script
+# debian/ - common build directory for all packages
+#   control - generated all packages control file with subst params
+#   changelog - generated changelog file
+#   substvars - subst params created by dpkg-shlibdeps
+#   mapguidecommon/ - packaging directory for common MapGuide components
+#     usr/local/mapguideopensource-2.4.0/ - copied tree for common components
+#     DEBIAN/
+#       control - control file generated from dpkg-gencontrol
+#       symbols - symbols file generated from dpkg-gensymbols
+#
+#   mapguideserver/ - packaging directory for MapGuide Server
+#     usr/local/mapguideopensource-2.4.0/ - copied tree for Server
+#     DEBIAN/
+#       control - control file generated from dpkg-gencontrol
+#       symbols - symbols file generated from dpkg-gensymbols
+#
+#   mapguidewebextensions/ - packaging directory for Web Extensions
+#     usr/local/mapguideopensource-2.4.0/ - copied tree for Web Extensions
+#     DEBIAN/
+#       control - control file generated from dpkg-gencontrol
+#       symbols - symbols file generated from dpkg-gensymbols
+#
+#   mapguidehttpd/ - packaging directory for Apache Bundle
+#     usr/local/mapguideopensource-2.4.0/ - copied tree for Apache bundle
+#     DEBIAN/
+#       control - control file generated from dpkg-gencontrol
+#       symbols - symbols file generated from dpkg-gensymbols
+# 
+#
+# Make sure setvars.sh is called first before running this script
+
+BUILDROOT=`pwd`
+MGBUILD=2.6.0
+MGINST=usr/local/mapguideopensource-${MGBUILD}
+ROOT=${BUILDROOT}/debian/mapguidecommon
+TREE=${BUILDROOT}/debian
+CPROOT=${ROOT}/${MGINST}
+
+# Create output directory structure and ignore errors
+#
+if [ ! -d tmp ]; then
+  mkdir tmp >& /dev/null
+  mkdir bin >& /dev/null
+  mkdir debian >& /dev/null
+else
+# clean out existing build tree
+  rm -rf tmp/*
+  rm -rf bin/*
+  rm -rf debian/*
+fi
+
+
+# Read and validate command line parameters
+#
+ARCH="$1"
+BUILDNUM="$2"
+if test -z ${ARCH}; then 
+  echo Usage: dpkgmapguide.sh [i386/amd64] svnChangeNum
+  exit -1
+fi
+if test -z ${BUILDNUM}; then 
+  echo Usage: dpkgmapguide.sh [i386/amd64] svnChangeNum
+  exit -1
+fi
+
+case $ARCH in 
+i386)
+  echo Setting architecture to i386.
+  ;;
+amd64)
+  echo Setting architecture to amd64.
+  ;;
+*)
+  echo Usage: dpkgmapguide.sh [i386/amd64] svnChangeNum
+  echo Invalid architecture.  Please specify i386 or amd64.
+  exit -1
+  ;;
+esac
+
+
+# Create control file
+#
+cat > debian/control <<END-OF-CONTROL
+Source: mapguideopensource-src
+Maintainer: MapGuide Internals Mail List <mapguide-internals at lists.osgeo.org>
+Section: misc
+Priority: optional
+Homepage: http://mapguide.osgeo.org
+
+Package: mapguideopensource-common
+Architecture: ${ARCH}
+Section: misc
+Priority: optional
+Depends: \${mapguidecommon:Depends}
+Description:  OSGeo MapGuide ${MGBUILD} common components
+
+Package: mapguideopensource-server
+Architecture: ${ARCH}
+Section: misc
+Priority: optional
+Depends: \${mapguideserver:Depends}
+Description:  OSGeo MapGuide ${MGBUILD} Server
+
+Package: mapguideopensource-webextensions
+Architecture: ${ARCH}
+Section: misc
+Priority: optional
+Depends: \${mapguidewebextensions:Depends}
+Description:  OSGeo MapGuide ${MGBUILD} Web Extensions
+
+Package: mapguideopensource-httpd
+Architecture: ${ARCH}
+Section: misc
+Priority: optional
+Depends: \${mapguidehttpd:Depends}
+Description:  OSGeo MapGuide ${MGBUILD} Apache Web Server
+END-OF-CONTROL
+
+
+# Create changelog file
+# TODO: pull revision history from Subversion
+#
+CURRTIME=`date -R`
+cat > debian/changelog <<END-OF-CHANGELOG
+mapguideopensource-src (${MGBUILD}-${BUILDNUM}) experimental; urgency=low
+
+  * ${BUILDNUM}
+
+ -- MapGuide Internals Mail List <mapguide-internals at lists.osgeo.org>  ${CURRTIME}
+END-OF-CHANGELOG
+
+
+# Pull copyright file from Subversion vault 
+wget -N http://svn.osgeo.org/mapguide/trunk/MgDev/License.txt -O tmp/copyright
+iconv -f ISO-8859-1 -t UTF-8 tmp/copyright > debian/copyright
+
+PACKAGENAME=mapguideopensource-common
+PACKAGEDIR=mapguidecommon
+DIRLIST="lib share"
+REMOVELIST="\.a\$ \.la\$"
+STRIPLIST="\.so\$ libdwf"
+
+source ./dpkgbuild.sh
+
+MGINST=usr/local/mapguideopensource-${MGBUILD}/server
+ROOT=${BUILDROOT}/debian/mapguideserver
+TREE=${BUILDROOT}/debian
+CPROOT=${ROOT}/${MGINST}
+PACKAGENAME=mapguideopensource-server
+PACKAGEDIR=mapguideserver
+DIRLIST="bin lib Logs Packages Repositories RepositoryAdmin Resources Schema Temp Trash Wfs Wms"
+REMOVELIST="\.a\$ \.la\$"
+STRIPLIST="\.so\$"
+
+source ./dpkgbuild.sh
+
+MGINST=usr/local/mapguideopensource-${MGBUILD}/webserverextensions
+ROOT=${BUILDROOT}/debian/mapguidewebextensions
+TREE=${BUILDROOT}/debian
+CPROOT=${ROOT}/${MGINST}
+PACKAGENAME=mapguideopensource-webextensions
+PACKAGEDIR=mapguidewebextensions
+DIRLIST="bin lib www"
+REMOVELIST="\.a\$ \.la\$"
+STRIPLIST="\.so\$"
+
+source ./dpkgbuild.sh
+
+MGINST=usr/local/mapguideopensource-${MGBUILD}/webserverextensions
+ROOT=${BUILDROOT}/debian/mapguidehttpd
+TREE=${BUILDROOT}/debian
+CPROOT=${ROOT}/${MGINST}
+PACKAGENAME=mapguideopensource-httpd
+PACKAGEDIR=mapguidehttpd
+DIRLIST="apache2 php tomcat"
+REMOVELIST="\.a\$ \.la\$"
+STRIPLIST="\.so\$"
+
+source ./dpkgbuild.sh
+
+
+
+
+
+
+

Added: trunk/Tools/Vagrant/ubuntu/x86/readme.txt
===================================================================
Added: trunk/Tools/Vagrant/ubuntu/x86/revnum.pl
===================================================================
--- trunk/Tools/Vagrant/ubuntu/x86/revnum.pl	                        (rev 0)
+++ trunk/Tools/Vagrant/ubuntu/x86/revnum.pl	2014-02-17 22:42:34 UTC (rev 7979)
@@ -0,0 +1,8 @@
+while (defined($line = <STDIN>))
+{
+   ($key,$value) = split(/: /,$line);
+   if ($key eq "Last Changed Rev")
+   {
+      print $value;
+   }
+}
\ No newline at end of file



More information about the mapguide-commits mailing list