From a2d4c511de915c277c329d08f4ae92e5c1931a33 Mon Sep 17 00:00:00 2001 From: Michael Weisman Date: Fri, 4 Jan 2013 10:15:20 -0800 Subject: [PATCH] RPM build scripts --- build_geonode-geoserver-ext-rpm.sh | 7 +++ rpm/SPECS/geoserver.spec | 92 ++++++++++++++++++++++++++++++ rpm/settings.xml | 3 + 3 files changed, 102 insertions(+) create mode 100755 build_geonode-geoserver-ext-rpm.sh create mode 100644 rpm/SPECS/geoserver.spec create mode 100644 rpm/settings.xml diff --git a/build_geonode-geoserver-ext-rpm.sh b/build_geonode-geoserver-ext-rpm.sh new file mode 100755 index 00000000000..81f03a36983 --- /dev/null +++ b/build_geonode-geoserver-ext-rpm.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -e + +export GEONODE_EXT_ROOT=$PWD + +rpmbuild --define "_topdir ${PWD}/rpm" -bb rpm/SPECS/geoserver.spec \ No newline at end of file diff --git a/rpm/SPECS/geoserver.spec b/rpm/SPECS/geoserver.spec new file mode 100644 index 00000000000..87490dfc508 --- /dev/null +++ b/rpm/SPECS/geoserver.spec @@ -0,0 +1,92 @@ +Name: geonode +Version: 2.0 +Release: alpha1 +Summary: Allows the creation, sharing, and collaborative use of geospatial data. +License: see /usr/share/doc/geonode/copyright +Distribution: Debian +Group: Converted/science +Requires(post): bash +Requires(preun): bash +Conflicts: mod_python + +#%define _rpmdir ../ +%define _rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm + +# repacking jar files takes a long time so we disable it +%define __jar_repack %{nil} + +%description +At its core, the GeoNode has a stack based on GeoServer, +Django, and GeoExt that provides a platform for sophisticated +web browser spatial visualization and analysis. Atop this stack, +the project has built a map composer and viewer, tools for +analysis, and reporting tools. + +%build +pushd $GEONODE_EXT_ROOT +mvn clean install -s rpm/settings.xml +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/usr/share/geonode/geoserver +unzip -d $RPM_BUILD_ROOT/usr/share/geonode/geoserver target/geoserver.war +mkdir -p $RPM_BUILD_ROOT/etc/tomcat6/Catalina/localhost/ +echo '' >> $RPM_BUILD_ROOT/etc/tomcat6/Catalina/localhost/geoserver.xml +mkdir -p $RPM_BUILD_ROOT/usr/share/opengeo-suite/geoserver/WEB-INF/lib/ +cp target/geonode-geoserver-ext-0.3.jar $RPM_BUILD_ROOT/usr/share/opengeo-suite/geoserver/WEB-INF/lib/ + +# GeoServer +%package geoserver +Summary: GeoServer for %{name}. +Group: Development/Libraries +Requires: tomcat6 + +%description geoserver +High performance, standards-compliant map and geospatial data server. +GeoServer is an open source software server written in Java that allows users to share +and edit geospatial data. Contains GeoNode extensions. + +%files geoserver +%defattr(-, root, root, 0755) +/usr/share/geonode/* +/etc/tomcat6/Catalina/localhost/geoserver.xml + +%post geoserver +# Back up tomcat6 config file before changing it +cp /usr/share/tomcat6/conf/tomcat6.conf /usr/share/tomcat6/conf/tomcat6.conf.orig + +#GeoServer needs more ram than the default for tomcat. +JVM_OPTS='JAVA_OPTS="-Djava.awt.headless=true -Xms256m -Xmx768m -Xrs -XX:PerfDataSamplingInterval=500 -XX:MaxPermSize=128m"' + +# Append a line with the new jvm configuration +if [ "$(grep ^GEOSERVER /usr/share/tomcat6/conf/tomcat6.conf)" == "" ]; then + echo '# GEOSERVER additions' >> /usr/share/tomcat6/conf/tomcat6.conf + echo 'JAVA_HOME=/usr/' >> /usr/share/tomcat6/conf/tomcat6.conf + echo $JVM_OPTS >> /usr/share/tomcat6/conf/tomcat6.conf +fi + +# Fix permissions on deployed jar +chown -R tomcat:tomcat /usr/share/geonode/geoserver/ + +# start tomcat after installing geoserver +service tomcat6 restart + +%postun geoserver +service tomcat6 restart + +# OpenGeo Suite GeoServer +%package opengeo-geoserver +Summary: %{name} extensions for the OpenGeo Suite. +Group: Development/Libraries +Requires: opengeo-geoserver + +%description opengeo-geoserver +GeoNode extensions for The OpenGeo Suite. + +%files opengeo-geoserver +%defattr(-, root, root, 0755) +/usr/share/opengeo-suite/geoserver/WEB-INF/lib/* + +%post opengeo-geoserver +service tomcat6 restart + +%postun opengeo-geoserver +service tomcat6 restart \ No newline at end of file diff --git a/rpm/settings.xml b/rpm/settings.xml new file mode 100644 index 00000000000..3a4ddb5cefb --- /dev/null +++ b/rpm/settings.xml @@ -0,0 +1,3 @@ + + rpm/.mvn/ +