87dc70a
# Copyright (c) 2000-2007, JPackage Project
87dc70a
# All rights reserved.
87dc70a
#
87dc70a
# Redistribution and use in source and binary forms, with or without
87dc70a
# modification, are permitted provided that the following conditions
87dc70a
# are met:
87dc70a
#
87dc70a
# 1. Redistributions of source code must retain the above copyright
87dc70a
#    notice, this list of conditions and the following disclaimer.
87dc70a
# 2. Redistributions in binary form must reproduce the above copyright
87dc70a
#    notice, this list of conditions and the following disclaimer in the
87dc70a
#    documentation and/or other materials provided with the
87dc70a
#    distribution.
87dc70a
# 3. Neither the name of the JPackage Project nor the names of its
87dc70a
#    contributors may be used to endorse or promote products derived
87dc70a
#    from this software without specific prior written permission.
87dc70a
#
87dc70a
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
87dc70a
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
87dc70a
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
87dc70a
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
87dc70a
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
87dc70a
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
87dc70a
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
87dc70a
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
87dc70a
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
87dc70a
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
87dc70a
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
87dc70a
#
87dc70a
87dc70a
%bcond_without fedora
87dc70a
87dc70a
%define gcj_support 1
87dc70a
%define bootstrap 0
87dc70a
87dc70a
# If you don't want the -extras subpackage to be built
87dc70a
# in order to avoid its (Build)Requires
87dc70a
# give rpmbuild option '--without extra'
87dc70a
87dc70a
%define with_extra 0
87dc70a
87dc70a
%define section     free
87dc70a
%define jettyname   jetty
87dc70a
%define jtuid       110
87dc70a
%define username    %{name}
87dc70a
%define confdir     %{_sysconfdir}/%{name}
87dc70a
%define logdir      %{_localstatedir}/log/%{name}
87dc70a
%define homedir     %{_datadir}/%{name}
c70faa1
%define jettycachedir %{_localstatedir}/cache/%{name}
c70faa1
%define tempdir     %{jettycachedir}/temp
87dc70a
%define rundir      %{_localstatedir}/run/%{name}
c70faa1
%define jettylibdir %{_localstatedir}/lib/%{name}
c70faa1
%define libdir      %{jettylibdir}/lib
c70faa1
%define appdir      %{jettylibdir}/webapps
c70faa1
%define demodir     %{jettylibdir}/demo
87dc70a
87dc70a
Name:           jetty
1948efb
Version:        5.1.15
f4e92bf
Release:        3%{?dist}
87dc70a
Summary:        The Jetty Webserver and Servlet Container
87dc70a
87dc70a
Group:          Applications/Internet
87dc70a
License:        ASL 2.0
87dc70a
URL:            http://jetty.mortbay.org/jetty/
645d07a
# Following source tarball was originally taken from the following location:
1948efb
# http://dist.codehaus.org/jetty/jetty-5.1.x/jetty-5.1.15.tgz
645d07a
# The tarball was modified by removing all jars and BCLA licenses.
1948efb
# tar -xzf jetty-5.1.15.tgz
1948efb
# pushd jetty-5.1.15
87dc70a
# find . -name *.jar -exec rm {} \;
87dc70a
# rm ./etc/LICENSE.javax.xml.html ./etc/LICENSE.jsse.txt
87dc70a
# popd
1948efb
# tar -czf jetty-5.1.15.fedora.tgz jetty-5.1.15/*
645d07a
Source0:        %{jettyname}-%{version}.fedora.tgz
229d70e
Source1:        jetty.script
229d70e
Source2:        jetty.init
229d70e
Source3:        jetty.logrotate
229d70e
Source4:        jetty-OSGi-MANIFEST.MF
229d70e
Patch0:         jetty-extra-j2ee-build_xml.patch
229d70e
Patch1:         jetty-PostFileFilter.patch
229d70e
Patch2:         jetty-libgcj-bad-serialization.patch
229d70e
Patch3:         jetty-TestRFC2616-libgcj-bad-date-parser.patch
f4e92bf
Patch4:		jetty-webdefault.patch
daa0af3
Patch5:		jetty-unix.patch
87dc70a
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
87dc70a
87dc70a
%if ! %{gcj_support}
87dc70a
BuildArch:      noarch
87dc70a
%endif
87dc70a
BuildRequires:  fedora-usermgmt-devel
87dc70a
%{?FE_USERADD_REQ}
87dc70a
BuildRequires:  jpackage-utils >= 0:1.6
87dc70a
#BuildRequires:  perl >= 0:5.005
87dc70a
# build only
87dc70a
BuildRequires:  ant-junit
87dc70a
BuildRequires:  jakarta-commons-collections
87dc70a
BuildRequires:  junit
87dc70a
BuildRequires:  xdoclet
87dc70a
BuildRequires:  xjavadoc
87dc70a
# main
87dc70a
BuildRequires:  ant >= 0:1.6
87dc70a
BuildRequires:  jakarta-commons-el
87dc70a
BuildRequires:  jakarta-commons-logging
87dc70a
BuildRequires:  jsse
87dc70a
BuildRequires:  mx4j >= 0:3.0
Andrew Overholt 1b1b405
BuildRequires:  tomcat5-jasper >= 5.5.26-1.5
Andrew Overholt 1b1b405
BuildRequires:  tomcat5-servlet-2.4-api >= 5.5.26-1.5
87dc70a
BuildRequires:  xerces-j2 >= 0:2.7
87dc70a
BuildRequires:  xml-commons-apis
87dc70a
87dc70a
# extra
87dc70a
%if %{with_extra}
87dc70a
BuildRequires:  carol
87dc70a
BuildRequires:  geronimo-j2ee-connector-1.5-api
87dc70a
BuildRequires:  geronimo-j2ee-management-1.0-api
87dc70a
BuildRequires:  howl-logger
87dc70a
BuildRequires:  hsqldb
87dc70a
BuildRequires:  jaf
87dc70a
BuildRequires:  jakarta-commons-cli
87dc70a
BuildRequires:  javamail
87dc70a
BuildRequires:  jboss4-cluster
87dc70a
BuildRequires:  jboss4-common
87dc70a
BuildRequires:  jboss4-j2ee
87dc70a
BuildRequires:  jboss4-jmx
87dc70a
BuildRequires:  jboss4-security
87dc70a
BuildRequires:  jboss4-server
87dc70a
BuildRequires:  jboss4-system
87dc70a
BuildRequires:  jgroups
87dc70a
BuildRequires:  jotm
87dc70a
BuildRequires:  geronimo-jta-1.0.1B-api
87dc70a
BuildRequires:  log4j
87dc70a
BuildRequires:  openorb-ots
87dc70a
BuildRequires:  xapool
87dc70a
%endif
87dc70a
#
2f4f59a
Requires:  chkconfig
87dc70a
Requires:  jpackage-utils >= 0:1.6
87dc70a
Requires:  ant >= 0:1.6
87dc70a
Requires:  jakarta-commons-el
87dc70a
Requires:  jakarta-commons-logging
Andrew Overholt 1b1b405
Requires:  tomcat5-jasper >= 5.5.26-1.5
87dc70a
Requires:  jsp
87dc70a
Requires:  mx4j >= 0:3.0
Andrew Overholt 1b1b405
Requires:  tomcat5-servlet-2.4-api >= 5.5.26-1.5
87dc70a
Requires:  xerces-j2 >= 0:2.7
87dc70a
Requires:  xml-commons-apis
87dc70a
Provides:  group(%username) = %jtuid
87dc70a
Provides:  user(%username) = %jtuid
87dc70a
87dc70a
%if %{gcj_support}
87dc70a
BuildRequires:          java-gcj-compat-devel
87dc70a
Requires(post):         java-gcj-compat
87dc70a
Requires(postun):       java-gcj-compat
87dc70a
%endif
87dc70a
87dc70a
%description
87dc70a
Jetty is a 100% Java HTTP Server and Servlet Container. 
87dc70a
This means that you do not need to configure and run a 
87dc70a
separate web server (like Apache) in order to use java, 
87dc70a
servlets and JSPs to generate dynamic content. Jetty is 
87dc70a
a fully featured web server for static and dynamic content. 
87dc70a
Unlike separate server/container solutions, this means 
87dc70a
that your web server and web application run in the same 
87dc70a
process, without interconnection overheads and complications. 
87dc70a
Furthermore, as a pure java component, Jetty can be simply 
87dc70a
included in your application for demonstration, distribution 
87dc70a
or deployment. Jetty is available on all Java supported 
87dc70a
platforms.  
87dc70a
87dc70a
%package        javadoc
87dc70a
Summary:        Javadoc for %{name}
87dc70a
Group:          Documentation
c70faa1
Requires:       %{name} = %{version}
87dc70a
87dc70a
%description    javadoc
87dc70a
%{summary}.
87dc70a
87dc70a
%if %{with_extra}
87dc70a
%package        extra
87dc70a
Summary:        Extras for %{name}
87dc70a
Group:          Applications/Internet
87dc70a
Requires:       %{name} = %{version}
87dc70a
Requires:  carol
87dc70a
Requires:  geronimo-j2ee-connector-1.5-api
87dc70a
Requires:  geronimo-j2ee-management-1.0-api
87dc70a
Requires:  howl-logger
87dc70a
Requires:  hsqldb
87dc70a
Requires:  jaf
87dc70a
Requires:  jakarta-commons-cli
87dc70a
Requires:  javamail
87dc70a
Requires:  jboss4-cluster
87dc70a
Requires:  jboss4-common
87dc70a
Requires:  jboss4-j2ee
87dc70a
Requires:  jboss4-jmx
87dc70a
Requires:  jboss4-system
87dc70a
Requires:  jboss4-security
87dc70a
Requires:  jboss4-server
87dc70a
Requires:  jgroups
87dc70a
# jonas_timer
87dc70a
# objectweb-datasource
87dc70a
Requires:  jotm
87dc70a
Requires:  geronimo-jta-1.0.1B-api
87dc70a
Requires:  log4j
87dc70a
Requires:  openorb-ots
87dc70a
Requires:  xapool
87dc70a
Requires:  xdoclet
87dc70a
Requires:  xjavadoc
87dc70a
87dc70a
%description    extra
87dc70a
The purpose of this project is to enrich Jetty by 
87dc70a
selectively incorporating useful J2EE and non-J2EE 
87dc70a
features. The result is JettyPlus, an environment 
87dc70a
offering additional facilities to core web and servlet 
87dc70a
services, but which does not entail a full-blown 
87dc70a
application server (such as JettyJBoss and JettyJOnAS). 
87dc70a
The feature set currently contains: 
87dc70a
Java Transaction API (JTA) and Resource references, eg DataSources 
87dc70a
Java Naming and Directory Interface API (JNDI) 
87dc70a
Log4J 
87dc70a
Java Authentication and Authorization Service (JAAS) 
87dc70a
Java Mail  
87dc70a
These features have been implemented as a pluggable, 
87dc70a
Service-based architecture. This means that it is 
87dc70a
possible to develop and use alternative services to 
87dc70a
those provided. 
87dc70a
%endif
87dc70a
87dc70a
%package        manual
87dc70a
Summary:        Documents for %{name}
87dc70a
Group:          Documentation
87dc70a
Requires:       %{name} = %{version}
87dc70a
87dc70a
%description    manual
87dc70a
%{summary}.
87dc70a
87dc70a
87dc70a
%prep
87dc70a
%setup -q -n %{jettyname}-%{version}
87dc70a
mv demo/webapps/servlets-examples.war \
87dc70a
  demo/webapps/servlets-examples-dontdelete
