Blob Blame History Raw
# Copyright (c) 2000-2007, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name of the JPackage Project nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

%bcond_without fedora

%define gcj_support 1
%define bootstrap 0

# If you don't want the -extras subpackage to be built
# in order to avoid its (Build)Requires
# give rpmbuild option '--without extra'

%define with_extra 0

%define section     free
%define jettyname   jetty
%define jtuid       110
%define username    %{name}
%define confdir     %{_sysconfdir}/%{name}
%define logdir      %{_localstatedir}/log/%{name}
%define homedir     %{_datadir}/%{name}
%define jettycachedir %{_localstatedir}/cache/%{name}
%define tempdir     %{jettycachedir}/temp
%define rundir      %{_localstatedir}/run/%{name}
%define jettylibdir %{_localstatedir}/lib/%{name}
%define libdir      %{jettylibdir}/lib
%define appdir      %{jettylibdir}/webapps
%define demodir     %{jettylibdir}/demo

Name:           jetty
Version:        5.1.15
Release:        4%{?dist}
Summary:        The Jetty Webserver and Servlet Container

Group:          Applications/Internet
License:        ASL 2.0
URL:            http://jetty.mortbay.org/jetty/
# Following source tarball was originally taken from the following location:
# http://dist.codehaus.org/jetty/jetty-5.1.x/jetty-5.1.15.tgz
# The tarball was modified by removing all jars and BCLA licenses.
# tar -xzf jetty-5.1.15.tgz
# pushd jetty-5.1.15
# find . -name *.jar -exec rm {} \;
# rm ./etc/LICENSE.javax.xml.html ./etc/LICENSE.jsse.txt
# popd
# tar -czf jetty-5.1.15.fedora.tgz jetty-5.1.15/*
Source0:        %{jettyname}-%{version}.fedora.tgz
Source1:        jetty.script
Source2:        jetty.init
Source3:        jetty.logrotate
Source4:        jetty-OSGi-MANIFEST.MF
Patch0:         jetty-extra-j2ee-build_xml.patch
Patch1:         jetty-PostFileFilter.patch
Patch2:         jetty-libgcj-bad-serialization.patch
Patch3:         jetty-TestRFC2616-libgcj-bad-date-parser.patch
Patch4:		jetty-webdefault.patch
Patch5:		jetty-unix.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%if ! %{gcj_support}
BuildArch:      noarch
%endif
BuildRequires:  fedora-usermgmt-devel
%{?FE_USERADD_REQ}
BuildRequires:  jpackage-utils >= 0:1.6
#BuildRequires:  perl >= 0:5.005
# build only
BuildRequires:  ant-junit
BuildRequires:  jakarta-commons-collections
BuildRequires:  junit
BuildRequires:  xdoclet
BuildRequires:  xjavadoc
# main
BuildRequires:  ant >= 0:1.6
BuildRequires:  jakarta-commons-el
BuildRequires:  jakarta-commons-logging
BuildRequires:  jsse
BuildRequires:  mx4j >= 0:3.0
BuildRequires:  tomcat5-jasper >= 5.5.26-1.5
BuildRequires:  tomcat5-servlet-2.4-api >= 5.5.26-1.5
BuildRequires:  xerces-j2 >= 0:2.7
BuildRequires:  xml-commons-apis

# extra
%if %{with_extra}
BuildRequires:  carol
BuildRequires:  geronimo-j2ee-connector-1.5-api
BuildRequires:  geronimo-j2ee-management-1.0-api
BuildRequires:  howl-logger
BuildRequires:  hsqldb
BuildRequires:  jaf
BuildRequires:  jakarta-commons-cli
BuildRequires:  javamail
BuildRequires:  jboss4-cluster
BuildRequires:  jboss4-common
BuildRequires:  jboss4-j2ee
BuildRequires:  jboss4-jmx
BuildRequires:  jboss4-security
BuildRequires:  jboss4-server
BuildRequires:  jboss4-system
BuildRequires:  jgroups
BuildRequires:  jotm
BuildRequires:  geronimo-jta-1.0.1B-api
BuildRequires:  log4j
BuildRequires:  openorb-ots
BuildRequires:  xapool
%endif
#
Requires:  chkconfig
Requires:  jpackage-utils >= 0:1.6
Requires:  ant >= 0:1.6
Requires:  jakarta-commons-el
Requires:  jakarta-commons-logging
Requires:  tomcat5-jasper >= 5.5.26-1.5
Requires:  jsp
Requires:  mx4j >= 0:3.0
Requires:  tomcat5-servlet-2.4-api >= 5.5.26-1.5
Requires:  xerces-j2 >= 0:2.7
Requires:  xml-commons-apis
Provides:  group(%username) = %jtuid
Provides:  user(%username) = %jtuid

