[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