87dc70a
mv demo/webapps/jsp-examples.war \
87dc70a
  demo/webapps/jsp-examples-dontdelete
87dc70a
for f in $(find . -name "*.?ar"); do rm $f; done
87dc70a
find . -name "*.class" -exec rm {} \;
87dc70a
# .war files needed for tests
87dc70a
mv demo/webapps/servlets-examples-dontdelete \
87dc70a
  demo/webapps/servlets-examples.war
87dc70a
mv demo/webapps/jsp-examples-dontdelete \
87dc70a
  demo/webapps/jsp-examples.war
87dc70a
87dc70a
%if %{bootstrap}
87dc70a
rm src/org/mortbay/util/jmx/MX4JHttpAdaptor.java
87dc70a
%endif
87dc70a
87dc70a
%patch0 -b .sav
87dc70a
%patch1 -b .sav
87dc70a
%patch2 -b .sav
87dc70a
%patch3 -b .sav
f4e92bf
%patch4
daa0af3
%patch5
645d07a
87dc70a
# Delete this Sun specific file.
87dc70a
rm src/org/mortbay/http/SunJsseListener.java
87dc70a
87dc70a
# Convert line endings...
87dc70a
%{__sed} -i 's/\r//' demo/webapps/jetty/auth/logon.html
87dc70a
%{__sed} -i 's/\r//' demo/webapps/jetty/auth/logon.jsp
87dc70a
%{__sed} -i 's/\r//' demo/webapps/jetty/auth/logonError.html
87dc70a
87dc70a
%build
87dc70a
87dc70a
pushd ext
87dc70a
  ln -s $(build-classpath ant) .
