Summary: ::PACKAGE:: provides an application based on the Red Hat Web Application Framework. Name: ::PACKAGE:: Version: ::PKGVERSION:: Release: ::RELEASE:: Epoch: 0 Group: Applications/Internet/CCM License: CCMPL http://www.redhat.com/licenses/ccmpl.html Source0: %{name}-%{version}-%{release}.zip BuildRoot: %{_tmppath}/%{name}-%{version} BuildArchitectures: noarch Requires: %{name}-servlet BuildRequires: ant >= 1.5 BuildRequires: ccm-config BuildRequires: ccm-scripts BuildRequires: perl %define appversion ::VERSION:: %package doc Summary: ::PACKAGE:: API documentation Group: Applications/Internet/CCM %package servlet-resin Summary: ::PACKAGE:: configuration for Resin 2.1.x servlet Provides: %{name}-servlet Group: Applications/Internet/CCM Requires: %{name} = %{version} %package servlet-tomcat4 Summary: ::PACKAGE:: configuration for Tomcat 4.0.x servlet Provides: %{name}-servlet Group: Applications/Internet/CCM Requires: %{name} = %{version} Requires: tomcat4 >= 4.0.4 %package devel Summary: ::PACKAGE:: devel environment template Group: Applications/Internet/CCM Requires: ccm-config %description ::PACKAGE:: servlet. Provides the complete webapp root for running the application. Installation will require one of the ::PACKAGE::-servlet-XXX packages to provide the tools for configuration with a servlet engine. %description doc ::PACKAGE:: documentation. Provides the JavaDoc API documentation. %description devel ::PACKAGE:: development project. This package provides a complete development project suitable for styling or custom extensions %description servlet-tomcat4 ::PACKAGE:: config for tomcat 4.0.x servlet engine %description servlet-resin ::PACKAGE:: config for resin 2.0.5 servlet engine NB, the license agreement for resin prevents us distributing an RPM for resin. Until such time as Caucho change this, or provide RPMs directly, you will have to download our sample resin.spec file and an official resin binary distribution and build the RPM on your local system. %prep %setup -q -n %{name}-%{appversion} %pre OS=`uname -s` case $OS in Linux*) id servlet > /dev/null 2>&1 || useradd -r -d /var/www servlet ;; *) id servlet > /dev/null 2>&1 || (groupadd servlet && useradd -g servlet -d /var/www servlet) ;; esac %pre servlet-resin OS=`uname -s` case $OS in Linux*) id servlet > /dev/null 2>&1 || useradd -r -d /var/www servlet ;; *) id servlet > /dev/null 2>&1 || (groupadd servlet && useradd -g servlet -d /var/www servlet) ;; esac %pre servlet-tomcat4 OS=`uname -s` case $OS in Linux*) id servlet > /dev/null 2>&1 || useradd -r -d /var/www servlet ;; *) id servlet > /dev/null 2>&1 || (groupadd servlet && useradd -g servlet -d /var/www servlet) ;; esac %build . $CCM_SCRIPTS_HOME/bin/env-conf.sh ccm-configure.sh ant build ant build-tests ant javadoc ant -Dproject.name=%{name} make-config ant make-init ant make-init-local %install . $CCM_SCRIPTS_HOME/bin/env-conf.sh rm -rf $RPM_BUILD_ROOT %{__mkdir_p} $RPM_BUILD_ROOT %{__mkdir_p} $RPM_BUILD_ROOT/usr %{__mkdir_p} $RPM_BUILD_ROOT/usr/sbin %{__mkdir_p} $RPM_BUILD_ROOT/usr/share %{__mkdir_p} $RPM_BUILD_ROOT/usr/share/ccm-devel %{__mkdir_p} $RPM_BUILD_ROOT/usr/share/ccm-devel/applications %{__mkdir_p} $RPM_BUILD_ROOT/usr/share/ccm-devel/projects %{__mkdir_p} $RPM_BUILD_ROOT/usr/share/%{name} %{__mkdir_p} $RPM_BUILD_ROOT/usr/share/%{name}/bin %{__mkdir_p} $RPM_BUILD_ROOT/usr/share/%{name}/bin/resin %{__mkdir_p} $RPM_BUILD_ROOT/usr/share/%{name}/bin/tomcat4 %{__mkdir_p} $RPM_BUILD_ROOT/usr/share/%{name}/conf %{__mkdir_p} $RPM_BUILD_ROOT/usr/share/%{name}/conf/resin %{__mkdir_p} $RPM_BUILD_ROOT/usr/share/%{name}/conf/tomcat4 %{__mkdir_p} $RPM_BUILD_ROOT/etc %{__mkdir_p} $RPM_BUILD_ROOT/etc/rc.d %{__mkdir_p} $RPM_BUILD_ROOT/etc/rc.d/init.d %{__mkdir_p} $RPM_BUILD_ROOT/var %{__mkdir_p} $RPM_BUILD_ROOT/var/log %{__mkdir_p} $RPM_BUILD_ROOT/var/www %{__mkdir_p} $RPM_BUILD_ROOT/var/log/%{name} %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name} %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/bin %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/conf %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/lib %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/dist # Deploy only the local applications & config if [ $CCM_TYPE = 'application' ]; then ant -Ddeploy.init.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/applications/%{name}-%{appversion}/etc deploy-config-init-local ant -Ddeploy.web.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/applications/%{name}-%{appversion}/etc deploy-config-webxml-local ant -Ddeploy.web.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/applications/%{name}-%{appversion}/dist/WEB-INF deploy-config-web-orig ant -Ddeploy.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/applications/%{name}-%{appversion}/dist deploy-local ant -Ddeploy.src.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/applications/%{name}-%{appversion}/src deploy-src ant -Ddeploy.test.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/applications/%{name}-%{appversion}/test deploy-test fi # Deploy full project to dev area if [ $CCM_TYPE != 'application' ]; then ant -Ddeploy.init.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/projects/%{name}-%{appversion}/etc deploy-config-init ant -Ddeploy.web.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/projects/%{name}-%{appversion}/etc deploy-config-webxml ant -Ddeploy.web.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/projects/%{name}-%{appversion}/dist/WEB-INF deploy-config-web-orig ant -Ddeploy.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/projects/%{name}-%{appversion}/dist deploy-local ant -Ddeploy.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/projects/%{name}-%{appversion}/dist deploy-global ant -Ddeploy.src.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/projects/%{name}-%{appversion}/src deploy-src ant -Ddeploy.test.dir=$RPM_BUILD_ROOT/usr/share/ccm-devel/projects/%{name}-%{appversion}/test deploy-test fi # These files will be generated after RPM installation rm -f $RPM_BUILD_ROOT/var/www/%{name}/dist/WEB-INF/resources/enterprise.init rm -f $RPM_BUILD_ROOT/var/www/%{name}/dist/WEB-INF/web.xml # Deploy full project to web root ant -Ddeploy.dir=$RPM_BUILD_ROOT/var/www/%{name}/dist deploy # Deploy api docs to web root ant -Ddeploy.api.dir=$RPM_BUILD_ROOT/var/www/html/%{name}-%{appversion}/api deploy-api-nodeps # Now all the runtime support & configuration stuff cp $CCM_SCRIPTS_HOME/pkg/bin/configure.pl $RPM_BUILD_ROOT/usr/sbin/%{name}-configure.pl cat $CCM_SCRIPTS_HOME/pkg/bin/init.sh.in | $CCM_SCRIPTS_HOME/bin/interpolate.sh > $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} cp $CCM_SCRIPTS_HOME/pkg/bin/resin/* $RPM_BUILD_ROOT/usr/share/%{name}/bin/resin/ cp $CCM_SCRIPTS_HOME/pkg/bin/tomcat4/* $RPM_BUILD_ROOT/usr/share/%{name}/bin/tomcat4/ cp $CCM_SCRIPTS_HOME/pkg/conf/resin/* $RPM_BUILD_ROOT/usr/share/%{name}/conf/resin/ cp $CCM_SCRIPTS_HOME/pkg/conf/tomcat4/* $RPM_BUILD_ROOT/usr/share/%{name}/conf/tomcat4/ cat $CCM_SCRIPTS_HOME/pkg/conf/system.conf-resin.in | $CCM_SCRIPTS_HOME/bin/interpolate.sh > $RPM_BUILD_ROOT/etc/%{name}.cfg-resin cat config.vars >> $RPM_BUILD_ROOT/etc/%{name}.cfg-resin cat $CCM_SCRIPTS_HOME/pkg/conf/system.conf-tomcat4.in | $CCM_SCRIPTS_HOME/bin/interpolate.sh > $RPM_BUILD_ROOT/etc/%{name}.cfg-tomcat4 cat config.vars >> $RPM_BUILD_ROOT/etc/%{name}.cfg-tomcat4 # For publish to file system of jsp templates %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/dist/templates %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/dist/packages/content-section/templates %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/dist/packages/content-section/templates/xsl %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/dist/packages/content-section/templates/xml %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/dist/packages/content-section/templates/debug # XXX For resin cruft %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/dist/WEB-INF/tmp %{__mkdir_p} $RPM_BUILD_ROOT/var/www/%{name}/dist/WEB-INF/work # Change the default system.conf vars %{__perl} -i -p -e 's|/usr/local/resin|/opt/resin/2.1.4|' $RPM_BUILD_ROOT/etc/%{name}.cfg-resin %clean rm -rf $RPM_BUILD_ROOT rm -rf %{_topdir}/BUILD/%{name}-%{appversion}-%{release} %files %defattr(-,root,root) %attr(0755,root,root) /usr/sbin/%{name}-configure.pl %attr(0755,root,root) /etc/rc.d/init.d/%{name} /var/www/%{name}/dist/* %dir /var/www/%{name}/bin %dir /var/www/%{name}/conf %dir %attr(-,servlet,servlet) /var/www/%{name}/lib %dir %attr(-,servlet,servlet) /var/www/%{name}/dist/WEB-INF/tmp %dir %attr(-,servlet,servlet) /var/www/%{name}/dist/WEB-INF/work %dir %attr(-,servlet,servlet) /var/www/%{name}/dist/templates %dir %attr(-,servlet,servlet) /var/log/%{name} # Yes this will cause 'file listed twice warnings' but it does # the right thing, and sets specific perms for this directory. # NB. need rpm >= 4.0.4-7x to build it %attr(-,servlet,servlet) /var/www/%{name}/dist/packages/content-section/templates %files doc %defattr(-,root,root) /var/www/html/%{name}-%{appversion} %files servlet-resin %defattr(-,root,root) %config /etc/%{name}.cfg-resin /usr/share/%{name}/bin/resin %config(noreplace) /usr/share/%{name}/conf/resin %files servlet-tomcat4 %defattr(-,root,root) %config /etc/%{name}.cfg-tomcat4 /usr/share/%{name}/bin/tomcat4 %config(noreplace) /usr/share/%{name}/conf/tomcat4 %files devel %defattr(-,root,root) /usr/share/ccm-devel/applications /usr/share/ccm-devel/projects