[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