[mapguide-commits] r4729 - trunk/Installer/scripts

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Wed Mar 31 18:26:00 EDT 2010


Author: trevorwekel
Date: 2010-03-31 18:25:59 -0400 (Wed, 31 Mar 2010)
New Revision: 4729

Added:
   trunk/Installer/scripts/dpkgbuild.sh
   trunk/Installer/scripts/dpkgmapguide.sh
   trunk/Installer/scripts/mginstallubuntu.sh
Log:
Ticket #1295 Improve build scripts for 2.2 release cycle
- Added preliminary Ubuntu packaging scripts and Ubuntu install script


Added: trunk/Installer/scripts/dpkgbuild.sh
===================================================================
--- trunk/Installer/scripts/dpkgbuild.sh	                        (rev 0)
+++ trunk/Installer/scripts/dpkgbuild.sh	2010-03-31 22:25:59 UTC (rev 4729)
@@ -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/Installer/scripts/dpkgmapguide.sh
===================================================================
--- trunk/Installer/scripts/dpkgmapguide.sh	                        (rev 0)
+++ trunk/Installer/scripts/dpkgmapguide.sh	2010-03-31 22:25:59 UTC (rev 4729)
@@ -0,0 +1,188 @@
+#!/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.2.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.2.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.2.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.2.0/ - copied tree for Apache bundle
+#     DEBIAN/
+#       control - control file generated from dpkg-gencontrol
+#       symbols - symbols file generated from dpkg-gensymbols
+# 
+BUILDROOT=`pwd`
+MGBUILD=2.2.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
+   echo Fix me later
+#  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
+
+  * Pre-release build.
+
+ -- MapGuide Internals Mail List <mapguide-internals at lists.osgeo.org>  ${CURRTIME}
+END-OF-CHANGELOG
+
+
+# Pull copyright file from Subversion vault 
+# TODO: Create a copyright file for MapGuide, use FDO for now
+wget -N http://svn.osgeo.org/fdo/branches/3.5/License_README.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
+
+
+
+
+
+
+


Property changes on: trunk/Installer/scripts/dpkgmapguide.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/Installer/scripts/mginstallubuntu.sh
===================================================================
--- trunk/Installer/scripts/mginstallubuntu.sh	                        (rev 0)
+++ trunk/Installer/scripts/mginstallubuntu.sh	2010-03-31 22:25:59 UTC (rev 4729)
@@ -0,0 +1,22 @@
+#!/bin/bash
+TEMPDIR=/tmp/build_mapguide
+URL="http://download.osgeo.org/mapguide/testing"
+FDOVER=3.5.0-5343_i386
+# Create temporary download directory
+mkdir -p ${TEMPDIR}
+pushd ${TEMPDIR}
+
+# Download Ubuntu packages
+for file in core gdal kingoracle ogr postgis rdbms sdf shp sqlite wfs wms
+do
+  wget -N ${URL}/fdo-${file}_${FDOVER}.deb
+done
+
+# Install Ubuntu packages
+for file in core gdal kingoracle ogr postgis rdbms sdf shp sqlite wfs wms
+do
+  dpkg -E -G --install fdo-${file}_${FDOVER}.deb
+done
+
+
+pushd 



More information about the mapguide-commits mailing list