%if %{gcj_support}
BuildRequires:          java-gcj-compat-devel
Requires(post):         java-gcj-compat
Requires(postun):       java-gcj-compat
%endif

%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        javadoc
Summary:        Javadoc for %{name}
Group:          Documentation
Requires:       %{name} = %{version}

%description    javadoc
%{summary}.

%if %{with_extra}
%package        extra
Summary:        Extras for %{name}
Group:          Applications/Internet
Requires:       %{name} = %{version}
Requires:  carol
Requires:  geronimo-j2ee-connector-1.5-api
Requires:  geronimo-j2ee-management-1.0-api
Requires:  howl-logger
Requires:  hsqldb
Requires:  jaf
Requires:  jakarta-commons-cli
Requires:  javamail
Requires:  jboss4-cluster
Requires:  jboss4-common
Requires:  jboss4-j2ee
Requires:  jboss4-jmx
Requires:  jboss4-system
Requires:  jboss4-security
Requires:  jboss4-server
Requires:  jgroups
# jonas_timer
# objectweb-datasource
Requires:  jotm
Requires:  geronimo-jta-1.0.1B-api
Requires:  log4j
Requires:  openorb-ots
Requires:  xapool
Requires:  xdoclet
Requires:  xjavadoc

%description    extra
The purpose of this project is to enrich Jetty by 
selectively incorporating useful J2EE and non-J2EE 
features. The result is JettyPlus, an environment 
offering additional facilities to core web and servlet 
services, but which does not entail a full-blown 
application server (such as JettyJBoss and JettyJOnAS). 
The feature set currently contains: 
Java Transaction API (JTA) and Resource references, eg DataSources 
Java Naming and Directory Interface API (JNDI) 
Log4J 
Java Authentication and Authorization Service (JAAS) 
Java Mail  
These features have been implemented as a pluggable, 
Service-based architecture. This means that it is 
possible to develop and use alternative services to 
those provided. 
%endif

%package        manual
Summary:        Documents for %{name}
Group:          Documentation
Requires:       %{name} = %{version}

%description    manual
%{summary}.


%prep
%setup -q -n %{jettyname}-%{version}
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 "*.?ar"); do rm $f; done
find . -name "*.class" -exec rm {} \;
# .war files needed for tests
mv demo/webapps/servlets-examples-dontdelete \
  demo/webapps/servlets-examples.war
mv demo/webapps/jsp-examples-dontdelete \
  demo/webapps/jsp-examples.war

%if %{bootstrap}
rm src/org/mortbay/util/jmx/MX4JHttpAdaptor.java
%endif

%patch0 -b .sav
%patch1 -b .sav
%patch2 -b .sav
%patch3 -b .sav
%patch4
%patch5

# Delete this Sun specific file.
rm src/org/mortbay/http/SunJsseListener.java

