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}
87dc70a
%define tempdir     %{_localstatedir}/cache/%{name}/temp
87dc70a
%define rundir      %{_localstatedir}/run/%{name}
87dc70a
%define libdir      %{_localstatedir}/lib/%{name}/lib
87dc70a
%define appdir      %{_localstatedir}/lib/%{name}/webapps
87dc70a
%define demodir     %{_localstatedir}/lib/%{name}/demo
87dc70a
87dc70a
Name:           jetty
87dc70a
Version:        5.1.12
af65f38
Release:        1jpp.9%{?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/
87dc70a
# Following source zip was originally taken from the following location:
87dc70a
# http://mirrors.ibiblio.org/pub/mirrors/maven/jetty/jetty-5.1.12.zip
87dc70a
# The zip file was modified by removing all jars and BCLA licenses.
87dc70a
# unzip jetty-5.1.12.zip
87dc70a
# pushd jetty-5.1.12
87dc70a
# find . -name *.jar -exec rm {} \;
87dc70a
# rm ./etc/LICENSE.javax.xml.html ./etc/LICENSE.jsse.txt
87dc70a
# popd
87dc70a
# zip jetty-5.1.12.fedora.zip jetty-5.1.12/*
87dc70a
Source0:        %{jettyname}-%{version}.fedora.zip
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
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
87dc70a
BuildRequires:  tomcat5-jasper
87dc70a
BuildRequires:  tomcat5-servlet-2.4-api
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
#
87dc70a
Requires:  /sbin/chkconfig
87dc70a
Requires:  jpackage-utils >= 0:1.6
87dc70a
Requires:  ant >= 0:1.6
87dc70a
Requires:  jakarta-commons-el
87dc70a
Requires:  jakarta-commons-logging
87dc70a
Requires:  tomcat5-jasper
87dc70a
Requires:  jsp
87dc70a
Requires:  mx4j >= 0:3.0
87dc70a
Requires:  tomcat5-servlet-2.4-api
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
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
87dc70a
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}
87dc70a
install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/init.d
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}
87dc70a
install -pm 755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/init.d/%{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
1f21c48
) > $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
87dc70a
    [ -f /var/lock/subsys/%{name} ] && %{_sysconfdir}/init.d/%{name} stop
87dc70a
    [ -f %{_sysconfdir}/init.d/%{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}
87dc70a
%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
1f21c48
%{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}
af65f38
%dir %{_docdir}/%{name}-%{version}
87dc70a
%doc %{_docdir}/%{name}-%{version}/LICENSE.TXT
87dc70a
%doc %{_docdir}/%{name}-%{version}/VERSION.TXT
87dc70a
%{_sysconfdir}/init.d/%{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
af65f38
* Tue Feb 12 2008 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.9
af65f38
- Resolves #427821
af65f38
- Make this package owner of jetty doc directory
af65f38
1f21c48
* Tue Nov 20 2007 Jeff Johnston <jjohnstn@redhat.com> 5.1.12-1jpp.8
1f21c48
- Resolves #393071
1f21c48
- Rename jettyrc back to .jettyrc as this file is needed when starting
1f21c48
  jetty via /etc/init.d/jetty start
1f21c48
1f21c48
- Resolves #262221
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.