Sophie

Sophie

distrib > Mandriva > 2006.0 > i586 > by-pkgid > 7d8006e0e348a8f13aea2fe6392bc1d7 > files > 6

jetty4-4.2.20-1jpp.src.rpm

%define section     free
%define name        jetty4
%define jettyname   jetty
%define jtuid       111
%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:           %{name}
Version:        4.2.20
Release:        1jpp
Epoch:          0
Summary:        The Jetty Webserver and Servlet Container

Group:          Networking/Daemons
License:        Open Source
URL:            http://jetty.mortbar.org/jetty/
Source0:        %{jettyname}-%{version}-all.tar.gz
Source1:        jetty4.script
Source2:        jetty4.init
Patch0:         jetty4-build_xml.patch
Patch1:         jetty-4.2-djetty.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Distribution:   JPackage
Vendor:         JPackage Project

BuildArch:      noarch
BuildRequires:  jpackage-utils >= 0:1.5.38, ant >= 0:1.5.4
BuildRequires:  servletapi4 >= 0:4.0.4
BuildRequires:  jsse
BuildRequires:  xerces-j2 >= 0:2.6.2
BuildRequires:  xml-commons-apis >= 0:1.0
BuildRequires:  mx4j >= 0:1.1.1
BuildRequires:  jasper4 >= 0:4.1.30
BuildRequires:  perl >= 0:5.005
Requires:  chkconfig
Requires:  jpackage-utils >= 0:1.5.38, ant >= 0:1.5.4
Requires:  servletapi4 >= 0:4.0.4
Requires:  jsse
Requires:  xerces-j2 >= 0:2.6.2
Requires:  xml-commons-apis >= 0:1.0
Requires:  mx4j >= 0:1.1.1
Requires:  jasper4 >= 0:4.1.30

%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:          Development/Documentation

%description    javadoc
%{summary}.

%package        demo
Summary:        Examples for %{name}
Group:          Development/Documentation
Requires:       %{name} = 0:%{version}

%description    demo
%{summary}.

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

%description    manual
%{summary}.


%prep
%setup -q -n %{jettyname}-%{version}
find . -name "*.jar" -exec rm {} \;
find . -name "*.war" -exec rm {} \;
echo jboss.home = /var/lib/jboss >> ant.properties

%patch0 -p0 -b .orig
#%patch0 -p0
%patch1 -p1 -b .orig
#%patch1 -p1

%build
export CLASSPATH=$(build-classpath \
servletapi4 \
jsse \
jta \
log4j \
xerces-j2 \
xml-commons-apis \
mx4j/mx4j-jmx \
mx4j/mx4j-tools \
jasper4-compiler \
jasper4-runtime \
)

ant  -Dbuild.sysclasspath=first all


%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%{_javadir}
install -dm 755 $RPM_BUILD_ROOT%{confdir}
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%{libdir}
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 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 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}
install -pm 644 lib/org.mortbay.jetty.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
install -pm 644 lib/org.mortbay.jmx.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-jmx-%{version}.jar
install -pm 644 lib/javax.servlet.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-servlet-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && 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}.jar org.mortbay.jetty.jar
  ln -sf %{_javadir}/%{name}-jmx.jar org.mortbay.jmx.jar
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/jetty4.pid
EO_RC
) > $RPM_BUILD_ROOT%{homedir}/.jettyrc


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

# javadoc
cp -pr webapps/* $RPM_BUILD_ROOT%{appdir}
install -dm 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
pushd $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
unzip -q $RPM_BUILD_ROOT%{appdir}/javadoc.war
popd
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink

# manual
install -dm 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
cp -p {LICENSE.html,VERSION.TXT} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
mv $RPM_BUILD_ROOT%{demodir}/webapps/jetty/* \
                $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
rm -rf $RPM_BUILD_ROOT%{appdir}/jetty


pushd $RPM_BUILD_ROOT%{homedir}
   [ -d conf ]    || ln -fs %{confdir}   conf
   [ -d demo ]    || ln -fs %{demodir}   demo
   [ -d logs ]    || ln -fs %{logdir}    logs
   [ -d lib ]     || ln -fs %{libdir}    lib
   [ -d temp ]    || ln -fs %{tempdir}   temp
   [ -d webapps ] || ln -fs %{appdir}    webapps
popd

#fix paths

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


%clean
rm -rf $RPM_BUILD_ROOT

%pre
# Add the "jetty4" user and group
# we need a shell to be able to use su - later
%{_sbindir}/groupadd -g %{jtuid} -r %{name} 2> /dev/null || :
%{_sbindir}/useradd -c "Jetty4" -u %{jtuid} -g %{name} \
    -s /bin/sh -d %{homedir} %{name} 2> /dev/null || :

%post
/sbin/chkconfig --add %{name}

# create the jar repository
build-jar-repository -s %{homedir}/ext \
   ant \
   jasper4-compiler \
   jasper4-runtime \
   mx4j/mx4j-jmx \
   mx4j/mx4j-tools \
   servletapi4 \
   xerces-j2 \
   xml-commons-apis \
   jsse/jcert \
   jsse/jnet \
   jsse/jsse

%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}
rm -f %{homedir}/javadoc
ln -s %{_javadocdir}/%{name} %{homedir}/javadoc

%post manual
rm -f %{demodir}/webapps/jetty
mkdir -p %{demodir}/webapps
ln -s %{_docdir}/%{name}-%{version} %{demodir}/webapps/jetty


%preun
if [ $1 = 0 ]; then
    [ -f /var/lock/subsys/%{name} ] && %{_sysconfdir}/init.d/%{name} stop
    [ -f %{_sysconfdir}/init.d/%{name} ] && /sbin/chkconfig --del %{name}

    %{_sbindir}/userdel %{name} >> /dev/null 2>&1 || :
    %{_sbindir}/groupdel %{name} >> /dev/null 2>&1 || :

    # Remove automated symlinks
    for repository in %{homedir}/ext ; do
        find $repository -name '\[*\]*.jar' -not -type d -exec rm -f {} \;
    done
fi


%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_javadir}/*
%config %{confdir}
%{libdir}
%{homedir}
%dir %{demodir}
%attr(755, jetty4, jetty4) %{logdir}
%attr(755, jetty4, jetty4) %{tempdir}
%attr(755, jetty4, jetty4) %{rundir}
%dir %{appdir}
%doc %{_docdir}/%{name}-%{version}/LICENSE.html
%doc %{_docdir}/%{name}-%{version}/VERSION.TXT
%config %{_sysconfdir}/init.d/%{name}

%files demo
%defattr(-,root,root,-)
%{demodir}

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

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


%changelog
* 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.