# Convert line endings...
%{__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

%build

pushd ext
  ln -s $(build-classpath ant) .
  ln -s $(build-classpath commons-el) .
  ln -s $(build-classpath commons-logging) .
  ln -s $(build-classpath jasper5-compiler) jasper-compiler.jar
  ln -s $(build-classpath jasper5-runtime)  jasper-runtime.jar
  ln -s $(build-classpath mx4j/mx4j) .
  ln -s $(build-classpath mx4j/mx4j-jmx) .
  ln -s $(build-classpath mx4j/mx4j-remote) .
  ln -s $(build-classpath mx4j/mx4j-tools) .
  ln -s $(build-classpath xerces-j2) xercesImpl.jar
  ln -s $(build-classpath xml-commons-apis) xml-apis.jar
popd
%if %{with_extra}
pushd extra/ext
  ln -s $(build-classpath jaf) activation.jar
  ln -s $(build-classpath commons-cli) .
  ln -s $(build-classpath geronimo-j2ee-connector-1.5-api) connector-1_5.jar
  ln -s $(build-classpath hsqldb) .
  ln -s $(build-classpath geronimo-j2ee-management-1.0-api) javax77.jar
  ln -s $(build-classpath geronimo-jta-1.0.1B-api) jta-spec1_0_1.jar
  ln -s $(build-classpath log4j) .
  ln -s $(build-classpath javamail/mailapi) mail.jar
  ln -s $(build-classpath carol/ow_carol) .
  ln -s $(build-classpath howl-logger) .
#  #jonas_timer.jar
  ln -s $(build-classpath jotm/jotm) .
  ln -s $(build-classpath jotm/iiop-stubs) jotm_iiop_stubs.jar
  ln -s $(build-classpath jotm/jrmp-stubs) jotm_jrmp_stubs.jar
  ln -s $(build-classpath openorb-ots) jts1_0.jar
  #objectweb-datasource.jar
  ln -s $(build-classpath xapool) .
popd
%endif

export CLASSPATH=$(build-classpath \
xjavadoc \
)

%if %{with_extra}
CLASSPATH=$CLASSPATH:$(build-classpath \
jboss4/jboss-j2ee \
jboss4/jboss-common \
jboss4/jboss-system \
jboss4/jboss-jmx \
jboss4/jboss \
jboss4/jbosssx \
jboss4/jbossha \
jgroups \
log4j \
)
%endif

%if %{with_extra}
ant -Dxdoclet.home=%{_javadir}/xdoclet -Dbuild.sysclasspath=first all extra
%else
ant -Dxdoclet.home=%{_javadir}/xdoclet -Dbuild.sysclasspath=first all
%endif

# inject OSGi manifests
mkdir -p META-INF
cp %{SOURCE4} META-INF/MANIFEST.MF
zip -u lib/org.mortbay.jetty.jar META-INF/MANIFEST.MF


%install
rm -rf $RPM_BUILD_ROOT
# dirs
install -dm 755 $RPM_BUILD_ROOT%{_bindir}
install -dm 755 $RPM_BUILD_ROOT%{_initrddir}
install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
install -dm 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
install -dm 755 $RPM_BUILD_ROOT%{confdir}
install -dm 755 $RPM_BUILD_ROOT%{confdir}/extra
install -dm 755 $RPM_BUILD_ROOT%{demodir}
install -dm 755 $RPM_BUILD_ROOT%{homedir}
install -dm 755 $RPM_BUILD_ROOT%{homedir}/bin
install -dm 755 $RPM_BUILD_ROOT%{homedir}/ext
install -dm 755 $RPM_BUILD_ROOT%{homedir}/extra
install -dm 755 $RPM_BUILD_ROOT%{homedir}/extra/ext
install -dm 755 $RPM_BUILD_ROOT%{libdir}
install -dm 755 $RPM_BUILD_ROOT%{libdir}/extra
install -dm 755 $RPM_BUILD_ROOT%{logdir}
install -dm 755 $RPM_BUILD_ROOT%{rundir}
install -dm 755 $RPM_BUILD_ROOT%{tempdir}
install -dm 755 $RPM_BUILD_ROOT%{appdir}
# main pkg
install -pm 755 extra/unix/bin/jetty.sh $RPM_BUILD_ROOT%{_bindir}/d%{name}
install -pm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}
install -pm 755 %{SOURCE2} $RPM_BUILD_ROOT%{_initrddir}/%{name}
install -pm 755 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
install -pm 644 start.jar $RPM_BUILD_ROOT%{homedir}/bin
install -pm 644 stop.jar $RPM_BUILD_ROOT%{homedir}/bin
cp -pr etc/* $RPM_BUILD_ROOT%{confdir}
echo '# Placeholder configuration file.  No default is provided.' > $RPM_BUILD_ROOT%{confdir}/jetty.conf
install -pm 644 lib/org.mortbay.jetty.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-%{version}.jar
install -pm 644 lib/org.mortbay.jmx.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jmx-%{version}.jar
install -pm 644 lib/javax.servlet.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-servlet-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
pushd $RPM_BUILD_ROOT%{libdir}
  ln -sf %{_javadir}/%{name}/%{name}.jar org.mortbay.jetty.jar
  ln -sf %{_javadir}/%{name}/%{name}-jmx.jar org.mortbay.jmx.jar
popd
pushd $RPM_BUILD_ROOT%{homedir}/ext
ln -s $(build-classpath ant)
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 jspapi)
ln -s $(build-classpath xerces-j2)
ln -s $(build-classpath xml-commons-apis)
popd
( cat << EO_RC
JAVA_HOME=/usr/lib/jvm/java
JAVA_OPTIONS=
JETTY_HOME=%{homedir}
JETTY_CONSOLE=%{logdir}/jetty-console.log
JETTY_PORT=8080
JETTY_RUN=%{_localstatedir}/run/%{name}
JETTY_PID=\$JETTY_RUN/jetty.pid
EO_RC
) > $RPM_BUILD_ROOT%{homedir}/.jettyrc

# extra
%if %{with_extra}
cp -pr extra/etc/* $RPM_BUILD_ROOT%{confdir}/extra
rm $RPM_BUILD_ROOT%{confdir}/extra/LICENSE.apache.txt
rm $RPM_BUILD_ROOT%{confdir}/extra/LICENSE.hsqldb.html
rm $RPM_BUILD_ROOT%{confdir}/extra/LICENSE.p6spy.html

install -pm 644 extra/lib/org.jboss.jetty.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jboss-%{version}.jar
install -pm 644 extra/lib/org.mortbay.ftp.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-ftp-%{version}.jar
install -pm 644 extra/lib/org.mortbay.j2ee.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-j2ee-%{version}.jar
install -pm 644 extra/lib/org.mortbay.jaas.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jaas-%{version}.jar
install -pm 644 extra/lib/org.mortbay.jsr77.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jsr77-%{version}.jar
# omit for 1.6
# install -pm 644 extra/lib/org.mortbay.jetty-jdk1.2.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jetty-jdk1.2-%{version}.jar
install -pm 644 extra/lib/org.mortbay.jetty.plus.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-plus-%{version}.jar
# omit for 1.6
# install -pm 644 extra/lib/org.mortbay.jmx-jdk1.2.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jmx-jdk1.2-%{version}.jar
install -pm 644 extra/lib/org.mortbay.loadbalancer.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-loadbalancer-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
pushd $RPM_BUILD_ROOT%{libdir}/extra
  ln -sf %{_javadir}/%{name}/%{name}-jboss.jar org.jboss.jetty.jar
  ln -sf %{_javadir}/%{name}/%{name}-ftp.jar org.mortbay.ftp.jar
  ln -sf %{_javadir}/%{name}/%{name}-j2ee.jar org.mortbay.j2ee.jar
  ln -sf %{_javadir}/%{name}/%{name}-jaas.jar org.mortbay.jaas.jar
  ln -sf %{_javadir}/%{name}/%{name}-jsr77.jar org.mortbay.jsr77.jar
  ln -sf %{_javadir}/%{name}/%{name}-plus.jar org.mortbay.jetty.plus.jar
  ln -sf %{_javadir}/%{name}/%{name}-loadbalancer.jar org.mortbay.loadbalancer.jar
popd
pushd $RPM_BUILD_ROOT%{homedir}/extra/ext
  #jonas_timer.jar
  #objectweb-datasource.jar
ln -s $(build-classpath jaf)
ln -s $(build-classpath carol/carol)
ln -s $(build-classpath commons-cli)
ln -s $(build-classpath hsqldb)
ln -s $(build-classpath jotm/jotm)
ln -s $(build-classpath jotm/iiop-stubs)
ln -s $(build-classpath jotm/jrmp-stubs)
ln -s $(build-classpath jta)
ln -s $(build-classpath openorb-ots)
ln -s $(build-classpath log4j)
ln -s $(build-classpath javamail/mailapi)
ln -s $(build-classpath xapool)
popd
%endif

cp -pr demo/* $RPM_BUILD_ROOT%{demodir}

# javadoc
cp -pr webapps/* $RPM_BUILD_ROOT%{appdir}
rm $RPM_BUILD_ROOT/%{appdir}/template/WEB-INF/lib/.keepme
install -dm 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
pushd $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
unzip -q $RPM_BUILD_ROOT%{appdir}/javadoc.war
%{__sed} -i 's/\r//' META-INF/MANIFEST.MF
popd

# manual
install -dm 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
cp -p {LICENSE.TXT,VERSION.TXT} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
mv $RPM_BUILD_ROOT%{demodir}/webapps/jetty/* \
                $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
rm $RPM_BUILD_ROOT/%{_docdir}/%{name}-%{version}/WEB-INF/.cvsignore
rm -rf $RPM_BUILD_ROOT%{appdir}/jetty
# Remaining files in demodir are not built into any subpackage.
rm -rf $RPM_BUILD_ROOT%{demodir}/*


pushd $RPM_BUILD_ROOT%{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
%if %{with_extra}
   pushd extra
     [ -d etc ]    || ln -fs %{confdir}/extra  etc
     [ -d lib ]    || ln -fs %{libdir}/extra    lib
   popd
%endif
popd

# no need to fix paths
#perl -pi -e 's#etc/#conf/#g;' $RPM_BUILD_ROOT%{confdir}/*.xml

%if %{gcj_support}
%{_bindir}/aot-compile-rpm \
      --exclude /var/lib/jetty/webapps/javadoc.war \
      --exclude /usr/share/doc/jetty-%{version}/WEB-INF/classes \
      --exclude /var/lib/jetty/webapps/template/WEB-INF/classes
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%pre
# Add the "jetty" user and group
%__fe_groupadd %jtuid -r %username &>/dev/null || :
# Use /bin/sh so init script will start properly.
%__fe_useradd  %jtuid -r -s /bin/sh -d %homedir -M          \
                    -g %username %username &>/dev/null || :

%post
[ -x /sbin/chkconfig ] && /sbin/chkconfig --add %{name}
%if %{gcj_support}
if [ -x %{_bindir}/rebuild-gcj-db ]
then
  %{_bindir}/rebuild-gcj-db
fi
%endif

%postun
%__fe_userdel  %username &>/dev/null || :
%__fe_groupdel %username &>/dev/null || :
%if %{gcj_support}
if [ -x %{_bindir}/rebuild-gcj-db ]
then
  %{_bindir}/rebuild-gcj-db
fi
%endif


%preun
if [ $1 = 0 ]; then
    [ -f /var/lock/subsys/%{name} ] && %{_initrddir}/%{name} stop
    [ -f %{_initrddir}/%{name} -a -x /sbin/chkconfig ] && /sbin/chkconfig --del %{name}

    %{_sbindir}/fedora-userdel %{name} >> /dev/null 2>&1 || :
fi

%files
%defattr(-,root,root,-)
%{_bindir}/*
%dir %{_javadir}/%{name}
%{_javadir}/%{name}/%{name}-%{version}.jar
%{_javadir}/%{name}/%{name}-jmx-%{version}.jar
%{_javadir}/%{name}/%{name}-servlet-%{version}.jar
%{_javadir}/%{name}/%{name}.jar
%{_javadir}/%{name}/%{name}-jmx.jar
%{_javadir}/%{name}/%{name}-servlet.jar
%config(noreplace) %{confdir}
%dir %{jettylibdir}
%dir %{jettycachedir}
%dir %{libdir}
%{libdir}/org.mortbay.jetty.jar
%{libdir}/org.mortbay.jmx.jar
%dir %{homedir}
%{homedir}/[^e]*
%{homedir}/ext
%{homedir}/etc
%{homedir}/.jettyrc
%dir %{demodir}
%attr(755, jetty, jetty) %{logdir}
%attr(755, jetty, jetty) %{tempdir}
%attr(755, jetty, jetty) %{rundir}
%dir %{appdir}
%dir %{_docdir}/%{name}-%{version}
%doc %{_docdir}/%{name}-%{version}/LICENSE.TXT
%doc %{_docdir}/%{name}-%{version}/VERSION.TXT
%{_initrddir}/%{name}
%{_sysconfdir}/logrotate.d/%{name}
%if %{gcj_support}
%dir %attr(-,root,root) %{_libdir}/gcj/%{name}/
%attr(-,root,root) %{_libdir}/gcj/%{name}/*.so
%attr(-,root,root) %{_libdir}/gcj/%{name}/*.db
%endif

%files javadoc
%defattr(-,root,root,-)
%{appdir}/template
%{appdir}/javadoc.war
%doc %{_javadocdir}/%{name}-%{version}

%files manual
%defattr(-,root,root,-)
%doc %{_docdir}/%{name}-%{version}

%if %{with_extra}
%files extra
%defattr(-,root,root,-)
%{_javadir}/%{name}/%{name}-ftp-%{version}.jar
%{_javadir}/%{name}/%{name}-ftp.jar
%{_javadir}/%{name}/%{name}-j2ee-%{version}.jar
%{_javadir}/%{name}/%{name}-j2ee.jar
%{_javadir}/%{name}/%{name}-jaas-%{version}.jar
%{_javadir}/%{name}/%{name}-jaas.jar
%{_javadir}/%{name}/%{name}-jboss-%{version}.jar
%{_javadir}/%{name}/%{name}-jboss.jar
%{_javadir}/%{name}/%{name}-jsr77-%{version}.jar
%{_javadir}/%{name}/%{name}-jsr77.jar
%{_javadir}/%{name}/%{name}-loadbalancer-%{version}.jar
%{_javadir}/%{name}/%{name}-loadbalancer.jar
%{_javadir}/%{name}/%{name}-plus-%{version}.jar
%{_javadir}/%{name}/%{name}-plus.jar
%{confdir}/extra
%{homedir}/extra
%{libdir}/extra
%if %{gcj_support}
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-ftp-%{version}.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-j2ee-%{version}.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-jaas-%{version}.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-jboss-%{version}.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-jsr77-%{version}.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-loadbalancer-%{version}.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-plus-%{version}.jar.*
%endif
%endif

%changelog
* Fri May 22 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.15-4
- Update sources file.

* Thu May 21 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.15-3
- Do not allow directory listings.

* Tue May 19 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.15-2
- Update OSGI manifest file.

* Tue May 19 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.15-1
- Upgrade to 5.1.15 source tarball for Fedora.

* Fri Apr 22 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-3
- Add %%{libdir} to files list.
- Resolves #473585

* Wed Feb 11 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1.10
- Rename jettyc back to .jettyrc.
- Resolves #485012

* Tue Feb 03 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1.9
- Change %%{_sysconfdir}/init.d references to be %%{_initrddir}

* Mon Feb 02 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1.8
- Fixes for unowned directories.

* Tue Jan 06 2009 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1.7
- Patch init.d script to add status operation
- Patch unix djetty script so it doesn't issue error messages about /dev/tty
  and fix various inconsistencies with the init.d script

* Tue Aug 12 2008 Andrew Overholt <overholt@redhat.com> 5.1.14-1.6
- Require tomcat5 bits with proper OSGi metadata

* Fri Jul 11 2008 Andrew Overholt <overholt@redhat.com> 5.1.14-1.5
- Bump release.

* Fri Jul 11 2008 Andrew Overholt <overholt@redhat.com> 5.1.14-1.3
- Update OSGi manifest

* Wed Jul  9 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 5.1.14-1.3
- drop repotag

* Fri Jul 04 2008 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1jpp.2
- Security patch
- Resolves #417401, #417411, #417391

* Wed Jun 25 2008 Jeff Johnston <jjohnstn@redhat.com> 5.1.14-1jpp.1
- Upgrade to 5.1.14 source tarball for Fedora

* Fri Aug 31 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.7
- Resolves #262221
- Use /bin/sh instead of /sbin/nologin so init will work

* Thu Aug 30 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.6
- Rename all source files from jetty5 to jetty
- Replace jetty5 references with jetty in source files

* Tue Aug 28 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.5
- Rename from jetty5 to jetty

* Mon Aug 27 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.4
- Remove post manual step
- Remove jsse requirement
- Add comment inside jetty.conf so it isn't empty

- Use /sbin/nologin when creating the jetty5 user and group
* Mon Aug 27 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.3
- Use /sbin/nologin when creating the jetty5 user and group
- Remove all jars in %%prep
- Remove unnecessary preun step for removing extra jars
- Fix license
- Fix group for manual subpackage
- Fix group for javadoc subpackage
- Add comment regarding empty jetty.conf file
- Add jsp requirement
- Remove %%post javadoc ln command
- Remove %%post manual ln command
- Change source0 tarball to remove BCLA-licensed jars
- Remove epoch 0 references in subpackage requires for extras and manual
- Rename .jettyrc to jettyrc
- Remove hidden files
- Don't install gcj files twice

* Fri Aug 24 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.2
- Remove demo subpackage.

* Wed Aug 08 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.1
- Comment out demo subpackage.

* Mon Aug 06 2007 Ben Konrath <bkonrath@redhat.com> 5.1.12-1jpp.1
- Add --excludes to aot-compile-rpm line.
- Inject OSGi manifest into jetty jar. 

* Thu Jul 19 2007 Andrew Overholt <overholt@redhat.com> 5.1.12-1jpp.1
- Update to 5.1.12 for Fedora.
- Use fedora-usermgmt stuff.

* Fri Feb 02 2007 Ralph Apel <r.apel at r-apel.de> - 0:5.1.12-1jpp
- Upgrade to 5.1.12
- Add gcj_support option
- Avoid circular dependency with mx4j-tools thru bootstrap option

* Sat Aug 12 2006 Anthony Green <green@redhat.com> - 0:5.1.11-0.rc0.4jpp
- Escape macros in changelog with %.
- Untabify.
- Don't delete symlinks in %%preun.
- Add logrotate file.
- Don't install unversioned javadoc files.
- Don't rm old links in manual package.
- Convert some end-of-line encodings.

* Fri Aug 11 2006 Anthony Green <green@redhat.com> - 0:5.1.11-0.rc0.3jpp
- First Fedora build.
- Disable extras.
- Use fedora-useradd & fedora-userdel.
- Add gcj support.
- Tweak License and Group tags for rpmlint.
- Use full URL for Source0.

* Thu Aug 10 2006 Ralph Apel <r.apel@r-apel.de> - 0:5.1.11-0.rc0.2jpp
- Fix version/release in changelog
- Introduce option '--without extra' to omit this subpackage and its (B)Rs
- Don't delete user on erase
- Tidy up BRs
- Add commons-el.jar to ext
- No ghost for lib/org.mortbay.jetty.jar, lib/org.mortbay.jmx.jar
- Avoid use of build-jar-repository in spec
- Avoid use of rebuild-jar-repository in init and start script
- Don't handle JETTY_PID file in init script: start script takes care
- Patch PostFileFilter to remove a (unused) com.sun package import
- Explicitly (B)R  geronimo-jta-1.0.1B-api instead of any jta
- Add empty file /etc/jetty5/jetty.conf: 
  activate contexts manually if desired

* Tue Jun 20 2006 Ralph Apel <r.apel@r-apel.de> - 0:5.1.2-3jpp
- First JPP-1.7 release

* Mon Mar 14 2005 Ralph Apel <r.apel@r-apel.de> - 0:5.1.2-2jpp
- link commons-logging to %%{_homedir}/ext
- link jspapi to %%{_homedir}/ext
- only use %%{_homedir}/etc not conf

* Tue Feb 01 2005 Ralph Apel <r.apel@r-apel.de> - 0:5.1.2-1jpp
- Upgrade to 5.1.2
- Prepare for build with Java 1.5, (thx to Petr Adamek)
- Require /sbin/chkconfig instead of chkconfig package

* Tue Jan 04 2005 Ralph Apel <r.apel@r-apel.de> - 0:5.0.0-2jpp
- Include build of extra, so called JettyPlus
- Create own subdirectory for jetty5 in %%{_javadir}
- Change %%{_homedir}/conf to %%{_homedir}/etc
- Dropped chkconfig requirement; just exec if /sbin/chkconfig available
- Fixed unpackaged .jettyrc

* Mon Oct 04 2004 Ralph Apel <r.apel@r-apel.de> - 0:5.0.0-1jpp
- Upgrade to 5.0.0
- Fixed URL
- relaxed some versioned dependencies

* Sun Aug 23 2004 Randy Watler <rwatler at finali.com> - 0:4.2.20-2jpp
- Rebuild with ant-1.6.2

* Fri Jun 18 2004 Ralph Apel <r.apel@r-apel.de> - 0:4.2.20-1jpp
- Upgrade to 4.2.20
- Drop ownership of /usr/share/java and /usr/bin

* Tue Feb 24 2004 Ralph Apel <r.apel@r-apel.de> - 0:4.2.17-2jpp
- enhancements and corrections thanks to Kaj J. Niemi:
- $JETTY_HOME/ext didn't exist but %%post depended on it
- correctly shutdown jetty upon uninstall
- RedHat depends on chkconfig/service to work so a functional
  init.d/jetty4 needed to be created
- djetty4 (jetty.sh) did funny things especially when it attempted to guess
  stuff
- a lot of .xml config files assumed that the configs were in etc/ instead of
  conf/

* Thu Feb 19 2004 Ralph Apel <r.apel@r-apel.de> - 0:4.2.17-1jpp
- First JPackage release.