rpms/jetty/devel jetty.spec, NONE, 1.1 jetty5-OSGi-MANIFEST.MF, NONE, 1.1 jetty5-PostFileFilter.patch, NONE, 1.1 jetty5-TestRFC2616-libgcj-bad-date-parser.patch, NONE, 1.1 jetty5-extra-j2ee-build_xml.patch, NONE, 1.1 jetty5-libgcj-bad-serialization.patch, NONE, 1.1 jetty5.init, NONE, 1.1 jetty5.logrotate, NONE, 1.1 jetty5.script, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Jeff Johnston (jjohnstn) fedora-extras-commits at redhat.com
Tue Aug 28 21:45:27 UTC 2007


Author: jjohnstn

Update of /cvs/pkgs/rpms/jetty/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10424/devel

Modified Files:
	.cvsignore sources 
Added Files:
	jetty.spec jetty5-OSGi-MANIFEST.MF jetty5-PostFileFilter.patch 
	jetty5-TestRFC2616-libgcj-bad-date-parser.patch 
	jetty5-extra-j2ee-build_xml.patch 
	jetty5-libgcj-bad-serialization.patch jetty5.init 
	jetty5.logrotate jetty5.script 
Log Message:
Initial import.



--- NEW FILE jetty.spec ---
# 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 tempdir     %{_localstatedir}/cache/%{name}/temp
%define rundir      %{_localstatedir}/run/%{name}
%define libdir      %{_localstatedir}/lib/%{name}/lib
%define appdir      %{_localstatedir}/lib/%{name}/webapps
%define demodir     %{_localstatedir}/lib/%{name}/demo

Name:           jetty
Version:        5.1.12
Release:        1jpp.5%{?dist}
Summary:        The Jetty Webserver and Servlet Container

Group:          Applications/Internet
License:        ASL 2.0
URL:            http://jetty.mortbay.org/jetty/
# Following source zip was originally taken from the following location:
# http://mirrors.ibiblio.org/pub/mirrors/maven/jetty/jetty-5.1.12.zip
# The zip file was modified by removing all jars and BCLA licenses.
# unzip jetty-5.1.12.zip
# pushd jetty-5.1.12
# find . -name *.jar -exec rm {} \;
# rm ./etc/LICENSE.javax.xml.html ./etc/LICENSE.jsse.txt
# popd
# zip jetty-5.1.12.fedora.zip jetty-5.1.12/*
Source0:        %{jettyname}-%{version}.fedora.zip
Source1:        jetty5.script
Source2:        jetty5.init
Source3:        jetty5.logrotate
Source4:        jetty5-OSGi-MANIFEST.MF
Patch0:         jetty5-extra-j2ee-build_xml.patch
Patch1:         jetty5-PostFileFilter.patch
Patch2:         jetty5-libgcj-bad-serialization.patch
Patch3:         jetty5-TestRFC2616-libgcj-bad-date-parser.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
BuildRequires:  tomcat5-servlet-2.4-api
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:  /sbin/chkconfig
Requires:  jpackage-utils >= 0:1.6
Requires:  ant >= 0:1.6
Requires:  jakarta-commons-el
Requires:  jakarta-commons-logging
Requires:  tomcat5-jasper
Requires:  jsp
Requires:  mx4j >= 0:3.0
Requires:  tomcat5-servlet-2.4-api
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

%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

