[mapguide-commits] r8125 - in branches/2.6/vagrant: . centos/x64 centos/x86 scripts sources/patches sources/patches/fdo sources/patches/mapguide ubuntu/x64 ubuntu/x86
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon May 12 05:17:02 PDT 2014
Author: jng
Date: 2014-05-12 05:17:02 -0700 (Mon, 12 May 2014)
New Revision: 8125
Added:
branches/2.6/vagrant/scripts/mginstallcentos.sh
branches/2.6/vagrant/scripts/mginstallubuntu.sh
branches/2.6/vagrant/scripts/mguninstallubuntu.sh
branches/2.6/vagrant/sources/patches/fdo/Thirdparty/
branches/2.6/vagrant/sources/patches/mapguide/Oem/
Removed:
branches/2.6/vagrant/scripts/build_oem_ubuntu.sh
Modified:
branches/2.6/vagrant/build.bat
branches/2.6/vagrant/centos/x64/Vagrantfile
branches/2.6/vagrant/centos/x86/Vagrantfile
branches/2.6/vagrant/clean.bat
branches/2.6/vagrant/scripts/build.sh
branches/2.6/vagrant/scripts/build_fdo.sh
branches/2.6/vagrant/sources/patches/patchinfo.txt
branches/2.6/vagrant/ubuntu/x64/Vagrantfile
branches/2.6/vagrant/ubuntu/x86/Vagrantfile
Log:
This is the vagrant configuration used to produce the 2.6 beta 1 builds of MapGuide for Ubuntu and CentOS
Modified: branches/2.6/vagrant/build.bat
===================================================================
--- branches/2.6/vagrant/build.bat 2014-05-12 12:15:21 UTC (rev 8124)
+++ branches/2.6/vagrant/build.bat 2014-05-12 12:17:02 UTC (rev 8125)
@@ -9,6 +9,12 @@
SET TEARDOWN_CENTOS_64=0
SET ROOT=%CD%
SET COMPONENT=
+echo **************** Build Summary *********************
+echo Building Ubuntu (32-bit): %BUILD_UBUNTU_32% (teardown=%TEARDOWN_UBUNTU_32%)
+echo Building Ubuntu (64-bit): %BUILD_UBUNTU_64% (teardown=%TEARDOWN_UBUNTU_64%)
+echo Building CentOS (32-bit): %BUILD_CENTOS_32% (teardown=%TEARDOWN_CENTOS_32%)
+echo Building CentOS (64-bit): %BUILD_CENTOS_64% (teardown=%TEARDOWN_CENTOS_64%)
+echo ****************************************************
:prepare
echo [build]: Prepare scripts for provisioning
if %BUILD_CENTOS_32% == 1 copy /Y scripts\*.* %ROOT%\centos\x86
Modified: branches/2.6/vagrant/centos/x64/Vagrantfile
===================================================================
--- branches/2.6/vagrant/centos/x64/Vagrantfile 2014-05-12 12:15:21 UTC (rev 8124)
+++ branches/2.6/vagrant/centos/x64/Vagrantfile 2014-05-12 12:17:02 UTC (rev 8125)
@@ -126,6 +126,14 @@
exit $error
fi
}
+check_test()
+{
+ error=$?
+ if [ $error -ne 0 ]; then
+ echo "[warning]: ${BUILD_COMPONENT} - Unit Tests failed ($error)"
+ echo "[warning]: ${BUILD_COMPONENT} - Unit Tests failed ($error)" >> ~/unit_test_status.log
+ fi
+}
if hash scons 2>/dev/null; then
echo [provision]: We have scons
else
@@ -140,12 +148,18 @@
HAVE_FDO_LIBS=0
HAVE_MAPGUIDE=0
MG_UNIT_TEST=0
+FDO_UNIT_TEST=0
SCRIPT_ROOT=~/scripts
-FDO_SRC_ROOT=~/fdo
-FDO_SRC=$FDO_SRC_ROOT/trunk
+FDO_SRC_ROOT=~/fdo/branches
+FDO_VER_MM=3.9
+MG_VER_MM=2.6
+FDO_SRC_DIR=3.9
+FDO_SRC=$FDO_SRC_ROOT/$FDO_SRC_DIR
FDO_LIB_SRC=~/fdo_rdbms_thirdparty
-MG_SRC_ROOT=~/mapguide/trunk
+MG_SRC_ROOT=~/mapguide/branches/2.6
MG_SRC=$MG_SRC_ROOT/MgDev
+FDO_TARBALL=fdo-checkout-3.9.tar.gz
+MG_TARBALL=mapguide-checkout-2.6.tar.gz
if [ -d $FDO_SRC ];
then
HAVE_FDO=1
@@ -158,8 +172,8 @@
then
HAVE_MAPGUIDE=1
fi
-echo [provision]: Checking all tools and libs are in place
-yum install -y gcc-* gd-* automake bison byacc flex doxygen expat expat-devel libtool libjpeg-devel libpng libpng-devel libxml2 libxml2-devel openssl curl curl-devel libxslt libxslt-devel subversion java-1.7.0-openjdk java-1.7.0-openjdk-devel ant dos2unix openssh-server openldap-devel alsa-lib-devel pcre-devel unixODBC-devel libcom_err-devel krb5-devel openssl-devel mysql-devel postgresql-devel unixODBC
+#echo [provision]: Checking all tools and libs are in place
+#yum install -y gcc-* gd-* automake bison byacc flex doxygen expat expat-devel libtool libjpeg-devel libpng libpng-devel libxml2 libxml2-devel openssl curl curl-devel libxslt libxslt-devel subversion java-1.7.0-openjdk java-1.7.0-openjdk-devel ant dos2unix openssh-server openldap-devel alsa-lib-devel pcre-devel unixODBC-devel libcom_err-devel krb5-devel openssl-devel mysql-devel postgresql-devel unixODBC
echo [provision]: Copying shell scripts
mkdir -p $SCRIPT_ROOT
cp -f /vagrant/*.sh $SCRIPT_ROOT
@@ -179,15 +193,15 @@
fi
if [ $HAVE_FDO -eq 0 ];
then
- echo [provision]: Extracting FDO trunk working copy
- mkdir -p ~/fdo
- tar -zxf /mapguide_sources/fdo-checkout.tar.gz -C ~/fdo
+ echo [provision]: Extracting FDO working copy
+ mkdir -p $FDO_SRC_ROOT
+ tar -zxf /mapguide_sources/$FDO_TARBALL -C $FDO_SRC_ROOT
fi
if [ $HAVE_MAPGUIDE -eq 0 ];
then
- echo [provision]: Extracting MapGuide trunk working copy
+ echo [provision]: Extracting MapGuide working copy
mkdir -p $MG_SRC_ROOT
- tar -zxf /mapguide_sources/mapguide-checkout.tar.gz -C $MG_SRC_ROOT
+ tar -zxf /mapguide_sources/$MG_TARBALL -C $MG_SRC_ROOT
fi
echo [provision]: svn update FDO
BUILD_COMPONENT="svn update FDO"
@@ -207,6 +221,8 @@
echo [provision]: Applying MapGuide source patches
cp -R /mapguide_sources/patches/mapguide/* $MG_SRC
fi
+echo [provision]: Making sure swig is executable
+chmod +x $MG_SRC/Oem/SWIGEx/Linux/swig
cd ~/scripts
BUILD_COMPONENT="FDO"
sudo -E ./build_fdo.sh 2>&1 | tee ~/fdo_build.log
@@ -214,27 +230,64 @@
BUILD_COMPONENT="MapGuide"
sudo -E ./build.sh 2>&1 | tee ~/mapguide_build.log
check_build
+FDO_REV=`svn info $FDO_SRC | perl revnum.pl`
+MG_REV=`svn info $MG_SRC | perl revnum.pl`
+> ~/unit_test_status.log
+if [ $FDO_UNIT_TEST -eq 1 ];
+then
+ echo [provision]: Unit test FDO
+ BUILD_COMPONENT="Unit Test FDO Core"
+ cd $SCRIPT_ROOT/fdo_build_area/Fdo/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_core_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SHP Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SHP/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_shp_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SDF Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SDF/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_sdf_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SQLite Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SQLite/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_sqlite_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test GDAL Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/GDAL/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_gdal_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test WMS Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/WMS/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_wms_unit_test.log
+ check_test
+fi
if [ $MG_UNIT_TEST -eq 1 ];
then
echo [provision]: Unit test MapGuide
+ BUILD_COMPONENT="Unit Test MapGuide Server"
cd $SCRIPT_ROOT/mgdev
sudo make check 2>&1 | tee ~/mapguide_unit_test.log
+ check_test
fi
cd $SCRIPT_ROOT
sudo mkdir -p /vagrant/build
sudo mv -f ~/*.log /vagrant/build
sudo cp bin/*.tar.gz /vagrant/build
sudo cp fdosdk*.tar.gz /vagrant/build
+sudo cp ~/unit_test_status.log /vagrant/build/unit_test_status.log
+sudo cp /vagrant/mginstallcentos.sh /vagrant/build/mginstallcentos.sh
+sudo sed -i 's/FDOVER_REV=0/FDOVER_REV='"$FDO_REV"'/g' /vagrant/build/mginstallcentos.sh
+sudo sed -i 's/MGVER_REV=0/MGVER_REV='"$MG_REV"'/g' /vagrant/build/mginstallcentos.sh
if [ ! -d /mapguide_sources/updated ]; then
sudo mkdir -p /mapguide_sources/updated
- cd ~/mapguide/trunk
+ cd $MG_SRC_ROOT
echo [provision]: Updating mapguide source tarball
- tar -zcf mapguide-checkout.tar.gz MgDev
- sudo mv mapguide-checkout.tar.gz /mapguide_sources/updated
- cd ~/fdo
+ tar -zcf $MG_TARBALL MgDev
+ sudo mv $MG_TARBALL /mapguide_sources/updated
+ cd $FDO_SRC_ROOT
echo [provision]: Updating fdo source tarball
- tar -zcf fdo-checkout.tar.gz trunk
- sudo mv fdo-checkout.tar.gz /mapguide_sources/updated
+ tar -zcf $FDO_TARBALL $FDO_SRC_DIR
+ sudo mv $FDO_TARBALL /mapguide_sources/updated
else
echo [provision]: Updated tarballs already exist. Doing nothing
fi
Modified: branches/2.6/vagrant/centos/x86/Vagrantfile
===================================================================
--- branches/2.6/vagrant/centos/x86/Vagrantfile 2014-05-12 12:15:21 UTC (rev 8124)
+++ branches/2.6/vagrant/centos/x86/Vagrantfile 2014-05-12 12:17:02 UTC (rev 8125)
@@ -126,6 +126,14 @@
exit $error
fi
}
+check_test()
+{
+ error=$?
+ if [ $error -ne 0 ]; then
+ echo "[warning]: ${BUILD_COMPONENT} - Unit Tests failed ($error)"
+ echo "[warning]: ${BUILD_COMPONENT} - Unit Tests failed ($error)" >> ~/unit_test_status.log
+ fi
+}
if hash scons 2>/dev/null; then
echo [provision]: We have scons
else
@@ -140,12 +148,18 @@
HAVE_FDO_LIBS=0
HAVE_MAPGUIDE=0
MG_UNIT_TEST=0
+FDO_UNIT_TEST=0
SCRIPT_ROOT=~/scripts
-FDO_SRC_ROOT=~/fdo
-FDO_SRC=$FDO_SRC_ROOT/trunk
+FDO_SRC_ROOT=~/fdo/branches
+FDO_VER_MM=3.9
+MG_VER_MM=2.6
+FDO_SRC_DIR=3.9
+FDO_SRC=$FDO_SRC_ROOT/$FDO_SRC_DIR
FDO_LIB_SRC=~/fdo_rdbms_thirdparty
-MG_SRC_ROOT=~/mapguide/trunk
+MG_SRC_ROOT=~/mapguide/branches/2.6
MG_SRC=$MG_SRC_ROOT/MgDev
+FDO_TARBALL=fdo-checkout-3.9.tar.gz
+MG_TARBALL=mapguide-checkout-2.6.tar.gz
if [ -d $FDO_SRC ];
then
HAVE_FDO=1
@@ -158,8 +172,8 @@
then
HAVE_MAPGUIDE=1
fi
-echo [provision]: Checking all tools and libs are in place
-yum install -y gcc-* gd-* automake bison byacc flex doxygen expat expat-devel libtool libjpeg-devel libpng libpng-devel libxml2 libxml2-devel openssl curl curl-devel libxslt libxslt-devel subversion java-1.7.0-openjdk java-1.7.0-openjdk-devel ant dos2unix openssh-server openldap-devel alsa-lib-devel pcre-devel unixODBC-devel libcom_err-devel krb5-devel openssl-devel mysql-devel postgresql-devel unixODBC
+#echo [provision]: Checking all tools and libs are in place
+#yum install -y gcc-* gd-* automake bison byacc flex doxygen expat expat-devel libtool libjpeg-devel libpng libpng-devel libxml2 libxml2-devel openssl curl curl-devel libxslt libxslt-devel subversion java-1.7.0-openjdk java-1.7.0-openjdk-devel ant dos2unix openssh-server openldap-devel alsa-lib-devel pcre-devel unixODBC-devel libcom_err-devel krb5-devel openssl-devel mysql-devel postgresql-devel unixODBC
echo [provision]: Copying shell scripts
mkdir -p $SCRIPT_ROOT
cp -f /vagrant/*.sh $SCRIPT_ROOT
@@ -179,15 +193,15 @@
fi
if [ $HAVE_FDO -eq 0 ];
then
- echo [provision]: Extracting FDO trunk working copy
- mkdir -p ~/fdo
- tar -zxf /mapguide_sources/fdo-checkout.tar.gz -C ~/fdo
+ echo [provision]: Extracting FDO working copy
+ mkdir -p $FDO_SRC_ROOT
+ tar -zxf /mapguide_sources/$FDO_TARBALL -C $FDO_SRC_ROOT
fi
if [ $HAVE_MAPGUIDE -eq 0 ];
then
- echo [provision]: Extracting MapGuide trunk working copy
+ echo [provision]: Extracting MapGuide working copy
mkdir -p $MG_SRC_ROOT
- tar -zxf /mapguide_sources/mapguide-checkout.tar.gz -C $MG_SRC_ROOT
+ tar -zxf /mapguide_sources/$MG_TARBALL -C $MG_SRC_ROOT
fi
echo [provision]: svn update FDO
BUILD_COMPONENT="svn update FDO"
@@ -207,6 +221,8 @@
echo [provision]: Applying MapGuide source patches
cp -R /mapguide_sources/patches/mapguide/* $MG_SRC
fi
+echo [provision]: Making sure swig is executable
+chmod +x $MG_SRC/Oem/SWIGEx/Linux/swig
cd ~/scripts
BUILD_COMPONENT="FDO"
sudo -E ./build_fdo.sh 2>&1 | tee ~/fdo_build.log
@@ -214,27 +230,64 @@
BUILD_COMPONENT="MapGuide"
sudo -E ./build.sh 2>&1 | tee ~/mapguide_build.log
check_build
+FDO_REV=`svn info $FDO_SRC | perl revnum.pl`
+MG_REV=`svn info $MG_SRC | perl revnum.pl`
+> ~/unit_test_status.log
+if [ $FDO_UNIT_TEST -eq 1 ];
+then
+ echo [provision]: Unit test FDO
+ BUILD_COMPONENT="Unit Test FDO Core"
+ cd $SCRIPT_ROOT/fdo_build_area/Fdo/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_core_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SHP Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SHP/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_shp_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SDF Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SDF/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_sdf_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SQLite Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SQLite/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_sqlite_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test GDAL Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/GDAL/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_gdal_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test WMS Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/WMS/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_wms_unit_test.log
+ check_test
+fi
if [ $MG_UNIT_TEST -eq 1 ];
then
echo [provision]: Unit test MapGuide
+ BUILD_COMPONENT="Unit Test MapGuide Server"
cd $SCRIPT_ROOT/mgdev
sudo make check 2>&1 | tee ~/mapguide_unit_test.log
+ check_test
fi
cd $SCRIPT_ROOT
sudo mkdir -p /vagrant/build
sudo mv -f ~/*.log /vagrant/build
sudo cp bin/*.tar.gz /vagrant/build
sudo cp fdosdk*.tar.gz /vagrant/build
+sudo cp ~/unit_test_status.log /vagrant/build/unit_test_status.log
+sudo cp /vagrant/mginstallcentos.sh /vagrant/build/mginstallcentos.sh
+sudo sed -i 's/FDOVER_REV=0/FDOVER_REV='"$FDO_REV"'/g' /vagrant/build/mginstallcentos.sh
+sudo sed -i 's/MGVER_REV=0/MGVER_REV='"$MG_REV"'/g' /vagrant/build/mginstallcentos.sh
if [ ! -d /mapguide_sources/updated ]; then
sudo mkdir -p /mapguide_sources/updated
- cd ~/mapguide/trunk
+ cd $MG_SRC_ROOT
echo [provision]: Updating mapguide source tarball
- tar -zcf mapguide-checkout.tar.gz MgDev
- sudo mv mapguide-checkout.tar.gz /mapguide_sources/updated
- cd ~/fdo
+ tar -zcf $MG_TARBALL MgDev
+ sudo mv $MG_TARBALL /mapguide_sources/updated
+ cd $FDO_SRC_ROOT
echo [provision]: Updating fdo source tarball
- tar -zcf fdo-checkout.tar.gz trunk
- sudo mv fdo-checkout.tar.gz /mapguide_sources/updated
+ tar -zcf $FDO_TARBALL $FDO_SRC_DIR
+ sudo mv $FDO_TARBALL /mapguide_sources/updated
else
echo [provision]: Updated tarballs already exist. Doing nothing
fi
Modified: branches/2.6/vagrant/clean.bat
===================================================================
--- branches/2.6/vagrant/clean.bat 2014-05-12 12:15:21 UTC (rev 8124)
+++ branches/2.6/vagrant/clean.bat 2014-05-12 12:17:02 UTC (rev 8125)
@@ -1,6 +1,9 @@
@echo off
SET ROOT=%CD%
SET COMPONENT=
+pushd sources
+rd /S /Q updated
+popd
pushd ubuntu\x86
SET COMPONENT=Ubuntu Build 32-bit
echo [clean]: MapGuide Ubuntu build 32-bit
Modified: branches/2.6/vagrant/scripts/build.sh
===================================================================
--- branches/2.6/vagrant/scripts/build.sh 2014-05-12 12:15:21 UTC (rev 8124)
+++ branches/2.6/vagrant/scripts/build.sh 2014-05-12 12:17:02 UTC (rev 8125)
@@ -5,6 +5,7 @@
BUILDNUM=${APIVERSION}.0
BUILDROOT=`pwd`
MGCPUPLATFORM=i386
+MGDEBUG=0
INSTALLROOT=/usr/local/mapguideopensource-${BUILDNUM}
#INSTALLROOT=/usr/local/mapguideopensource-trunk
LOCKFILEDIR=/var/lock/mgserver
@@ -16,7 +17,7 @@
SVNROOT=/home/vagrant
#SVNROOT="svn://svn.bld.mgproto.net"
#SVNROOT="http://svn.osgeo.org"
-SVNRELPATH=/mapguide/trunk/MgDev
+SVNRELPATH=/mapguide/branches/2.6/MgDev
MY_MAKE_OPTS="-j 2"
UBUNTU=0
PRESERVE_BUILD_ROOT=1
@@ -26,6 +27,7 @@
echo " SVN Source is: ${SVNROOT}${SVNRELPATH}"
echo " Make Options: ${MY_MAKE_OPTS}"
echo " Is Ubuntu?: ${UBUNTU}"
+echo " Debug Build?: ${MGDEBUG}"
echo " Preserving the build dir?: ${PRESERVE_BUILD_ROOT}"
echo " JAVA_HOME: ${JAVA_HOME}"
echo "******************************************************************"
@@ -61,7 +63,7 @@
then
if [ ! -d ${MGSOURCE} ];
then
- echo "Build root ${MGSOURCE} does not exist. Doing svn export"
+ echo "Build root ${MGSOURCE} does not exist. Doing svn export"
fi
echo "Exporting svn revision ${REVISION}"
if [ ${LOCALSVN} -eq 1 ]
@@ -69,15 +71,53 @@
echo "Making local SVN copy of ${SVNROOT}${SVNRELPATH} to ${MGSOURCE}"
cp -R ${SVNROOT}${SVNRELPATH} ${MGSOURCE}
echo "Cleaning out .svn directories"
- pushd ${MGSOURCE}
+ pushd ${MGSOURCE}
find . -name .svn -exec rm -rf {} \;
- popd
+ popd
else
echo "Performing fresh SVN export of ${SVNROOT}${SVNRELPATH} (r${REVISION}) to ${MGSOURCE}"
svn export -q -r ${REVISION} ${SVNROOT}${SVNRELPATH} ${MGSOURCE}
fi
fi
+if [ ${UBUNTU} -eq 1 ];
+then
+ echo "[info]: Performing Ubuntu-specific modifications"
+ # GCC 4.8 is causing too much instability, so downgrade one version
+ #GCCVER=4.7
+ #export GCCVER
+ #CC=gcc-$GCCVER
+ #export CC
+ #CXX=g++-$GCCVER
+ #export CXX
+ #echo "[info]: Using GCC $GCCVER for Ubuntu"
+
+ # Patch some build scripts and makefiles to accept our chosen compiler
+
+ # CS-Map Dictionary Compiler
+ #echo "[info]: Patch CS-Map compiler makefile"
+ #sed -i 's/gcc \$/'"$CC"' \$/g' ${MGSOURCE}/Oem/CsMap/Dictionaries/Compiler.mak
+ #sed -i 's/gcc -v/'"$CC"' -v/g' ${MGSOURCE}/Oem/CsMap/Dictionaries/Compiler.mak
+
+ # libpng makefile
+ #echo "[info]: Patch libpng makefile"
+ #sed -i 's/CC=cc/CC='"$CC"'/g' ${MGSOURCE}/Oem/gd/lpng/scripts/makefile.std
+
+ # AGG 2.4 Linux Makefile
+ #echo "[info]: Replace agg-2.4 makefile"
+ #echo "AGGLIBS= -lagg " > ${MGSOURCE}/Oem/agg-2.4/Makefile.in.Linux
+ #echo "AGGCXXFLAGS = -O3 -I/usr/X11R6/include -L/usr/X11R6/lib" >> ${MGSOURCE}/Oem/agg-2.4/Makefile.in.Linux
+ #echo "CXX = $CXX" >> ${MGSOURCE}/Oem/agg-2.4/Makefile.in.Linux
+ #echo "C = $CC" >> ${MGSOURCE}/Oem/agg-2.4/Makefile.in.Linux
+ #echo "LIB = ar cr" >> ${MGSOURCE}/Oem/agg-2.4/Makefile.in.Linux
+ #echo "" >> ${MGSOURCE}/Oem/agg-2.4/Makefile.in.Linux
+ #echo ".PHONY : clean" >> ${MGSOURCE}/Oem/agg-2.4/Makefile.in.Linux
+else
+ echo "[info]: Performing CentOS-specific modifications"
+ sed -i 's/sh .\/buildall.sh/sh .\/buildall.sh --with-xerces-conf=--enable-transcoder-iconv/g' ${MGSOURCE}/build_oem.sh
+ sed -i 's/sh .\/buildall.sh --with-xerces-conf=--enable-transcoder-iconv --clean/sh .\/buildall.sh --clean/g' ${MGSOURCE}/build_oem.sh
+fi
+
start_time=`date +%s`
echo "Building Revision ${BUILDNUM}.${REVISION}"
@@ -98,9 +138,15 @@
echo "Building Oem"
BUILD_COMPONENT="Oem"
-./build_oem.sh --prefix ${INSTALLROOT}
-check_build
+if [ ${MGDEBUG} -eq 1 ]; then
+ ./build_oem.sh --prefix ${INSTALLROOT} --config debug
+ check_build
+else
+ ./build_oem.sh --prefix ${INSTALLROOT}
+ check_build
+fi
+
echo "Building Fusion"
pushd ${MGSOURCE}/Oem/fusion
BUILD_COMPONENT="Fusion"
@@ -117,10 +163,18 @@
autoconf
if [ $(uname -m) = "x86_64" ]; then
MGCPUPLATFORM=amd64
- ./configure --enable-optimized --enable-silent-rules --enable-64bit --prefix=${INSTALLROOT}
+ if [ ${MGDEBUG} -eq 1 ]; then
+ ./configure --disable-optimized --enable-silent-rules --enable-64bit --prefix=${INSTALLROOT}
+ else
+ ./configure --enable-optimized --enable-silent-rules --enable-64bit --prefix=${INSTALLROOT}
+ fi
else
MGCPUPLATFORM=i386
- ./configure --enable-optimized --enable-silent-rules --prefix=${INSTALLROOT}
+ if [ ${MGDEBUG} -eq 1 ]; then
+ ./configure --disable-optimized --enable-silent-rules --prefix=${INSTALLROOT}
+ else
+ ./configure --enable-optimized --enable-silent-rules --prefix=${INSTALLROOT}
+ fi
fi
make $MY_MAKE_OPTS
check_build
Modified: branches/2.6/vagrant/scripts/build_fdo.sh
===================================================================
--- branches/2.6/vagrant/scripts/build_fdo.sh 2014-05-12 12:15:21 UTC (rev 8124)
+++ branches/2.6/vagrant/scripts/build_fdo.sh 2014-05-12 12:17:02 UTC (rev 8125)
@@ -7,6 +7,8 @@
# Modify setenvironment.sh to point to the correct Oracle, MySQL and PostgreSQL paths
# before building
+FDO_DEBUG=0
+
FDO_BUILD_COMPONENT=
# FDO version. Make sure this matches your FDO build source
@@ -14,6 +16,14 @@
FDO_VER_MINOR=9
FDO_VER_REV=0
+# Extra flags to pass to FDO build scripts
+FDO_BUILD_FLAGS=
+if [ $FDO_DEBUG -eq 1 ]; then
+ FDO_BUILD_FLAGS="--config debug"
+else
+ FDO_BUILD_FLAGS="--config release"
+fi
+
UBUNTU=0
FDO_CPU=x86
FDO_PLATFORM=32
@@ -26,65 +36,65 @@
check_build()
{
- error=$?
- if [ $error -ne 0 ]; then
- echo "[error]: ${FDO_BUILD_COMPONENT} - Error build failed ($error)"
- exit $error
- fi
+ 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
+ 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
+ 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
+ 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
+ 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`
@@ -93,7 +103,7 @@
PRESERVE_BUILD_ROOT=1
CMAKE=0
-FDO_SRC=/home/vagrant/fdo/trunk
+FDO_SRC=/home/vagrant/fdo/branches/3.9
#FDO_SRC=http://svn.osgeo.org/fdo/trunk
FDO_BUILD_AREA=${BUILDROOT}/fdo_build_area
FDO_FILELIST=${FDO_BUILD_AREA}/install/filelist
@@ -160,21 +170,30 @@
if [ ${UBUNTU} -eq 1 ];
then
echo "[info]: Updating setenvironment.sh"
- sed -i 's/export FDOMYSQL=$FDOTHIRDPARTY\/mysql\/rhlinux/export FDOMYSQL=\/home\/vagrant\/fdo_rdbms_thirdparty_system\/mysql\/'"$FDO_CPU"'/g' ${FDO_BUILD_AREA}/setenvironment.sh
- sed -i 's/export FDOPOSTGRESQL=$FDOTHIRDPARTY\/pgsql/export FDOPOSTGRESQL=\/home\/vagrant\/fdo_rdbms_thirdparty_system\/pgsql\/'"$FDO_CPU"'/g' ${FDO_BUILD_AREA}/setenvironment.sh
+ sed -i 's/export FDOMYSQL=$FDOTHIRDPARTY\/mysql\/rhlinux/export FDOMYSQL=\/home\/vagrant\/fdo_rdbms_thirdparty_system\/mysql\/'"$FDO_CPU"'/g' ${FDO_BUILD_AREA}/setenvironment.sh
+ sed -i 's/export FDOPOSTGRESQL=$FDOTHIRDPARTY\/pgsql/export FDOPOSTGRESQL=\/home\/vagrant\/fdo_rdbms_thirdparty_system\/pgsql\/'"$FDO_CPU"'/g' ${FDO_BUILD_AREA}/setenvironment.sh
+
+ # Also need to patch some FDO thirdparty build scripts to accept our non-default compiler
+ #echo "[info]: Patching mkcatdefs build script"
+ #sed -i 's/gcc -DLINUX -g/'"$CC"' -DLINUX -g/g' ${FDO_BUILD_AREA}/Thirdparty/linux/mkcatdefs/src/build
+ #echo "[info]: Patching xalan/xerces build script"
+ #sed -i 's/.\/runConfigure -p linux -P/.\/runConfigure -p linux -c '"$CC"' -x '"$CXX"' -P/g' ${FDO_BUILD_AREA}/Thirdparty/apache/build2.sha
+ #echo "[info]: Patching boost build script"
+ #sed -i 's/# using gcc : 3.2 : g++-3.2 ;/using gcc : '"$GCCVER"' : '"$CXX"' ;/g' ${FDO_BUILD_AREA}/Thirdparty/boost/tools/build/v2/user-config.jam
+ #sed -i 's/.\/b2 toolset=gcc/.\/b2 toolset='"$CC"'/g' ${FDO_BUILD_AREA}/Thirdparty/boost/build.sh
else
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\/'"$FDO_CPU"'/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
+ # 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\/'"$FDO_CPU"'/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
fi
- echo "export FDOORACLE=/home/vagrant/fdo_rdbms_thirdparty/oracle/${FDO_CPU}/instantclient_11_2/sdk" >> ${FDO_BUILD_AREA}/setenvironment.sh
+ echo "export FDOORACLE=/home/vagrant/fdo_rdbms_thirdparty/oracle/${FDO_CPU}/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
+ echo "[error]: You must run this script with superuser privileges"
+ exit 1
fi
echo "***********************************************************"
@@ -184,6 +203,7 @@
echo " FDO CPU Target: ${FDO_BUILD_CPU}"
echo " CMake build: ${CMAKE}"
echo " Is Ubuntu?: ${UBUNTU}"
+echo " Debug build: ${FDO_DEBUG}"
echo " Export from local SVN checkout: ${LOCALSVN}"
echo " Re-use previous build area: ${PRESERVE_BUILD_ROOT}"
echo "***********************************************************"
@@ -192,55 +212,63 @@
if [ ${UBUNTU} -eq 1 ];
then
+ # GCC 4.8 is causing too much instability, so downgrade one version
+ #GCCVER=4.7
+ #export GCCVER
+ #CC=gcc-$GCCVER
+ #export CC
+ #CXX=g++-$GCCVER
+ #export CXX
+ #echo "[info]: Using GCC $GCCVER for Ubuntu"
shim_thirdparty_lib_paths
fi
if [ -d ${FDO_INST} ];
then
- echo "[info]: Deleting directory ${FDO_INST} before build"
- rm -rf ${FDO_INST}
+ echo "[info]: Deleting directory ${FDO_INST} before build"
+ rm -rf ${FDO_INST}
else
- echo "[info]: ${FDO_INST} doesn't exist. Continuing build"
+ 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
+ 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"
- modify_sdk_paths
- else
- echo "[info]: Removing old FDO build area at ${FDO_BUILD_AREA}"
- rm -rf ${FDO_BUILD_AREA}
- if [ ${LOCALSVN} -eq 1 ]
- then
- svn export -q ${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 -q ${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
+ 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"
+ modify_sdk_paths
+ else
+ echo "[info]: Removing old FDO build area at ${FDO_BUILD_AREA}"
+ rm -rf ${FDO_BUILD_AREA}
+ if [ ${LOCALSVN} -eq 1 ]
+ then
+ svn export -q ${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 -q ${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})"
@@ -248,35 +276,36 @@
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;
+ 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 -b ${FDO_PLATFORM}
+./build_thirdparty.sh -b ${FDO_PLATFORM} ${FDO_BUILD_FLAGS}
check_build
if [ ${CMAKE} -eq 1 ];
then
- FDO_BUILD_COMPONENT="FDO (cmake)"
- echo "[error]: CMake build of FDO not supported yet"
- exit 1;
+ 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} --b ${FDO_PLATFORM}
- 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} --b ${FDO_PLATFORM}
- update_provider_file_list $comp
- check_build
- done
+ #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} --b ${FDO_PLATFORM} ${FDO_BUILD_FLAGS}
+ 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} --b ${FDO_PLATFORM} ${FDO_BUILD_FLAGS}
+ update_provider_file_list $comp
+ check_build
+ done
fi
check_fdo_lib libFDO
check_fdo_lib libExpressionEngine
@@ -302,32 +331,37 @@
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
+if [ $FDO_DEBUG -eq 0 ];
+then
+ 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
+ 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_BUILD_CPU}-${FDO_VER_FULL}_${REVISION}.tar.gz ${FDO_INST}
-check_build
+ FDO_BUILD_COMPONENT="Make tarball"
+ # Create a binary tar ball for FDO
+ cd ${FDO_INST}
+ tar -zcf ${BUILDROOT}/fdosdk-centos6-${FDO_BUILD_CPU}-${FDO_VER_FULL}_${REVISION}.tar.gz *
+ check_build
-if [ ${UBUNTU} -eq 1 ];
-then
-cd ${FDO_BUILD_AREA}/install
-dos2unix *
-./dpkgall.sh ${FDO_BUILD_CPU} ${REVISION}
+ if [ ${UBUNTU} -eq 1 ];
+ then
+ cd ${FDO_BUILD_AREA}/install
+ dos2unix *
+ ./dpkgall.sh ${FDO_BUILD_CPU} ${REVISION}
+ fi
+else
+ echo "[info]: Not packaging FDO in debug mode"
fi
echo "[info]: FDO build complete!"
Deleted: branches/2.6/vagrant/scripts/build_oem_ubuntu.sh
===================================================================
--- branches/2.6/vagrant/scripts/build_oem_ubuntu.sh 2014-05-12 12:15:21 UTC (rev 8124)
+++ branches/2.6/vagrant/scripts/build_oem_ubuntu.sh 2014-05-12 12:17:02 UTC (rev 8125)
@@ -1,653 +0,0 @@
-#
-#! /bin/bash
-#
-
-#
-# MapGuide Open Source build script (tweaked for Ubuntu)
-#
-
-#**********************************************************
-# Initialization
-#**********************************************************
-
-echo "MapGuide Open Source build script for OEM components"
-INSTALLDIR=/usr/local/mapguideopensource
-MY_MAKE_OPTS="-j 2"
-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.5.11
-# Notes: Configure PHP source tree for building PHP extension
-#**********************************************************
-
-init_php()
-{
- LIB_NAME="PHP 5.5.11"
-}
-
-build_php()
-{
- # Nothing to do here. build_apt.sh builds PHP
- pushd LinuxApt/php-5.5.11
- popd
-}
-
-clean_php()
-{
- pushd LinuxApt/php-5.5.11
- 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: branches/2.6/vagrant/scripts/mginstallcentos.sh
===================================================================
--- branches/2.6/vagrant/scripts/mginstallcentos.sh (rev 0)
+++ branches/2.6/vagrant/scripts/mginstallcentos.sh 2014-05-12 12:17:02 UTC (rev 8125)
@@ -0,0 +1,79 @@
+#!/bin/bash
+URL="http://download.osgeo.org/mapguide/releases/2.6/Beta1"
+#URL="http://192.168.0.4/downloads"
+FDOVER_MAJOR_MINOR=3.9
+FDOVER_POINT=0
+FDOVER_REV=0
+FDO_ARCH=i386
+FDOVER_MAJOR_MINOR_REV=${FDOVER_MAJOR_MINOR}.${FDOVER_POINT}
+FDOVER=${FDOVER_MAJOR_MINOR_REV}_${FDOVER_REV}
+MGVER_MAJOR_MINOR=2.6
+MGVER_POINT=0
+MGVER_REV=0
+MG_ARCH=i386
+MGVER_MAJOR_MINOR_REV=${MGVER_MAJOR_MINOR}.${MGVER_POINT}
+MGVER=${MGVER_MAJOR_MINOR_REV}.${MGVER_REV}
+FDO_TARBALL=fdosdk-centos6-${FDO_ARCH}-${FDOVER}.tar.gz
+MG_TARBALL=mapguideopensource-${MGVER}.${MG_ARCH}.tar.gz
+MG_URL=${URL}/${MG_TARBALL}
+FDO_URL=${URL}/${FDO_TARBALL}
+
+# Must have root
+if [[ $EUID -ne 0 ]]; then
+ echo "You must run this script with superuser privileges"
+ exit 1
+fi
+
+if [ ! -f ${FDO_TARBALL} ]; then
+wget -N ${FDO_URL}
+fi
+
+#tar -C / -zxvf ${FDO_TARBALL}
+mkdir -p /usr/local/fdo-${FDOVER_MAJOR_MINOR_REV}
+tar -C /usr/local/fdo-${FDOVER_MAJOR_MINOR_REV}/ -zxf ${FDO_TARBALL}
+
+if [ ! -f ${MG_TARBALL} ]; then
+wget -N ${MG_URL}
+fi
+
+tar -C / -zxf ${MG_TARBALL}
+
+# All of this is to make SELinux happy
+pushd /usr/local/fdo-${FDOVER_MAJOR_MINOR_REV}/lib
+chcon -t textrel_shlib_t *.so
+popd
+
+pushd /usr/local/mapguideopensource-${MGVER_MAJOR_MINOR_REV}/server/bin
+chcon -t textrel_shlib_t *.so
+chcon -t textrel_shlib_t mgserver
+popd
+
+pushd /usr/local/mapguideopensource-${MGVER_MAJOR_MINOR_REV}/server/lib
+chcon -t textrel_shlib_t *.so
+popd
+
+pushd /usr/local/mapguideopensource-${MGVER_MAJOR_MINOR_REV}/lib
+chcon -t textrel_shlib_t *.so
+popd
+
+pushd /usr/local/mapguideopensource-${MGVER_MAJOR_MINOR_REV}/webserverextensions/lib
+chcon -t textrel_shlib_t *.so
+popd
+
+pushd /usr/local/mapguideopensource-${MGVER_MAJOR_MINOR_REV}/webserverextensions/apache2/lib
+chcon -t textrel_shlib_t *.so
+popd
+
+pushd /usr/local/mapguideopensource-${MGVER_MAJOR_MINOR_REV}/webserverextensions/apache2/modules
+chcon -t textrel_shlib_t *.so
+popd
+
+pushd /usr/local/mapguideopensource-${MGVER_MAJOR_MINOR_REV}/webserverextensions/apache2/bin
+./apachectl start
+popd
+
+pushd /usr/local/mapguideopensource-${MGVER_MAJOR_MINOR_REV}/server/bin
+./mgserverd.sh
+popd
+
+echo DONE
Added: branches/2.6/vagrant/scripts/mginstallubuntu.sh
===================================================================
--- branches/2.6/vagrant/scripts/mginstallubuntu.sh (rev 0)
+++ branches/2.6/vagrant/scripts/mginstallubuntu.sh 2014-05-12 12:17:02 UTC (rev 8125)
@@ -0,0 +1,344 @@
+#!/bin/bash
+TEMPDIR=/tmp/build_mapguide
+URL="http://download.osgeo.org/mapguide/releases/2.6/Beta1/ubuntu14"
+#URL="http://192.168.0.5/downloads/ubuntu14"
+FDOVER_MAJOR_MINOR=3.9
+FDOVER_MAJOR_MINOR_REV=${FDOVER_MAJOR_MINOR}.0
+FDOBUILD=0
+FDOARCH=i386
+FDOVER=${FDOVER_MAJOR_MINOR_REV}-${FDOBUILD}_${FDOARCH}
+MGVER_MAJOR_MINOR=2.6
+MGVER_MAJOR_MINOR_REV=${MGVER_MAJOR_MINOR}.0
+MGBUILD=0
+MGARCH=i386
+MGVER=${MGVER_MAJOR_MINOR_REV}-${MGBUILD}_${MGARCH}
+
+# Must have root
+if [[ $EUID -ne 0 ]]; then
+ echo "You must run this script with superuser privileges"
+ exit 1
+fi
+
+# Install required packages
+apt-get -y install dialog libexpat1 libssl1.0.0 odbcinst unixodbc libcurl3 libxslt1.1
+
+DIALOG=${DIALOG=dialog}
+
+main()
+{
+ dialog_welcome
+ dialog_fdo_provider
+ start_install
+ install_mapguide_packages
+ post_install
+}
+
+dialog_welcome()
+{
+ $DIALOG --backtitle "MapGuide Open Source Ubuntu installer" \
+ --title "Welcome" --clear \
+ --yesno "Welcome to the MapGuide Open Source Ubuntu installer. Would you like to proceed?" 10 30
+
+ case $? in
+ 1)
+ echo "Cancelled"
+ exit 1;;
+ 255)
+ echo "Cancelled"
+ exit 255;;
+ esac
+}
+
+dialog_fdo_provider()
+{
+ tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
+ trap "rm -f $tempfile" 0 1 2 5 15
+
+ #arcsde "OSGeo FDO Provider for ArcSDE" off \
+ # Disable RDBMS provider selection by default
+ $DIALOG --backtitle "MapGuide Open Source Ubuntu installer" \
+ --title "FDO Providers" --clear \
+ --checklist "Check the FDO Providers you want to install" 20 61 5 \
+ sdf "OSGeo FDO Provider for SDF" ON \
+ shp "OSGeo FDO Provider for SHP" ON \
+ sqlite "OSGeo FDO Provider for SQLite" ON \
+ gdal "OSGeo FDO Provider for GDAL" ON \
+ ogr "OSGeo FDO Provider for OGR" ON \
+ kingoracle "OSGeo FDO Provider for Oracle" off \
+ rdbms "RDBMS FDO Providers (ODBC, MySQL, PostgreSQL)" off \
+ wfs "OSGeo FDO Provider for WFS" ON \
+ wms "OSGeo FDO Provider for WMS" ON 2> $tempfile
+
+ choice=`cat $tempfile | sed s/\"//g`
+ case $? in
+ 1)
+ echo "Cancelled"
+ exit 1;;
+ 255)
+ echo "Cancelled"
+ exit 255;;
+ esac
+}
+
+start_install()
+{
+ # set initial registration state
+ arcsde_registered=0
+ gdal_registered=0
+ kingoracle_registered=0
+ rdbms_registered=0
+ ogr_registered=0
+ sdf_registered=0
+ shp_registered=0
+ sqlite_registered=0
+ wfs_registered=0
+ wms_registered=0
+
+ # Include core and rdbms packages regardless of choice.
+ choice="core rdbms $choice"
+ # Download and install Ubuntu packages for FDO
+ for file in $choice
+ do
+ #echo "Downloading ${URL}/fdo-${file}_${FDOVER}.deb"
+ wget -N ${URL}/fdo-${file}_${FDOVER}.deb
+ #echo "Installing fdo-${file}_${FDOVER}.deb"
+ dpkg -E -G --install fdo-${file}_${FDOVER}.deb
+ done
+
+ # Nuke the old providers.xml, we're rebuiding it
+ providersxml=/usr/local/fdo-${FDOVER_MAJOR_MINOR_REV}/lib/providers.xml
+ echo -ne "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\" ?>" > ${providersxml}
+ echo -ne "\n<FeatureProviderRegistry>" >> ${providersxml}
+ for file in $choice
+ do
+ case $file in
+ arcsde)
+ if [ $arcsde_registered -eq 1 ];
+ then
+ continue
+ fi
+ echo "Registering ArcSDE Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.ArcSDE.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for ArcSDE</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>Read/write access to an ESRI ArcSDE-based data store, using Oracle and SQL Server</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libArcSDEProvider.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ arcsde_registered=1
+ ;;
+ gdal)
+ if [ $gdal_registered -eq 1 ];
+ then
+ continue
+ fi
+ echo "Registering GDAL Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.Gdal.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for GDAL</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>FDO Provider for GDAL</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libGRFPProvider.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ gdal_registered=1
+ ;;
+ kingoracle)
+ if [ $kingoracle_registered -eq 1 ];
+ then
+ continue
+ fi
+ echo "Registering King Oracle Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.KingOracle.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for Oracle</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>Read/write access to spatial and attribute data in Oracle Spatial</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libKingOracleProvider.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ kingoracle_registered=1
+ ;;
+ rdbms)
+ if [ $rdbms_registered -eq 1 ];
+ then
+ continue
+ fi
+ echo "Registering ODBC Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.ODBC.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for ODBC</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>FDO Provider for ODBC</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libFdoODBC.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ echo "Registering PostgreSQL Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.PostgreSQL.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for PostgreSQL</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>Read/write access to PostgreSQL/PostGIS-based data store. Supports spatial data types and spatial query operations</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libFdoPostgreSQL.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ echo "Registering MySQL Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.MySQL.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for MySQL</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>FDO Provider for MySQL</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libFdoMySQL.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ rdbms_registered=1
+ ;;
+ ogr)
+ if [ $ogr_registered -eq 1 ];
+ then
+ continue
+ fi
+ echo "Registering OGR Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.OGR.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for OGR</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>FDO Access to OGR Data Sources</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libOGRProvider.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ ogr_registered=1
+ ;;
+ sdf)
+ if [ $sdf_registered -eq 1 ];
+ then
+ continue
+ fi
+ echo "Registering SDF Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.SDF.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for SDF</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>Read/write access to Autodesk's spatial database format, a file-based geodatabase that supports multiple features/attributes, spatial indexing and file-locking</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libSDFProvider.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ sdf_registered=1
+ ;;
+ shp)
+ if [ $shp_registered -eq 1 ];
+ then
+ continue
+ fi
+ echo "Registering SHP Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.SHP.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for SHP</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>Read/write access to spatial and attribute data in an ESRI SHP file</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libSHPProvider.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ shp_registered=1
+ ;;
+ sqlite)
+ if [ $sqlite_registered -eq 1 ];
+ then
+ continue
+ fi
+ echo "Registering SQLite Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.SQLite.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for SQLite</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>Read/write access to feature data in a SQLite file</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libSQLiteProvider.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ sqlite_registered=1
+ ;;
+ wfs)
+ if [ $wfs_registered -eq 1 ];
+ then
+ continue
+ fi
+ echo "Registering WFS Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.WFS.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for WFS</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>Read access to OGC WFS-based data store</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libWFSProvider.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ wfs_registered=1
+ ;;
+ wms)
+ if [ $wms_registered -eq 1 ];
+ then
+ continue
+ fi
+ echo "Registering WMS Provider"
+ echo -ne "\n <FeatureProvider>" >> ${providersxml}
+ echo -ne "\n <Name>OSGeo.WMS.${FDOVER_MAJOR_MINOR}</Name>" >> ${providersxml}
+ echo -ne "\n <DisplayName>OSGeo FDO Provider for WMS</DisplayName>" >> ${providersxml}
+ echo -ne "\n <Description>Read access to OGC WMS-based data store</Description>" >> ${providersxml}
+ echo -ne "\n <IsManaged>False</IsManaged>" >> ${providersxml}
+ echo -ne "\n <Version>${FDOVER_MAJOR_MINOR_REV}.0</Version>" >> ${providersxml}
+ echo -ne "\n <FeatureDataObjectsVersion>${FDOVER_MAJOR_MINOR_REV}.0</FeatureDataObjectsVersion>" >> ${providersxml}
+ echo -ne "\n <LibraryPath>libWMSProvider.so</LibraryPath>" >> ${providersxml}
+ echo -ne "\n </FeatureProvider>" >> ${providersxml}
+ wms_registered=1
+ ;;
+ esac
+ done
+ echo -ne "\n</FeatureProviderRegistry>" >> ${providersxml}
+}
+
+install_mapguide_packages()
+{
+ # Download Ubuntu packages for MapGuide
+ for file in common server webextensions httpd
+ do
+ echo "Downloading: ${URL}/mapguideopensource-${file}_${MGVER}.deb"
+ wget -N ${URL}/mapguideopensource-${file}_${MGVER}.deb
+ echo "Installing: mapguideopensource-${file}_${MGVER}.deb"
+ dpkg -E -G --install mapguideopensource-${file}_${MGVER}.deb
+ done
+}
+
+post_install()
+{
+ echo "Creating lock file directory for MapGuide Server"
+ # Create lock file directory for Server
+ if [ ! -d /var/lock/mgserver ]; then
+ mkdir /var/lock/mgserver
+ fi
+ echo "Starting httpd"
+ pushd /usr/local/mapguideopensource-${MGVER_MAJOR_MINOR_REV}/webserverextensions/apache2/bin
+ ./apachectl start
+ popd
+ echo "Starting mgserver"
+ pushd /usr/local/mapguideopensource-${MGVER_MAJOR_MINOR_REV}/server/bin
+ ./mgserverd.sh
+ popd
+ echo "DONE!"
+}
+
+# Create temporary download directory
+mkdir -p ${TEMPDIR}
+pushd ${TEMPDIR}
+main
+popd
\ No newline at end of file
Added: branches/2.6/vagrant/scripts/mguninstallubuntu.sh
===================================================================
--- branches/2.6/vagrant/scripts/mguninstallubuntu.sh (rev 0)
+++ branches/2.6/vagrant/scripts/mguninstallubuntu.sh 2014-05-12 12:17:02 UTC (rev 8125)
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# Must have root
+if [[ $EUID -ne 0 ]]; then
+ echo "You must run this script with superuser privileges"
+ exit 1
+fi
+
+# Remove Ubuntu packages for MapGuide
+for file in server webextensions httpd common
+do
+ dpkg --remove mapguideopensource-${file}
+done
+
+# Remove Ubuntu packages for FDO
+for file in gdal kingoracle ogr rdbms sdf shp sqlite wfs wms arcsde core
+do
+ dpkg --remove fdo-${file}
+done
+
+
Modified: branches/2.6/vagrant/sources/patches/patchinfo.txt
===================================================================
--- branches/2.6/vagrant/sources/patches/patchinfo.txt 2014-05-12 12:15:21 UTC (rev 8124)
+++ branches/2.6/vagrant/sources/patches/patchinfo.txt 2014-05-12 12:17:02 UTC (rev 8125)
@@ -1,2 +1 @@
-http://trac.osgeo.org/csmap/ticket/172
-http://trac.osgeo.org/fdo/ticket/888
\ No newline at end of file
+No custom patches required
\ No newline at end of file
Modified: branches/2.6/vagrant/ubuntu/x64/Vagrantfile
===================================================================
--- branches/2.6/vagrant/ubuntu/x64/Vagrantfile 2014-05-12 12:15:21 UTC (rev 8124)
+++ branches/2.6/vagrant/ubuntu/x64/Vagrantfile 2014-05-12 12:17:02 UTC (rev 8125)
@@ -10,7 +10,7 @@
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
- config.vm.box = "vagrant-trusty64"
+ config.vm.box = "vagrant-precise64"
# The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
@@ -126,6 +126,14 @@
exit $error
fi
}
+check_test()
+{
+ error=$?
+ if [ $error -ne 0 ]; then
+ echo "[warning]: ${BUILD_COMPONENT} - Unit Tests failed ($error)"
+ echo "[warning]: ${BUILD_COMPONENT} - Unit Tests failed ($error)" >> ~/unit_test_status.log
+ fi
+}
cd ~
echo [provision]: Home directory is `pwd`
echo [provision]: Checking directories
@@ -133,12 +141,18 @@
HAVE_FDO_LIBS=0
HAVE_MAPGUIDE=0
MG_UNIT_TEST=0
+FDO_UNIT_TEST=0
SCRIPT_ROOT=~/scripts
-FDO_SRC_ROOT=~/fdo
-FDO_SRC=$FDO_SRC_ROOT/trunk
+FDO_SRC_ROOT=~/fdo/branches
+FDO_VER_MM=3.9
+MG_VER_MM=2.6
+FDO_SRC_DIR=3.9
+FDO_SRC=$FDO_SRC_ROOT/$FDO_SRC_DIR
FDO_LIB_SRC=~/fdo_rdbms_thirdparty
-MG_SRC_ROOT=~/mapguide/trunk
+MG_SRC_ROOT=~/mapguide/branches/2.6
MG_SRC=$MG_SRC_ROOT/MgDev
+FDO_TARBALL=fdo-checkout-3.9.tar.gz
+MG_TARBALL=mapguide-checkout-2.6.tar.gz
if [ -d $FDO_SRC ];
then
HAVE_FDO=1
@@ -159,8 +173,8 @@
sudo mkdir -p /usr/include/asm
sudo cp /mapguide_sources/atomic.h /usr/include/asm
fi
-echo [provision]: Checking libraries
-sudo apt-get install -y libpq-dev libmysqlclient-dev
+#echo [provision]: Checking libraries
+#sudo apt-get install -y libpq-dev libmysqlclient-dev
echo [provision]: Copying shell scripts
mkdir -p $SCRIPT_ROOT
cp -f /vagrant/*.sh $SCRIPT_ROOT
@@ -180,26 +194,26 @@
fi
if [ $HAVE_FDO -eq 0 ];
then
- echo [provision]: Extracting FDO trunk working copy
- mkdir -p ~/fdo
- tar -zxf /mapguide_sources/fdo-checkout.tar.gz -C ~/fdo
+ echo [provision]: Extracting FDO working copy
+ mkdir -p $FDO_SRC_ROOT
+ tar -zxf /mapguide_sources/$FDO_TARBALL -C $FDO_SRC_ROOT
fi
if [ $HAVE_MAPGUIDE -eq 0 ];
then
- echo [provision]: Extracting MapGuide trunk working copy
+ echo [provision]: Extracting MapGuide working copy
mkdir -p $MG_SRC_ROOT
- tar -zxf /mapguide_sources/mapguide-checkout.tar.gz -C $MG_SRC_ROOT
+ tar -zxf /mapguide_sources/$MG_TARBALL -C $MG_SRC_ROOT
fi
echo [provision]: svn update FDO
BUILD_COMPONENT="svn update FDO"
# Only for this VM, svn is 1.8 so we have to upgrade the WC first before it can be updated
-svn upgrade $FDO_SRC
+#svn upgrade $FDO_SRC
svn update $FDO_SRC
check_build
echo [provision]: svn update MapGuide
BUILD_COMPONENT="svn update MapGuide"
# Only for this VM, svn is 1.8 so we have to upgrade the WC first before it can be updated
-svn upgrade $MG_SRC
+#svn upgrade $MG_SRC
svn update $MG_SRC
check_build
if [ -d /mapguide_sources/patches/fdo ];
@@ -221,21 +235,57 @@
BUILD_COMPONENT="MapGuide"
sudo -E ./build.sh 2>&1 | tee ~/mapguide_build.log
check_build
+FDO_REV=`svn info $FDO_SRC | perl revnum.pl`
MG_REV=`svn info $MG_SRC | perl revnum.pl`
BUILD_COMPONENT="MapGuide deb packages"
sudo ./dpkgmapguide.sh amd64 $MG_REV
check_build
+> ~/unit_test_status.log
+if [ $FDO_UNIT_TEST -eq 1 ];
+then
+ echo [provision]: Unit test FDO
+ BUILD_COMPONENT="Unit Test FDO Core"
+ cd $SCRIPT_ROOT/fdo_build_area/Fdo/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_core_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SHP Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SHP/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_shp_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SDF Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SDF/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_sdf_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SQLite Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SQLite/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_sqlite_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test GDAL Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/GDAL/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_gdal_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test WMS Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/WMS/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_wms_unit_test.log
+ check_test
+fi
if [ $MG_UNIT_TEST -eq 1 ];
then
echo [provision]: Unit test MapGuide
+ BUILD_COMPONENT="Unit Test MapGuide Server"
cd $SCRIPT_ROOT/mgdev
sudo make check 2>&1 | tee ~/mapguide_unit_test.log
+ check_test
fi
cd $SCRIPT_ROOT
sudo mkdir -p /vagrant/build
sudo mv -f ~/*.log /vagrant/build
sudo cp fdo_build_area/install/bin/*.deb /vagrant/build
sudo cp bin/*.deb /vagrant/build
+sudo cp ~/unit_test_status.log /vagrant/build/unit_test_status.log
+sudo cp /vagrant/mginstallubuntu.sh /vagrant/build/mginstallubuntu.sh
+sudo sed -i 's/FDOBUILD=0/FDOBUILD='"$FDO_REV"'/g' /vagrant/build/mginstallubuntu.sh
+sudo sed -i 's/MGBUILD=0/MGBUILD='"$MG_REV"'/g' /vagrant/build/mginstallubuntu.sh
# Do not update the working copy tarballs. Ubuntu 14.04 uses svn 1.8 which will break
# the working copy if copied over to a CentOS VM (which is still on 1.6)
#
@@ -243,14 +293,14 @@
#
#if [ ! -d /mapguide_sources/updated ]; then
# sudo mkdir -p /mapguide_sources/updated
-# cd ~/mapguide/trunk
+# cd $MG_SRC_ROOT
# echo [provision]: Updating mapguide source tarball
-# tar -zcf mapguide-checkout.tar.gz MgDev
-# sudo mv mapguide-checkout.tar.gz /mapguide_sources/updated
-# cd ~/fdo
+# tar -zcf $MG_TARBALL MgDev
+# sudo mv $MG_TARBALL /mapguide_sources/updated
+# cd $FDO_SRC_ROOT
# echo [provision]: Updating fdo source tarball
-# tar -zcf fdo-checkout.tar.gz trunk
-# sudo mv fdo-checkout.tar.gz /mapguide_sources/updated
+# tar -zcf $FDO_TARBALL $FDO_SRC_DIR
+# sudo mv $FDO_TARBALL /mapguide_sources/updated
#else
# echo [provision]: Updated tarballs already exist. Doing nothing
#fi
Modified: branches/2.6/vagrant/ubuntu/x86/Vagrantfile
===================================================================
--- branches/2.6/vagrant/ubuntu/x86/Vagrantfile 2014-05-12 12:15:21 UTC (rev 8124)
+++ branches/2.6/vagrant/ubuntu/x86/Vagrantfile 2014-05-12 12:17:02 UTC (rev 8125)
@@ -10,7 +10,7 @@
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
- config.vm.box = "vagrant-trusty32"
+ config.vm.box = "vagrant-precise32"
# The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
@@ -126,6 +126,14 @@
exit $error
fi
}
+check_test()
+{
+ error=$?
+ if [ $error -ne 0 ]; then
+ echo "[warning]: ${BUILD_COMPONENT} - Unit Tests failed ($error)"
+ echo "[warning]: ${BUILD_COMPONENT} - Unit Tests failed ($error)" >> ~/unit_test_status.log
+ fi
+}
cd ~
echo [provision]: Home directory is `pwd`
echo [provision]: Checking directories
@@ -133,12 +141,18 @@
HAVE_FDO_LIBS=0
HAVE_MAPGUIDE=0
MG_UNIT_TEST=0
+FDO_UNIT_TEST=0
SCRIPT_ROOT=~/scripts
-FDO_SRC_ROOT=~/fdo
-FDO_SRC=$FDO_SRC_ROOT/trunk
+FDO_SRC_ROOT=~/fdo/branches
+FDO_VER_MM=3.9
+MG_VER_MM=2.6
+FDO_SRC_DIR=3.9
+FDO_SRC=$FDO_SRC_ROOT/$FDO_SRC_DIR
FDO_LIB_SRC=~/fdo_rdbms_thirdparty
-MG_SRC_ROOT=~/mapguide/trunk
+MG_SRC_ROOT=~/mapguide/branches/2.6
MG_SRC=$MG_SRC_ROOT/MgDev
+FDO_TARBALL=fdo-checkout-3.9.tar.gz
+MG_TARBALL=mapguide-checkout-2.6.tar.gz
if [ -d $FDO_SRC ];
then
HAVE_FDO=1
@@ -159,8 +173,8 @@
sudo mkdir -p /usr/include/asm
sudo cp /mapguide_sources/atomic.h /usr/include/asm
fi
-echo [provision]: Checking libraries
-sudo apt-get install -y libpq-dev libmysqlclient-dev
+#echo [provision]: Checking libraries
+#sudo apt-get install -y libpq-dev libmysqlclient-dev
echo [provision]: Copying shell scripts
mkdir -p $SCRIPT_ROOT
cp -f /vagrant/*.sh $SCRIPT_ROOT
@@ -180,26 +194,26 @@
fi
if [ $HAVE_FDO -eq 0 ];
then
- echo [provision]: Extracting FDO trunk working copy
- mkdir -p ~/fdo
- tar -zxf /mapguide_sources/fdo-checkout.tar.gz -C ~/fdo
+ echo [provision]: Extracting FDO working copy
+ mkdir -p $FDO_SRC_ROOT
+ tar -zxf /mapguide_sources/$FDO_TARBALL -C $FDO_SRC_ROOT
fi
if [ $HAVE_MAPGUIDE -eq 0 ];
then
- echo [provision]: Extracting MapGuide trunk working copy
+ echo [provision]: Extracting MapGuide working copy
mkdir -p $MG_SRC_ROOT
- tar -zxf /mapguide_sources/mapguide-checkout.tar.gz -C $MG_SRC_ROOT
+ tar -zxf /mapguide_sources/$MG_TARBALL -C $MG_SRC_ROOT
fi
echo [provision]: svn update FDO
BUILD_COMPONENT="svn update FDO"
-# Only for this VM, svn is 1.8 so we have to upgrade the WC first before it can be updated
-svn upgrade $FDO_SRC
+# Only for Ubuntu 14.04 VM, svn is 1.8 so we have to upgrade the WC first before it can be updated
+#svn upgrade $FDO_SRC
svn update $FDO_SRC
check_build
echo [provision]: svn update MapGuide
BUILD_COMPONENT="svn update MapGuide"
-# Only for this VM, svn is 1.8 so we have to upgrade the WC first before it can be updated
-svn upgrade $MG_SRC
+# Only for Ubuntu 14.04 VM, svn is 1.8 so we have to upgrade the WC first before it can be updated
+#svn upgrade $MG_SRC
svn update $MG_SRC
check_build
if [ -d /mapguide_sources/patches/fdo ];
@@ -221,21 +235,57 @@
BUILD_COMPONENT="MapGuide"
sudo -E ./build.sh 2>&1 | tee ~/mapguide_build.log
check_build
+FDO_REV=`svn info $FDO_SRC | perl revnum.pl`
MG_REV=`svn info $MG_SRC | perl revnum.pl`
BUILD_COMPONENT="MapGuide deb packages"
sudo ./dpkgmapguide.sh i386 $MG_REV
check_build
+> ~/unit_test_status.log
+if [ $FDO_UNIT_TEST -eq 1 ];
+then
+ echo [provision]: Unit test FDO
+ BUILD_COMPONENT="Unit Test FDO Core"
+ cd $SCRIPT_ROOT/fdo_build_area/Fdo/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_core_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SHP Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SHP/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_shp_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SDF Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SDF/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_sdf_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test SQLite Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/SQLite/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_sqlite_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test GDAL Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/GDAL/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_gdal_unit_test.log
+ check_test
+ BUILD_COMPONENT="Unit Test WMS Provider"
+ cd $SCRIPT_ROOT/fdo_build_area/Providers/WMS/Src/UnitTest
+ sudo ./UnitTest 2>&1 | tee ~/fdo_wms_unit_test.log
+ check_test
+fi
if [ $MG_UNIT_TEST -eq 1 ];
then
echo [provision]: Unit test MapGuide
+ BUILD_COMPONENT="Unit Test MapGuide Server"
cd $SCRIPT_ROOT/mgdev
sudo make check 2>&1 | tee ~/mapguide_unit_test.log
+ check_test
fi
cd $SCRIPT_ROOT
sudo mkdir -p /vagrant/build
sudo mv -f ~/*.log /vagrant/build
sudo cp fdo_build_area/install/bin/*.deb /vagrant/build
sudo cp bin/*.deb /vagrant/build
+sudo cp ~/unit_test_status.log /vagrant/build/unit_test_status.log
+sudo cp /vagrant/mginstallubuntu.sh /vagrant/build/mginstallubuntu.sh
+sudo sed -i 's/FDOBUILD=0/FDOBUILD='"$FDO_REV"'/g' /vagrant/build/mginstallubuntu.sh
+sudo sed -i 's/MGBUILD=0/MGBUILD='"$MG_REV"'/g' /vagrant/build/mginstallubuntu.sh
# Do not update the working copy tarballs. Ubuntu 14.04 uses svn 1.8 which will break
# the working copy if copied over to a CentOS VM (which is still on 1.6)
#
@@ -243,14 +293,14 @@
#
#if [ ! -d /mapguide_sources/updated ]; then
# sudo mkdir -p /mapguide_sources/updated
-# cd ~/mapguide/trunk
+# cd $MG_SRC_ROOT
# echo [provision]: Updating mapguide source tarball
-# tar -zcf mapguide-checkout.tar.gz MgDev
-# sudo mv mapguide-checkout.tar.gz /mapguide_sources/updated
-# cd ~/fdo
+# tar -zcf $MG_TARBALL MgDev
+# sudo mv $MG_TARBALL /mapguide_sources/updated
+# cd $FDO_SRC_ROOT
# echo [provision]: Updating fdo source tarball
-# tar -zcf fdo-checkout.tar.gz trunk
-# sudo mv fdo-checkout.tar.gz /mapguide_sources/updated
+# tar -zcf $FDO_TARBALL $FDO_SRC_DIR
+# sudo mv $FDO_TARBALL /mapguide_sources/updated
#else
# echo [provision]: Updated tarballs already exist. Doing nothing
#fi
More information about the mapguide-commits
mailing list