%define jettyname jetty %define jtuid 110 %define username jetty %define confdir %{_sysconfdir}/jetty5 %define logdir %{_localstatedir}/log/jetty5 %define homedir %{_datadir}/jetty5 %define jettycachedir %{_localstatedir}/cache/jetty5 %define tempdir %{jettycachedir}/temp %define rundir %{_localstatedir}/run/jetty5 %define jettylibdir %{_localstatedir}/lib/jetty5 %define libdir %{jettylibdir}/lib %define appdir %{jettylibdir}/webapps %define demodir %{jettylibdir}/demo %define majver %(echo %version | cut -d. -f1-2) %define bootstrap 0 Name: java-jetty5 Version: 5.1.14 Release: 6mamba Summary: The Jetty Webserver and Servlet Container Group: Applications/Networking Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://jetty.mortbay.org/jetty/ Source0: http://www.ibiblio.org/maven/jetty/jetty-%{majver}.x/jetty-%{version}.tgz # http://www.ibiblio.org/maven/jetty/jetty-6.1.0-src.zip Source1: java-jetty.script Source2: java-jetty.init Source3: java-jetty.logrotate Source4: java-jetty-OSGi-MANIFEST.MF Source5: java-jetty-5.1.14-jetty.pom Patch0: java-jetty-5.1.14-extra-j2ee-build_xml.patch Patch1: java-jetty-5.1.14-PostFileFilter.patch Patch2: java-jetty-5.1.14-libgcj-bad-serialization.patch Patch3: java-jetty-5.1.14-TestRFC2616-libgcj-bad-date-parser.patch Patch4: java-jetty-5.1.14-CERT438616-CERT237888-CERT21284.patch Patch5: java-jetty-5.1.14-unix.patch Patch6: java-jetty-5.1.14-notest.patch License: Apache Software License 2.0 BuildRequires: apache-ant BuildRequires: apache-ant-junit BuildRequires: apache-geronimo-1.2-specs BuildRequires: apache-log4j BuildRequires: apache-tomcat5-jasper5 BuildRequires: apache-tomcat5-jsp20-api BuildRequires: apache-tomcat5-servletapi5 BuildRequires: jakarta-commons-cli BuildRequires: jakarta-commons-collections BuildRequires: jakarta-commons-el BuildRequires: jakarta-commons-logging BuildRequires: java-carol #BuildRequires: java-classpathx-jaf #BuildRequires: java-classpathx-mail BuildRequires: java-howl-logger BuildRequires: java-hsqldb BuildRequires: java-jotm BuildRequires: java-junit3 BuildRequires: java-mx4j BuildRequires: java-sun-j2ee-connector BuildRequires: java-sun-jaf BuildRequires: java-sun-jts BuildRequires: java-sun-mail-1.4-api BuildRequires: java-xapool BuildRequires: java-xdoclet BuildRequires: jpackage-utils # jsse BuildRequires: sun-java BuildRequires: xerces-j2 BuildRequires: xjavadoc BuildRequires: xml-commons-apis Requires: apache-ant Requires: apache-tomcat5-jsp20-api Requires: apache-tomcat5-servletapi5 Requires: jakarta-commons-el Requires: jakarta-commons-logging Requires: java-mx4j Requires: jpackage-utils Requires: libjetty5 = %{?epoch:%epoch:}%{version}-%{release} Requires: xerces-j2 Requires: xml-commons-apis BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Jetty is a 100% Java HTTP Server and Servlet Container. This means that you do not need to configure and run a separate web server (like Apache) in order to use java, servlets and JSPs to generate dynamic content. Jetty is a fully featured web server for static and dynamic content. Unlike separate server/container solutions, this means that your web server and web application run in the same process, without interconnection overheads and complications. Furthermore, as a pure java component, Jetty can be simply included in your application for demonstration, distribution or deployment. Jetty is available on all Java supported platforms. %package -n libjetty5 Group: Development/Languages Summary: Libraries needed to run the Jetty web container. Obsoletes: libjetty = %{?epoch:%epoch:}%{version}-%{release} Provides: libjetty = %{?epoch:%epoch:}%{version}-%{release} %description -n libjetty5 The Jetty Webserver and Servlet Container. This package contains libraries needed to run the Jetty web container. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc The Jetty Webserver and Servlet Container. This package contains javadoc for %{name} %package manual Group: Documentation Summary: Manual for %{name} %description manual The Jetty Webserver and Servlet Container. This package contains manual for %{name}. %prep %setup -q -n jetty-%{version} for j in $(find . -name "*.jar"); do mv $j ${j}.no done rm -rf etc/LICENSE.javax.xml.html rm -rf etc/LICENSE.jsse.txt mv demo/webapps/servlets-examples.war \ demo/webapps/servlets-examples-dontdelete mv demo/webapps/jsp-examples.war \ demo/webapps/jsp-examples-dontdelete for f in $(find . -name "*.war"); do rm $f; done find . -name "*.class" -exec rm {} \; mv demo/webapps/servlets-examples-dontdelete \ demo/webapps/servlets-examples.war mv demo/webapps/jsp-examples-dontdelete \ demo/webapps/jsp-examples.war rm src/org/mortbay/util/jmx/MX4JHttpAdaptor.java %patch0 -p0 -b .sav %patch1 -p0 -b .sav %patch2 -p0 -b .sav %patch3 -p0 -b .sav %patch4 -p0 %patch5 -p0 %patch6 -p1 rm src/org/mortbay/http/SunJsseListener.java sed -i 's/\r//' demo/webapps/jetty/auth/logon.html sed -i 's/\r//' demo/webapps/jetty/auth/logon.jsp sed -i 's/\r//' demo/webapps/jetty/auth/logonError.html %if %bootstrap mv lib/org.mortbay.jmx.jar.no lib/org.mortbay.jmx.jar mv lib/org.mortbay.jetty.jar.no lib/org.mortbay.jetty.jar %else ln -sf $(build-classpath jetty5/jetty) org.mortbay.jetty.jar ln -sf $(build-classpath jetty5/jetty-jmx) org.mortbay.jmx.jar %endif %build pushd ext ln -s $(build-classpath jasper5-compiler) jasper-compiler.jar ln -s $(build-classpath jasper5-runtime) jasper-runtime.jar ln -s $(build-classpath ant-1.7.1) ant.jar ln -s $(build-classpath commons-el) commons-el.jar ln -s $(build-classpath commons-logging) commons-logging.jar ln -s $(build-classpath servletapi5) . ln -s $(build-classpath jsp-api20) . ln -s $(build-classpath mx4j/mx4j) mx4j.jar ln -s $(build-classpath mx4j/mx4j-jmx) . ln -s $(build-classpath mx4j/mx4j-remote) mx4j-remote.jar ln -s $(build-classpath mx4j/mx4j-tools) mx4j-tools.jar ln -s $(build-classpath xercesImpl) xercesImpl.jar ln -s $(build-classpath xml-commons-apis) xml-apis.jar popd pushd extra/ext ln -s $(build-classpath sun-jaf) activation.jar ln -s $(build-classpath sun-mail-api) mail.jar ln -s $(build-classpath commons-cli) commons-cli-1.0.jar ln -s $(build-classpath geronimo/jta-1.0.1B-api-1.1.1) jta-spec1_0_1.jar ln -s $(build-classpath hsqldb) hsqldb.jar ln -s $(build-classpath log4j) log4j.jar ln -s $(build-classpath sun-j2ee-connector) connector-1_5.jar ln -s $(build-classpath jts) jts1_0.jar ln -s $(build-classpath howl-logger) howl.jar ln -s $(build-classpath xapool) xapool.jar ln -s $(build-classpath carol/ow_carol) carol.jar ln -s $(build-classpath jotm/jotm_jrmp_stubs) jotm_jrmp_stubs.jar ln -s $(build-classpath jotm/jotm) jotm.jar popd # extra/ext/javax77.jar.no # java-tanuki-wrapper extra/win32/lib/wrapper.jar.no export CLASSPATH=$(build-classpath xjavadoc log4j junit-3.8.2 sun-mail-api sun-jaf) ant -Dxdoclet.home=%{_javadir}/xdoclet -Dbuild.sysclasspath=first all pushd extra pushd ftp ant popd pushd loadbalancer ant popd pushd plus ant popd popd mkdir -p META-INF cp %{SOURCE4} META-INF/MANIFEST.MF zip -u lib/org.mortbay.jetty.jar META-INF/MANIFEST.MF %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" install -dm 755 %{buildroot}%{_bindir} install -dm 755 %{buildroot}%{_initrddir} install -dm 755 %{buildroot}%{_sysconfdir}/logrotate.d install -dm 755 %{buildroot}%{_javadir}/jetty5 install -dm 755 %{buildroot}%{confdir} install -dm 755 %{buildroot}%{confdir}/extra install -dm 755 %{buildroot}%{demodir} install -dm 755 %{buildroot}%{homedir} install -dm 755 %{buildroot}%{homedir}/bin install -dm 755 %{buildroot}%{homedir}/ext install -dm 755 %{buildroot}%{homedir}/extra install -dm 755 %{buildroot}%{homedir}/extra/lib install -dm 755 %{buildroot}%{homedir}/extra/etc install -dm 755 %{buildroot}%{homedir}/extra/ext install -dm 755 %{buildroot}%{libdir} install -dm 755 %{buildroot}%{logdir} install -dm 755 %{buildroot}%{rundir} install -dm 755 %{buildroot}%{tempdir} install -dm 755 %{buildroot}%{appdir} # main pkg install -pm 755 extra/unix/bin/jetty.sh %{buildroot}%{_bindir}/djetty5 install -pm 755 %{SOURCE1} %{buildroot}%{_bindir}/jetty5 install -pm 755 %{SOURCE2} %{buildroot}%{_initrddir}/jetty5 install -pm 755 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/jetty5 install -pm 644 start.jar %{buildroot}%{homedir}/bin install -pm 644 stop.jar %{buildroot}%{homedir}/bin cp -pr etc/* %{buildroot}%{confdir} cp -pr extra/etc/* %{buildroot}%{homedir}/extra/etc echo '# Placeholder configuration file. No default is provided.' > %{buildroot}%{confdir}/jetty.conf install -pm 644 lib/org.mortbay.jetty.jar \ %{buildroot}%{_javadir}/jetty5/jetty-%{version}.jar install -pm 644 lib/org.mortbay.jmx.jar \ %{buildroot}%{_javadir}/jetty5/jetty-jmx-%{version}.jar install -pm 644 lib/javax.servlet.jar \ %{buildroot}%{_javadir}/jetty5/jetty-servlet-%{version}.jar install -pm 644 extra/lib/org.mortbay.ftp.jar \ %{buildroot}%{_javadir}/jetty5/jetty-ftp-%{version}.jar install -pm 644 extra/lib/org.mortbay.loadbalancer.jar \ %{buildroot}%{_javadir}/jetty5/jetty-loadbalancer-%{version}.jar install -pm 644 extra/lib/org.mortbay.jaas.jar \ %{buildroot}%{_javadir}/jetty5/jetty-jaas-%{version}.jar install -pm 644 extra/lib/org.mortbay.jetty.plus.jar \ %{buildroot}%{_javadir}/jetty5/jetty-plus-%{version}.jar ( cd %{buildroot}%{_javadir}/jetty5 for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"` done ) pushd %{buildroot}%{libdir} ln -sf %{_javadir}/jetty5/jetty-%{version}.jar org.mortbay.jetty.jar ln -sf %{_javadir}/jetty5/jetty-servlet-%{version}.jar jetty-servlet.jar ln -sf %{_javadir}/jetty5/jetty-jmx-%{version}.jar org.mortbay.jmx.jar popd pushd %{buildroot}%{homedir}/extra/lib ln -sf %{_javadir}/jetty5/jetty-ftp-%{version}.jar org.mortbay.ftp.jar ln -sf %{_javadir}/jetty5/jetty-loadbalancer-%{version}.jar org.mortbay.loadbalancer.jar ln -sf %{_javadir}/jetty5/jetty-jaas-%{version}.jar org.mortbay.jaas.jar ln -sf %{_javadir}/jetty5/jetty-plus-%{version}.jar org.mortbay.jetty.plus.jar popd pushd %{buildroot}%{homedir}/ext ln -sf $(build-classpath ant-1.7.1) ln -s $(build-classpath jasper5-compiler) ln -s $(build-classpath jasper5-runtime) ln -s $(build-classpath commons-el) ln -s $(build-classpath commons-logging) ln -s $(build-classpath mx4j/mx4j-jmx) ln -s $(build-classpath mx4j/mx4j-tools) ln -s $(build-classpath servletapi5) ln -s $(build-classpath jsp-api20) ln -s $(build-classpath xercesImpl) ln -s $(build-classpath xml-commons-apis) popd ( cat << EO_RC JAVA_HOME=/opt/java/jdk JAVA_OPTIONS= JETTY_HOME=%{homedir} JETTY_CONSOLE=%{logdir}/jetty-console.log JETTY_PORT=8080 JETTY_RUN=%{_localstatedir}/run/jetty5 JETTY_PID=\$JETTY_RUN/jetty.pid EO_RC ) > %{buildroot}%{homedir}/.jettyrc cp -pr demo/* %{buildroot}%{demodir} # javadoc cp -pr webapps/* %{buildroot}%{appdir} rm %{buildroot}/%{appdir}/template/WEB-INF/lib/.keepme install -dm 755 %{buildroot}%{_javadocdir}/jetty-%{version} pushd %{buildroot}%{_javadocdir}/jetty-%{version} unzip -q %{buildroot}%{appdir}/javadoc.war %{__sed} -i 's/\r//' META-INF/MANIFEST.MF popd mkdir temp_man install -dm 755 %{buildroot}%{_datadir}/jetty-%{version} mv %{buildroot}%{demodir}/webapps/jetty/* temp_man rm temp_man/WEB-INF/.cvsignore rm -rf %{buildroot}%{appdir}/jetty # Remaining files in demodir are not built into any subpackage. rm -rf %{buildroot}%{demodir}/* pushd %{buildroot}%{homedir} [ -d etc ] || ln -fs %{confdir} etc [ -d demo ] || ln -fs %{demodir} demo [ -d logs ] || ln -fs %{logdir} logs [ -d lib ] || ln -fs %{libdir} lib [ -d temp ] || ln -fs %{tempdir} temp [ -d webapps ] || ln -fs %{appdir} webapps popd mkdir -p %{buildroot}%{_datadir}/maven2/poms %add_to_maven_depmap jetty org.mortbay.jetty %{version} JPP/jetty5 jetty install -pm 644 %{SOURCE5} %{buildroot}%{_datadir}/maven2/poms/JPP.jetty5.jetty.pom %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %files %defattr(-,root,root) %{_initrddir}/jetty5 %{_sysconfdir}/logrotate.d/jetty5 %config(noreplace) %{confdir} %{_bindir}/djetty5 %{_bindir}/jetty5 %dir %{jettylibdir} %dir %{jettycachedir} %dir %{homedir} %{homedir}/.jettyrc %{homedir}/bin/start.jar %{homedir}/bin/stop.jar %{homedir}/demo %{homedir}/etc %{homedir}/ext %dir %{homedir}/extra %dir %{homedir}/extra/etc %{homedir}/extra/etc/*.policy %{homedir}/extra/etc/*.xml %{homedir}/extra/etc/*.txt %{homedir}/extra/etc/*.html %{homedir}/extra/etc/*.conf %{homedir}/extra/etc/*.config %{homedir}/extra/etc/*.data %{homedir}/extra/etc/*.properties %{homedir}/extra/etc/*.script %dir %{homedir}/extra/ext %dir %{homedir}/extra/lib %{homedir}/lib %{homedir}/logs %{homedir}/temp %{homedir}/webapps %dir %{demodir} %attr(755, jetty, jetty) %{logdir} %attr(755, jetty, jetty) %{tempdir} %attr(755, jetty, jetty) %{rundir} %dir %{appdir} %doc LICENSE.TXT README.TXT %files -n libjetty5 %defattr(-,root,root) %dir %{libdir} %{libdir}/org.mortbay.jetty.jar %{libdir}/org.mortbay.jmx.jar %{libdir}/jetty-servlet.jar %{homedir}/extra/lib/org.mortbay.ftp.jar %{homedir}/extra/lib/org.mortbay.jaas.jar %{homedir}/extra/lib/org.mortbay.jetty.plus.jar %{homedir}/extra/lib/org.mortbay.loadbalancer.jar %dir %{_javadir}/jetty5 %{_javadir}/jetty5/jetty-%{version}.jar %{_javadir}/jetty5/jetty-jmx-%{version}.jar %{_javadir}/jetty5/jetty-servlet-%{version}.jar %{_javadir}/jetty5/jetty.jar %{_javadir}/jetty5/jetty-jmx.jar %{_javadir}/jetty5/jetty-servlet.jar %{_javadir}/jetty5/jetty-ftp-%{version}.jar %{_javadir}/jetty5/jetty-ftp.jar %{_javadir}/jetty5/jetty-jaas-%{version}.jar %{_javadir}/jetty5/jetty-jaas.jar %{_javadir}/jetty5/jetty-loadbalancer-%{version}.jar %{_javadir}/jetty5/jetty-loadbalancer.jar %{_javadir}/jetty5/jetty-plus-%{version}.jar %{_javadir}/jetty5/jetty-plus.jar %{_datadir}/maven2/poms %{_mavendepmapfragdir} %files javadoc %defattr(-,root,root) %{appdir}/template %{appdir}/javadoc.war %{_javadocdir}/jetty-%{version} %files manual %defattr(-,root,root) %doc LICENSE.TXT VERSION.TXT temp_man %changelog * Thu Nov 25 2010 gil 5.1.14-6mamba - ... add a changelog entry * Mon May 24 2010 gil 5.1.14-5mamba - rebuilt with java-jotm java-xapool support * Thu Aug 20 2009 gil 5.1.14-4mamba - rebuilt with java-carol java-howl-logger support * Thu Aug 20 2009 gil 5.1.14-3mamba - renamed java-jetty5 * Tue Mar 17 2009 gil 5.1.14-2mamba - rebuilt with java-mx4j support * Tue Mar 17 2009 gil 5.1.14-1mamba - package created by autospec