# 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%{_sysconfdir}/init.d
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%{_sysconfdir}/init.d/%{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 || :
%__fe_useradd  %jtuid -r -s /sbin/nologin -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} ] && %{_sysconfdir}/init.d/%{name} stop
    [ -f %{_sysconfdir}/init.d/%{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 %{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}
%doc %{_docdir}/%{name}-%{version}/LICENSE.TXT
%doc %{_docdir}/%{name}-%{version}/VERSION.TXT
%{_sysconfdir}/init.d/%{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
* Tue Aug 28 2007 Jeff Johnston <jjohnstn at redhat.com> 5.1.12-1jpp.5
- Rename from jetty5 to jetty

* Mon Aug 27 2007 Jeff Johnston <jjohnstn at 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 at 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 at redhat.com> 5.1.12-1jpp.2
- Remove demo subpackage.

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

* Mon Aug 06 2007 Ben Konrath <bkonrath at 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 at 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 at 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 at 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 at 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 at r-apel.de> - 0:5.1.2-3jpp
- First JPP-1.7 release

* Mon Mar 14 2005 Ralph Apel <r.apel at 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 at 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 at 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 at 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 at 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 at 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 at r-apel.de> - 0:4.2.17-1jpp
- First JPackage release.


--- NEW FILE jetty5-OSGi-MANIFEST.MF ---
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 2.3 (IBM Corporation)
Import-Package: javax.net.ssl,javax.security.cert,javax.servlet;versio
 n="[2.4.0,2.5.0)",javax.servlet.http;version="[2.4.0,2.5.0)",javax.se
 rvlet.resources;version="[2.4.0,2.5.0)",javax.xml.parsers,org.apache.
 commons.logging;version="[1.0.0,2.0.0)",org.xml.sax,org.xml.sax.helpe
 rs
Bundle-ManifestVersion: 2
Export-Package: org.mortbay.html;version="5.1.11",org.mortbay.http;ver
 sion="5.1.11",org.mortbay.http.ajp;version="5.1.11",org.mortbay.http.
 handler;version="5.1.11",org.mortbay.http.nio;version="5.1.11",org.mo
 rtbay.jetty;version="5.1.11",org.mortbay.jetty.servlet;version="5.1.1
 1",org.mortbay.jetty.win32;version="5.1.11",org.mortbay.log;version="
 5.1.11",org.mortbay.servlet;version="5.1.11",org.mortbay.util;version
 ="5.1.11",org.mortbay.xml;version="5.1.11"
Bundle-Version: 5.1.11.v200706111724
Bundle-SymbolicName: org.mortbay.jetty
Bundle-Name: Jetty WebServer
Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J
 2SE-1.3
Bundle-Localization: plugin
Bundle-Vendor: Mort Bay Consulting, Pty. Ltd.


jetty5-PostFileFilter.patch:

--- NEW FILE jetty5-PostFileFilter.patch ---
--- src/org/mortbay/servlet/PostFileFilter.java.sav	2006-08-10 14:03:26.000000000 +0200
+++ src/org/mortbay/servlet/PostFileFilter.java	2006-08-10 14:04:24.000000000 +0200
@@ -30,7 +30,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import sun.reflect.ReflectionFactory.GetReflectionFactoryAction;
+//import sun.reflect.ReflectionFactory.GetReflectionFactoryAction;
 
 /* ------------------------------------------------------------ */
 /** PostFileFilter.

jetty5-TestRFC2616-libgcj-bad-date-parser.patch:

--- NEW FILE jetty5-TestRFC2616-libgcj-bad-date-parser.patch ---
--- test/src/org/mortbay/http/TestRFC2616.java~	2006-04-05 17:24:44.000000000 -0700
+++ test/src/org/mortbay/http/TestRFC2616.java	2006-08-08 12:47:50.000000000 -0700
@@ -296,7 +296,7 @@
 
             fields.put("D1","Sun, 6 Nov 1994 08:49:37 GMT");
             fields.put("D2","Sunday, 6-Nov-94 08:49:37 GMT");
-            fields.put("D3","Sun Nov  6 08:49:37 1994");
+            fields.put("D3","Sun Nov 6 08:49:37 1994");
             Date d1 = new Date(fields.getDateField("D1"));
             Date d2 = new Date(fields.getDateField("D2"));
             Date d3 = new Date(fields.getDateField("D3"));

jetty5-extra-j2ee-build_xml.patch:

--- NEW FILE jetty5-extra-j2ee-build_xml.patch ---
--- extra/j2ee/build.xml.sav	2006-06-20 19:17:28.000000000 +0200
+++ extra/j2ee/build.xml	2006-06-20 19:18:23.000000000 +0200
@@ -66,7 +66,7 @@
 
   <path id="xdoclet.classpath"> 
     <path refid="j2ee.classpath"/>
-    <fileset dir="${xdoclet.home}/lib">
+    <fileset dir="${xdoclet.home}">
       <include name="**/*.jar"/>
     </fileset>
   </path>

jetty5-libgcj-bad-serialization.patch:

--- NEW FILE jetty5-libgcj-bad-serialization.patch ---
--- test/src/org/mortbay/jetty/TestServer.java~	2005-08-13 10:12:14.000000000 -0700
+++ test/src/org/mortbay/jetty/TestServer.java	2006-08-08 11:24:55.000000000 -0700
@@ -96,19 +96,6 @@
 
         
         
-        System.err.println("Serialize and deserialize server");
-        
-        ObjectInputStream oi = new ObjectInputStream(new FileInputStream(tmp));
-        server = (Server)oi.readObject();
-        oi.close();
-        
-
-        System.err.println("start recovered server");
-        server.start();
-        assertTrue("restarted",server.isStarted());
-        server.stop();
-        assertTrue("restopped",!server.isStarted());
-        server.destroy();
     }
 
     /* ------------------------------------------------------------ */


--- NEW FILE jetty5.init ---
#!/bin/sh
#
# jetty5	This shell script takes care of starting and stopping jetty
#
# chkconfig: - 80 20
# description: The Jetty Webserver and Servlet Container
# processname: jetty
# pidfile: /var/run/jetty5/jetty5.pid
# config:  /etc/jetty5/jetty5.conf
#
#
# Portions from tomcat4.init by:
#
# Gomez Henri <hgomez at users.sourceforge.net>
# Keith Irwin <keith_irwin at non.hp.com>
# Nicolas Mailhot <nicolas.mailhot at one2team.com>
#
#


# Source function library.
if [ -x /etc/rc.d/init.d/functions ]; then
    . /etc/rc.d/init.d/functions
fi

[ -r /etc/java/java.conf ] && . /etc/java/java.conf
export JAVA_HOME

# Get Jetty5's config
                                                                                                                                                             
JETTY_CFG="/etc/jetty5/jetty5.conf"
                                                                                                                                                             
[ -r "$JETTY_CFG" ] && . "${JETTY_CFG}"

# Path to the jetty5 launch script (direct don't use the wrapper)
JETTY_SCRIPT=/usr/bin/djetty5

# if JETTY_USER is not set, use jetty5
if [ -z "$JETTY_USER" ]; then
    JETTY_USER="jetty5"
fi
                                                                                                                                                             
# if JETTY_HOME is not set, use /usr/share/jetty5
if [ -z "$JETTY_HOME" ]; then
    JETTY_HOME="/usr/share/jetty5"
fi

if [ -z "$SHUTDOWN_WAIT" ]; then
    SHUTDOWN_WAIT=10
fi

if [ -z "$JETTY_PID" ]; then
    JETTY_PID=/var/run/jetty5/jetty5.pid
fi


RETVAL=0

start() {
    echo -n "Starting $JETTY_PROG: "

        if [ -f /var/lock/subsys/jetty5 ] ; then
                if [ -f $JETTY_PID ]; then
                        read kpid < $JETTY_PID
                        if checkpid $kpid 2>&1; then
                                echo "process already running"
                                return -1
                        else
                                echo "lock file found but no process running for pid $kpid, continuing"
                        fi
                fi
        fi

#        touch $JETTY_PID
#        chown $JETTY_USER:$JETTY_USER $JETTY_PID

#	[ -x ${JETTY_HOME}/ext ] &&
#	  	rebuild-jar-repository -s ${JETTY_HOME}/ext

        if [ -x /etc/rc.d/init.d/functions ]; then
                daemon --user $JETTY_USER $JETTY_SCRIPT start
        else
                su - $JETTY_USER -c "$JETTY_SCRIPT start"
        fi

        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch /var/lock/subsys/jetty5
        return $RETVAL
}


stop() {
    echo -n "Stopping $JETTY_PROG: "
                                                                                                                                                             
    if [ -f /var/lock/subsys/jetty5 ] ; then
      if [ -x /etc/rc.d/init.d/functions ]; then
          daemon --user $JETTY_USER $JETTY_SCRIPT stop
      else
          su - $JETTY_USER -c "$JETTY_SCRIPT stop"
      fi
      RETVAL=$?

      if [ $RETVAL = 0 ]; then
        count=0;

        if [ -f /var/run/jetty5/jetty5.pid ]; then

            read kpid < $JETTY_PID
            let kwait=$SHUTDOWN_WAIT

            until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ]
            do
                echo "waiting for processes to exit";
                sleep 1
                let count=$count+1;
            done
                                                                                                                                                             
            if [ $count -gt $kwait ]; then
                echo "killing processes which didn't stop after $SHUTDOWN_WAIT seconds"
                kill -9 $kpid
            fi
        fi
        rm -f /var/lock/subsys/jetty5 $JETTY_PID
      fi
    fi
}



# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        stop
        sleep 2
        start
        ;;
  condrestart)
        if [ -f $JETTY_PID ] ; then
                stop
                start
        fi
        ;;
  *)
        echo "Usage: $JETTY_PROG {start|stop|restart|condrestart}"
        exit 1