87dc70a
  ln -s $(build-classpath commons-el) .
87dc70a
  ln -s $(build-classpath commons-logging) .
87dc70a
  ln -s $(build-classpath jasper5-compiler) jasper-compiler.jar
87dc70a
  ln -s $(build-classpath jasper5-runtime)  jasper-runtime.jar
87dc70a
  ln -s $(build-classpath mx4j/mx4j) .
87dc70a
  ln -s $(build-classpath mx4j/mx4j-jmx) .
87dc70a
  ln -s $(build-classpath mx4j/mx4j-remote) .
87dc70a
  ln -s $(build-classpath mx4j/mx4j-tools) .
87dc70a
  ln -s $(build-classpath xerces-j2) xercesImpl.jar
87dc70a
  ln -s $(build-classpath xml-commons-apis) xml-apis.jar
87dc70a
popd
87dc70a
%if %{with_extra}
87dc70a
pushd extra/ext
87dc70a
  ln -s $(build-classpath jaf) activation.jar
87dc70a
  ln -s $(build-classpath commons-cli) .
87dc70a
  ln -s $(build-classpath geronimo-j2ee-connector-1.5-api) connector-1_5.jar
87dc70a
  ln -s $(build-classpath hsqldb) .
87dc70a
  ln -s $(build-classpath geronimo-j2ee-management-1.0-api) javax77.jar
87dc70a
  ln -s $(build-classpath geronimo-jta-1.0.1B-api) jta-spec1_0_1.jar
87dc70a
  ln -s $(build-classpath log4j) .
87dc70a
  ln -s $(build-classpath javamail/mailapi) mail.jar
87dc70a
  ln -s $(build-classpath carol/ow_carol) .
87dc70a
  ln -s $(build-classpath howl-logger) .
87dc70a
#  #jonas_timer.jar
87dc70a
  ln -s $(build-classpath jotm/jotm) .
87dc70a
  ln -s $(build-classpath jotm/iiop-stubs) jotm_iiop_stubs.jar
87dc70a
  ln -s $(build-classpath jotm/jrmp-stubs) jotm_jrmp_stubs.jar
87dc70a
  ln -s $(build-classpath openorb-ots) jts1_0.jar
87dc70a
  #objectweb-datasource.jar
87dc70a
  ln -s $(build-classpath xapool) .
87dc70a
popd
87dc70a
%endif
87dc70a
87dc70a
export CLASSPATH=$(build-classpath \
87dc70a
xjavadoc \
87dc70a
)
87dc70a
87dc70a
%if %{with_extra}
87dc70a
CLASSPATH=$CLASSPATH:$(build-classpath \
87dc70a
jboss4/jboss-j2ee \
87dc70a
jboss4/jboss-common \
87dc70a
jboss4/jboss-system \
87dc70a
jboss4/jboss-jmx \
87dc70a
jboss4/jboss \
87dc70a
jboss4/jbosssx \
87dc70a
jboss4/jbossha \
87dc70a
jgroups \
87dc70a
log4j \
87dc70a
)
87dc70a
%endif
87dc70a
87dc70a
%if %{with_extra}
87dc70a
ant -Dxdoclet.home=%{_javadir}/xdoclet -Dbuild.sysclasspath=first all extra
87dc70a
%else
87dc70a
ant -Dxdoclet.home=%{_javadir}/xdoclet -Dbuild.sysclasspath=first all
87dc70a
%endif
87dc70a
87dc70a
# inject OSGi manifests
87dc70a
mkdir -p META-INF
87dc70a
cp %{SOURCE4} META-INF/MANIFEST.MF
87dc70a
zip -u lib/org.mortbay.jetty.jar META-INF/MANIFEST.MF
87dc70a
87dc70a
87dc70a
%install
87dc70a
rm -rf $RPM_BUILD_ROOT
87dc70a
# dirs
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{_bindir}
a42a2f7
install -dm 755 $RPM_BUILD_ROOT%{_initrddir}
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{confdir}
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{confdir}/extra
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{demodir}
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{homedir}
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{homedir}/bin
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{homedir}/ext
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{homedir}/extra
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{homedir}/extra/ext
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{libdir}
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{libdir}/extra
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{logdir}
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{rundir}
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{tempdir}
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{appdir}
87dc70a
# main pkg
87dc70a
install -pm 755 extra/unix/bin/jetty.sh $RPM_BUILD_ROOT%{_bindir}/d%{name}
87dc70a
install -pm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}
a42a2f7
install -pm 755 %{SOURCE2} $RPM_BUILD_ROOT%{_initrddir}/%{name}
87dc70a
install -pm 755 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
87dc70a
install -pm 644 start.jar $RPM_BUILD_ROOT%{homedir}/bin
87dc70a
install -pm 644 stop.jar $RPM_BUILD_ROOT%{homedir}/bin
87dc70a
cp -pr etc/* $RPM_BUILD_ROOT%{confdir}
87dc70a
echo '# Placeholder configuration file.  No default is provided.' > $RPM_BUILD_ROOT%{confdir}/jetty.conf
87dc70a
install -pm 644 lib/org.mortbay.jetty.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-%{version}.jar
87dc70a
install -pm 644 lib/org.mortbay.jmx.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jmx-%{version}.jar
87dc70a
install -pm 644 lib/javax.servlet.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-servlet-%{version}.jar
87dc70a
(cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
87dc70a
pushd $RPM_BUILD_ROOT%{libdir}
87dc70a
  ln -sf %{_javadir}/%{name}/%{name}.jar org.mortbay.jetty.jar
87dc70a
  ln -sf %{_javadir}/%{name}/%{name}-jmx.jar org.mortbay.jmx.jar
87dc70a
popd
87dc70a
pushd $RPM_BUILD_ROOT%{homedir}/ext
87dc70a
ln -s $(build-classpath ant)
87dc70a
ln -s $(build-classpath jasper5-compiler)
87dc70a
ln -s $(build-classpath jasper5-runtime)
87dc70a
ln -s $(build-classpath commons-el)
87dc70a
ln -s $(build-classpath commons-logging)
87dc70a
ln -s $(build-classpath mx4j/mx4j-jmx)
87dc70a
ln -s $(build-classpath mx4j/mx4j-tools)
87dc70a
ln -s $(build-classpath servletapi5)
87dc70a
ln -s $(build-classpath jspapi)
87dc70a
ln -s $(build-classpath xerces-j2)
87dc70a
ln -s $(build-classpath xml-commons-apis)
87dc70a
popd
87dc70a
( cat << EO_RC
87dc70a
JAVA_HOME=/usr/lib/jvm/java
87dc70a
JAVA_OPTIONS=
87dc70a
JETTY_HOME=%{homedir}
87dc70a
JETTY_CONSOLE=%{logdir}/jetty-console.log
87dc70a
JETTY_PORT=8080
87dc70a
JETTY_RUN=%{_localstatedir}/run/%{name}
87dc70a
JETTY_PID=\$JETTY_RUN/jetty.pid
87dc70a
EO_RC
55fe8b1
) > $RPM_BUILD_ROOT%{homedir}/.jettyrc
87dc70a
87dc70a
# extra
87dc70a
%if %{with_extra}
87dc70a
cp -pr extra/etc/* $RPM_BUILD_ROOT%{confdir}/extra
87dc70a
rm $RPM_BUILD_ROOT%{confdir}/extra/LICENSE.apache.txt
87dc70a
rm $RPM_BUILD_ROOT%{confdir}/extra/LICENSE.hsqldb.html
87dc70a
rm $RPM_BUILD_ROOT%{confdir}/extra/LICENSE.p6spy.html
87dc70a
87dc70a
install -pm 644 extra/lib/org.jboss.jetty.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jboss-%{version}.jar
87dc70a
install -pm 644 extra/lib/org.mortbay.ftp.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-ftp-%{version}.jar
87dc70a
install -pm 644 extra/lib/org.mortbay.j2ee.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-j2ee-%{version}.jar
87dc70a
install -pm 644 extra/lib/org.mortbay.jaas.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jaas-%{version}.jar
87dc70a
install -pm 644 extra/lib/org.mortbay.jsr77.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jsr77-%{version}.jar
87dc70a
# omit for 1.6
87dc70a
# install -pm 644 extra/lib/org.mortbay.jetty-jdk1.2.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jetty-jdk1.2-%{version}.jar
87dc70a
install -pm 644 extra/lib/org.mortbay.jetty.plus.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-plus-%{version}.jar
87dc70a
# omit for 1.6
87dc70a
# install -pm 644 extra/lib/org.mortbay.jmx-jdk1.2.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jmx-jdk1.2-%{version}.jar
87dc70a
install -pm 644 extra/lib/org.mortbay.loadbalancer.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-loadbalancer-%{version}.jar
87dc70a
(cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
87dc70a
pushd $RPM_BUILD_ROOT%{libdir}/extra
87dc70a
  ln -sf %{_javadir}/%{name}/%{name}-jboss.jar org.jboss.jetty.jar
87dc70a
  ln -sf %{_javadir}/%{name}/%{name}-ftp.jar org.mortbay.ftp.jar
87dc70a
  ln -sf %{_javadir}/%{name}/%{name}-j2ee.jar org.mortbay.j2ee.jar
87dc70a
  ln -sf %{_javadir}/%{name}/%{name}-jaas.jar org.mortbay.jaas.jar
87dc70a
  ln -sf %{_javadir}/%{name}/%{name}-jsr77.jar org.mortbay.jsr77.jar
87dc70a
  ln -sf %{_javadir}/%{name}/%{name}-plus.jar org.mortbay.jetty.plus.jar
87dc70a
  ln -sf %{_javadir}/%{name}/%{name}-loadbalancer.jar org.mortbay.loadbalancer.jar
87dc70a
popd
87dc70a
pushd $RPM_BUILD_ROOT%{homedir}/extra/ext
87dc70a
  #jonas_timer.jar
87dc70a
  #objectweb-datasource.jar
87dc70a
ln -s $(build-classpath jaf)
87dc70a
ln -s $(build-classpath carol/carol)
87dc70a
ln -s $(build-classpath commons-cli)
87dc70a
ln -s $(build-classpath hsqldb)
87dc70a
ln -s $(build-classpath jotm/jotm)
87dc70a
ln -s $(build-classpath jotm/iiop-stubs)
87dc70a
ln -s $(build-classpath jotm/jrmp-stubs)
87dc70a
ln -s $(build-classpath jta)
87dc70a
ln -s $(build-classpath openorb-ots)
87dc70a
ln -s $(build-classpath log4j)
87dc70a
ln -s $(build-classpath javamail/mailapi)
87dc70a
ln -s $(build-classpath xapool)
87dc70a
popd
87dc70a
%endif
87dc70a
87dc70a
cp -pr demo/* $RPM_BUILD_ROOT%{demodir}
87dc70a
87dc70a
# javadoc
87dc70a
cp -pr webapps/* $RPM_BUILD_ROOT%{appdir}
87dc70a
rm $RPM_BUILD_ROOT/%{appdir}/template/WEB-INF/lib/.keepme
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
87dc70a
pushd $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
87dc70a
unzip -q $RPM_BUILD_ROOT%{appdir}/javadoc.war
87dc70a
%{__sed} -i 's/\r//' META-INF/MANIFEST.MF
87dc70a
popd
87dc70a
87dc70a
# manual
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
87dc70a
cp -p {LICENSE.TXT,VERSION.TXT} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
87dc70a
mv $RPM_BUILD_ROOT%{demodir}/webapps/jetty/* \
87dc70a
                $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
87dc70a
rm $RPM_BUILD_ROOT/%{_docdir}/%{name}-%{version}/WEB-INF/.cvsignore
87dc70a
rm -rf $RPM_BUILD_ROOT%{appdir}/jetty
87dc70a
# Remaining files in demodir are not built into any subpackage.
87dc70a
rm -rf $RPM_BUILD_ROOT%{demodir}/*
87dc70a
87dc70a
87dc70a
pushd $RPM_BUILD_ROOT%{homedir}
87dc70a
   [ -d etc ]    || ln -fs %{confdir}   etc
87dc70a
   [ -d demo ]    || ln -fs %{demodir}   demo
87dc70a
   [ -d logs ]    || ln -fs %{logdir}    logs
87dc70a
   [ -d lib ]     || ln -fs %{libdir}    lib
87dc70a
   [ -d temp ]    || ln -fs %{tempdir}   temp
87dc70a
   [ -d webapps ] || ln -fs %{appdir}    webapps
87dc70a
%if %{with_extra}
87dc70a
   pushd extra
87dc70a
     [ -d etc ]    || ln -fs %{confdir}/extra  etc
87dc70a
     [ -d lib ]    || ln -fs %{libdir}/extra    lib
87dc70a
   popd
87dc70a
%endif
87dc70a
popd
87dc70a
87dc70a
# no need to fix paths
87dc70a
#perl -pi -e 's#etc/#conf/#g;' $RPM_BUILD_ROOT%{confdir}/*.xml
87dc70a
87dc70a
%if %{gcj_support}
87dc70a
%{_bindir}/aot-compile-rpm \
87dc70a
      --exclude /var/lib/jetty/webapps/javadoc.war \
87dc70a
      --exclude /usr/share/doc/jetty-%{version}/WEB-INF/classes \
87dc70a
      --exclude /var/lib/jetty/webapps/template/WEB-INF/classes
87dc70a
%endif
87dc70a
87dc70a
%clean
87dc70a
rm -rf $RPM_BUILD_ROOT
87dc70a
87dc70a
%pre
87dc70a
# Add the "jetty" user and group
87dc70a
%__fe_groupadd %jtuid -r %username &>/dev/null || :
4cfc733
# Use /bin/sh so init script will start properly.
4cfc733
%__fe_useradd  %jtuid -r -s /bin/sh -d %homedir -M          \
87dc70a
                    -g %username %username &>/dev/null || :
87dc70a
87dc70a
%post
87dc70a
[ -x /sbin/chkconfig ] && /sbin/chkconfig --add %{name}
87dc70a
%if %{gcj_support}
87dc70a
if [ -x %{_bindir}/rebuild-gcj-db ]
87dc70a
then
87dc70a
  %{_bindir}/rebuild-gcj-db
87dc70a
fi
87dc70a
%endif
87dc70a
87dc70a
%postun
87dc70a
%__fe_userdel  %username &>/dev/null || :
87dc70a
%__fe_groupdel %username &>/dev/null || :
87dc70a
%if %{gcj_support}
87dc70a
if [ -x %{_bindir}/rebuild-gcj-db ]
87dc70a
then
87dc70a
  %{_bindir}/rebuild-gcj-db
87dc70a
fi
87dc70a
%endif
87dc70a
87dc70a
87dc70a
%preun
87dc70a
if [ $1 = 0 ]; then
a42a2f7
    [ -f /var/lock/subsys/%{name} ] && %{_initrddir}/%{name} stop
a42a2f7
    [ -f %{_initrddir}/%{name} -a -x /sbin/chkconfig ] && /sbin/chkconfig --del %{name}
87dc70a
87dc70a
    %{_sbindir}/fedora-userdel %{name} >> /dev/null 2>&1 || :
87dc70a
fi
87dc70a
87dc70a
%files
87dc70a
%defattr(-,root,root,-)
87dc70a
%{_bindir}/*
87dc70a
%dir %{_javadir}/%{name}
87dc70a
%{_javadir}/%{name}/%{name}-%{version}.jar
87dc70a
%{_javadir}/%{name}/%{name}-jmx-%{version}.jar
87dc70a
%{_javadir}/%{name}/%{name}-servlet-%{version}.jar
87dc70a
%{_javadir}/%{name}/%{name}.jar
87dc70a
%{_javadir}/%{name}/%{name}-jmx.jar
87dc70a
%{_javadir}/%{name}/%{name}-servlet.jar
87dc70a
%config(noreplace) %{confdir}
c70faa1
%dir %{jettylibdir}
c70faa1
%dir %{jettycachedir}
1908eef
%dir %{libdir}
87dc70a
%{libdir}/org.mortbay.jetty.jar
87dc70a
%{libdir}/org.mortbay.jmx.jar
87dc70a
%dir %{homedir}
87dc70a
%{homedir}/[^e]*
87dc70a
%{homedir}/ext
87dc70a
%{homedir}/etc
55fe8b1
%{homedir}/.jettyrc
87dc70a
%dir %{demodir}
87dc70a
%attr(755, jetty, jetty) %{logdir}
87dc70a
%attr(755, jetty, jetty) %{tempdir}
87dc70a
%attr(755, jetty, jetty) %{rundir}
87dc70a
%dir %{appdir}
c70faa1
%dir %{_docdir}/%{name}-%{version}
87dc70a
%doc %{_docdir}/%{name}-%{version}/LICENSE.TXT
87dc70a
%doc %{_docdir}/%{name}-%{version}/VERSION.TXT
a42a2f7
%{_initrddir}/%{name}
87dc70a
%{_sysconfdir}/logrotate.d/%{name}
87dc70a
%if %{gcj_support}
87dc70a
%dir %attr(-,root,root) %{_libdir}/gcj/%{name}/
87dc70a
%attr(-,root,root) %{_libdir}/gcj/%{name}/*.so
87dc70a
%attr(-,root,root) %{_libdir}/gcj/%{name}/*.db
87dc70a
%endif
87dc70a
87dc70a
%files javadoc
87dc70a
%defattr(-,root,root,-)
87dc70a
%{appdir}/template
87dc70a
%{appdir}/javadoc.war
87dc70a
%doc %{_javadocdir}/%{name}-%{version}
87dc70a
87dc70a
%files manual
87dc70a
%defattr(-,root,root,-)
87dc70a
%doc %{_docdir}/%{name}-%{version}
87dc70a
87dc70a
%if %{with_extra}
87dc70a
%files extra
87dc70a
%defattr(-,root,root,-)
87dc70a
%{_javadir}/%{name}/%{name}-ftp-%{version}.jar
87dc70a
%{_javadir}/%{name}/%{name}-ftp.jar
87dc70a
%{_javadir}/%{name}/%{name}-j2ee-%{version}.jar
87dc70a
%{_javadir}/%{name}/%{name}-j2ee.jar
87dc70a
%{_javadir}/%{name}/%{name}-jaas-%{version}.jar
87dc70a
%{_javadir}/%{name}/%{name}-jaas.jar
87dc70a
%{_javadir}/%{name}/%{name}-jboss-%{version}.jar
87dc70a
%{_javadir}/%{name}/%{name}-jboss.jar
87dc70a
%{_javadir}/%{name}/%{name}-jsr77-%{version}.jar
87dc70a
%{_javadir}/%{name}/%{name}-jsr77.jar
87dc70a
%{_javadir}/%{name}/%{name}-loadbalancer-%{version}.jar
87dc70a
%{_javadir}/%{name}/%{name}-loadbalancer.jar
87dc70a
%{_javadir}/%{name}/%{name}-plus-%{version}.jar
87dc70a
%{_javadir}/%{name}/%{name}-plus.jar
87dc70a
%{confdir}/extra
87dc70a
%{homedir}/extra
87dc70a
%{libdir}/extra
87dc70a
%if %{gcj_support}
87dc70a
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-ftp-%{version}.jar.*
87dc70a
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-j2ee-%{version}.jar.*
87dc70a
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-jaas-%{version}.jar.*
87dc70a
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-jboss-%{version}.jar.*
87dc70a
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-jsr77-%{version}.jar.*
87dc70a
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-loadbalancer-%{version}.jar.*
87dc70a
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-plus-%{version}.jar.*
87dc70a
%endif
87dc70a
%endif
87dc70a
87dc70a
%changelog
f4e92bf
* Thu May 21 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.15-3
f4e92bf
- Do not allow directory listings.
f4e92bf
43ba9fc
* Tue May 19 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.15-2
43ba9fc
- Update OSGI manifest file.
43ba9fc
1948efb
* Tue May 19 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.15-1
1948efb
- Upgrade to 5.1.15 source tarball for Fedora.
1948efb
1908eef
* Fri Apr 22 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-3
1908eef
- Add %%{libdir} to files list.
1908eef
- Resolves #473585
1908eef
55fe8b1
* Wed Feb 11 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1.10
55fe8b1
- Rename jettyc back to .jettyrc.
55fe8b1
- Resolves #485012
55fe8b1
a42a2f7
* Tue Feb 03 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1.9
a42a2f7
- Change %%{_sysconfdir}/init.d references to be %%{_initrddir}
c70faa1
a42a2f7
* Mon Feb 02 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1.8
a42a2f7
- Fixes for unowned directories.
a42a2f7
c70faa1
* Tue Jan 06 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1.7
daa0af3
- Patch init.d script to add status operation
daa0af3
- Patch unix djetty script so it doesn't issue error messages about /dev/tty
daa0af3
  and fix various inconsistencies with the init.d script
daa0af3
Andrew Overholt 1b1b405
* Tue Aug 12 2008 Andrew Overholt <overholt@redhat.com> 5.1.14-1.6
Andrew Overholt 1b1b405
- Require tomcat5 bits with proper OSGi metadata
Andrew Overholt 1b1b405
Andrew Overholt d17019b
* Fri Jul 11 2008 Andrew Overholt <overholt@redhat.com> 5.1.14-1.5
Andrew Overholt d17019b
- Bump release.
Andrew Overholt d17019b
Andrew Overholt 6f6e631
* Fri Jul 11 2008 Andrew Overholt <overholt@redhat.com> 5.1.14-1.3
Andrew Overholt 6f6e631
- Update OSGi manifest
Andrew Overholt 6f6e631
2f4f59a
* Wed Jul  9 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 5.1.14-1.3
2f4f59a
- drop repotag
2f4f59a
645d07a
* Fri Jul 04 2008 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1jpp.2
645d07a
- Security patch
645d07a
- Resolves #417401, #417411, #417391
645d07a
645d07a
* Wed Jun 25 2008 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1jpp.1
645d07a
- Upgrade to 5.1.14 source tarball for Fedora
645d07a
4cfc733
* Fri Aug 31 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.7
4cfc733
- Resolves #262221
4cfc733
- Use /bin/sh instead of /sbin/nologin so init will work
4cfc733
229d70e
* Thu Aug 30 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.6
229d70e
- Rename all source files from jetty5 to jetty
229d70e
- Replace jetty5 references with jetty in source files
229d70e
87dc70a
* Tue Aug 28 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.5
87dc70a
- Rename from jetty5 to jetty
87dc70a
87dc70a
* Mon Aug 27 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.4
87dc70a
- Remove post manual step
87dc70a
- Remove jsse requirement
87dc70a
- Add comment inside jetty.conf so it isn't empty
87dc70a
87dc70a
- Use /sbin/nologin when creating the jetty5 user and group
87dc70a
* Mon Aug 27 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.3
87dc70a
- Use /sbin/nologin when creating the jetty5 user and group
87dc70a
- Remove all jars in %%prep
87dc70a
- Remove unnecessary preun step for removing extra jars
87dc70a
- Fix license
87dc70a
- Fix group for manual subpackage
87dc70a
- Fix group for javadoc subpackage
87dc70a
- Add comment regarding empty jetty.conf file
87dc70a
- Add jsp requirement
87dc70a
- Remove %%post javadoc ln command
87dc70a
- Remove %%post manual ln command
87dc70a
- Change source0 tarball to remove BCLA-licensed jars
87dc70a
- Remove epoch 0 references in subpackage requires for extras and manual
87dc70a
- Rename .jettyrc to jettyrc
87dc70a
- Remove hidden files
87dc70a
- Don't install gcj files twice
87dc70a
87dc70a
* Fri Aug 24 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.2
87dc70a
- Remove demo subpackage.
87dc70a
87dc70a
* Wed Aug 08 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.1
87dc70a
- Comment out demo subpackage.
87dc70a
87dc70a
* Mon Aug 06 2007 Ben Konrath <bkonrath@redhat.com> 5.1.12-1jpp.1
87dc70a
- Add --excludes to aot-compile-rpm line.
87dc70a
- Inject OSGi manifest into jetty jar. 
87dc70a
87dc70a
* Thu Jul 19 2007 Andrew Overholt <overholt@redhat.com> 5.1.12-1jpp.1
87dc70a
- Update to 5.1.12 for Fedora.
87dc70a
- Use fedora-usermgmt stuff.
87dc70a
87dc70a
* Fri Feb 02 2007 Ralph Apel <r.apel at r-apel.de> - 0:5.1.12-1jpp
87dc70a
- Upgrade to 5.1.12
87dc70a
- Add gcj_support option
87dc70a
- Avoid circular dependency with mx4j-tools thru bootstrap option
87dc70a
87dc70a
* Sat Aug 12 2006 Anthony Green <green@redhat.com> - 0:5.1.11-0.rc0.4jpp
87dc70a
- Escape macros in changelog with %.
87dc70a
- Untabify.
87dc70a
- Don't delete symlinks in %%preun.
87dc70a
- Add logrotate file.
87dc70a
- Don't install unversioned javadoc files.
87dc70a
- Don't rm old links in manual package.
87dc70a
- Convert some end-of-line encodings.
87dc70a
87dc70a
* Fri Aug 11 2006 Anthony Green <green@redhat.com> - 0:5.1.11-0.rc0.3jpp
87dc70a
- First Fedora build.
87dc70a
- Disable extras.
87dc70a
- Use fedora-useradd & fedora-userdel.
87dc70a
- Add gcj support.
87dc70a
- Tweak License and Group tags for rpmlint.
87dc70a
- Use full URL for Source0.
87dc70a
87dc70a
* Thu Aug 10 2006 Ralph Apel <r.apel@r-apel.de> - 0:5.1.11-0.rc0.2jpp
87dc70a
- Fix version/release in changelog
87dc70a
- Introduce option '--without extra' to omit this subpackage and its (B)Rs
87dc70a
- Don't delete user on erase
87dc70a
- Tidy up BRs
87dc70a
- Add commons-el.jar to ext
87dc70a
- No ghost for lib/org.mortbay.jetty.jar, lib/org.mortbay.jmx.jar
87dc70a
- Avoid use of build-jar-repository in spec
87dc70a
- Avoid use of rebuild-jar-repository in init and start script
87dc70a
- Don't handle JETTY_PID file in init script: start script takes care
87dc70a
- Patch PostFileFilter to remove a (unused) com.sun package import
87dc70a
- Explicitly (B)R  geronimo-jta-1.0.1B-api instead of any jta
87dc70a
- Add empty file /etc/jetty5/jetty.conf: 
87dc70a
  activate contexts manually if desired
87dc70a
87dc70a
* Tue Jun 20 2006 Ralph Apel <r.apel@r-apel.de> - 0:5.1.2-3jpp
87dc70a
- First JPP-1.7 release
87dc70a
87dc70a
* Mon Mar 14 2005 Ralph Apel <r.apel@r-apel.de> - 0:5.1.2-2jpp
87dc70a
- link commons-logging to %%{_homedir}/ext
87dc70a
- link jspapi to %%{_homedir}/ext
87dc70a
- only use %%{_homedir}/etc not conf
87dc70a
87dc70a
* Tue Feb 01 2005 Ralph Apel <r.apel@r-apel.de> - 0:5.1.2-1jpp
87dc70a
- Upgrade to 5.1.2
87dc70a
- Prepare for build with Java 1.5, (thx to Petr Adamek)
87dc70a
- Require /sbin/chkconfig instead of chkconfig package
87dc70a
87dc70a
* Tue Jan 04 2005 Ralph Apel <r.apel@r-apel.de> - 0:5.0.0-2jpp
87dc70a
- Include build of extra, so called JettyPlus
87dc70a
- Create own subdirectory for jetty5 in %%{_javadir}
87dc70a
- Change %%{_homedir}/conf to %%{_homedir}/etc
87dc70a
- Dropped chkconfig requirement; just exec if /sbin/chkconfig available
87dc70a
- Fixed unpackaged .jettyrc
87dc70a
87dc70a
* Mon Oct 04 2004 Ralph Apel <r.apel@r-apel.de> - 0:5.0.0-1jpp
87dc70a
- Upgrade to 5.0.0
87dc70a
- Fixed URL
87dc70a
- relaxed some versioned dependencies
87dc70a
87dc70a
* Sun Aug 23 2004 Randy Watler <rwatler at finali.com> - 0:4.2.20-2jpp
87dc70a
- Rebuild with ant-1.6.2
87dc70a
87dc70a
* Fri Jun 18 2004 Ralph Apel <r.apel@r-apel.de> - 0:4.2.20-1jpp
87dc70a
- Upgrade to 4.2.20
87dc70a
- Drop ownership of /usr/share/java and /usr/bin
87dc70a
87dc70a
* Tue Feb 24 2004 Ralph Apel <r.apel@r-apel.de> - 0:4.2.17-2jpp
87dc70a
- enhancements and corrections thanks to Kaj J. Niemi:
87dc70a
- $JETTY_HOME/ext didn't exist but %%post depended on it
87dc70a
- correctly shutdown jetty upon uninstall
87dc70a
- RedHat depends on chkconfig/service to work so a functional
87dc70a
  init.d/jetty4 needed to be created
87dc70a
- djetty4 (jetty.sh) did funny things especially when it attempted to guess
87dc70a
  stuff
87dc70a
- a lot of .xml config files assumed that the configs were in etc/ instead of
87dc70a
  conf/
87dc70a
87dc70a
* Thu Feb 19 2004 Ralph Apel <r.apel@r-apel.de> - 0:4.2.17-1jpp
87dc70a
- First JPackage release.