esac
                                                                                                                                                             
exit $RETVAL

#
#
# end


--- NEW FILE jetty5.logrotate ---
/var/log/jetty5/jetty-console.log {
    copytruncate
    weekly
    rotate 52
    compress
    missingok
}


--- NEW FILE jetty5.script ---
#!/bin/sh
#
# Wrapper script for Jetty5, to be sure it will allways
# be run with correct user profile (jetty5 by default)
#
# derived from stuff in tomcat5.init
#
# Gomez Henri <hgomez at slib.fr>
# Keith Irwin <keith_irwin at non.hp.com>
# Nicolas Mailhot <nicolas.mailhot at one2team.com>
#
# version 1.01 - Fix webapps dir permissions
#

[ -r /etc/java/java.conf ] && . /etc/java/java.conf
export JAVA_HOME

# Path to the jetty launch script
JETTY_SCRIPT=/usr/bin/djetty5

# Jetty name :)
JETTY_PROG=jetty5

# if JETTY_USER is not set, use jetty5
if [ -z "$JETTY_USER" ]; then
    JETTY_USER="jetty5"
fi

# if JETTY_HOME is not set, use /usr/share/jetty5
if [ -z "$JETTY_HOME" ]; then
    JETTY_HOME="/usr/share/jetty5"
fi

pushd ${JETTY_HOME}/ext
    rm -f jcert.jar
    ln -s $(build-classpath jsse/jcert)
    rm -f jnet.jar
    ln -s $(build-classpath jsse/jnet)
    rm -f jsse.jar
    ln -s $(build-classpath jsse/jsse)
popd



RETVAL=0

su - $JETTY_USER -c "$JETTY_SCRIPT $@"
RETVAL=$?
exit $RETVAL


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/jetty/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	28 Aug 2007 18:46:03 -0000	1.1
+++ .cvsignore	28 Aug 2007 21:44:54 -0000	1.2
@@ -0,0 +1 @@
+jetty-5.1.12.fedora.zip


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/jetty/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	28 Aug 2007 18:46:03 -0000	1.1
+++ sources	28 Aug 2007 21:44:54 -0000	1.2
@@ -0,0 +1 @@
+7c6af7ed3365b136b55e752df8dead6f  jetty-5.1.12.fedora.zip




More information about the scm-commits mailing list