2 # - separate package for jsdk?
5 %bcond_with gcj # use GCJ instead of javac
7 %define apxs /usr/sbin/apxs1
8 %define jsdkversion 20000924
9 Summary: Servlet engine with support for the leading web server
10 Summary(pl): Silnik serwletów ze wsparciem dla wiod±cego serwera WWW
14 License: freely distributable & usable (JServ), LGPL (JSDK)
15 Group: Networking/Daemons
16 Source0: http://java.apache.org/jserv/dist/%{name}-%{version}.tar.gz
17 # Source0-md5: 6d48a1b9fcc5eea4dfebaae29ba5a485
18 Source1: http://www.euronet.nl/~pauls/java/servlet/download/classpathx_servlet-%{jsdkversion}.tar.gz
19 # Source1-md5: a81feddb91b1358f9aaed94e83eddb54
22 Patch0: %{name}-enable-secret.patch
23 Patch1: %{name}-ac.patch
24 Patch2: %{name}-jre-env.patch
25 URL: http://java.apache.org/
26 BuildRequires: apache1-devel >= 1.3.9-8
27 BuildRequires: rpmbuild(macros) >= 1.228
28 BuildRequires: sed >= 4.0
30 BuildRequires: gcc-java
31 BuildRequires: fastjar
33 Requires: /usr/bin/gij
35 BuildRequires: java-sun
36 Requires: java-sun-jre
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42 %define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
43 %define httpdconf %(%{apxs} -q SYSCONFDIR 2>/dev/null)
44 %define _sysconfdir /etc/jserv
45 %define logdir /var/log/jserv
46 %define servletdir %{_datadir}/jserv/servlets
47 %define _noautocompressdoc package-list
50 Apache JServ is a servlet engine, developed by the Java Apache Project
51 <http://java.apache.org/>. The Apache JServ servlet engine is written
52 in 100pc Java application, and listens for servlet requests using the
53 Apache Java protocol (AJp). Typically, these requests will originate
54 from the mod_jserv Apache module (DSO included). This package contains
55 a LGPL'ed implementation of Sun's Java Servlet API version 2.0 by Paul
56 Siegmann <http://www.euronet.nl/~pauls/java/servlet/>.
59 Apache JServ jest silnikiem serwletowym, rozwijanym przez Java Apache
60 Project <http://java.apache.org/>. Silnik serwletowy Apache JServ
61 zosta³ napisany od pocz±tku do koñca w Javie; nas³uchuje wywo³añ
62 serwletu wykorzystuj±c protokó³ Apache Java (AJp). Zazwyczaj wywo³ania
63 te pochodz± z modu³u Apache mod_jservmodule (³±cznie z DSO). Pakiet
64 ten zawiera implementacjê Java Servlet API Suna w wersji 2.0 napisan±
65 przez Paula Siegmanna (na licencji LGPL)
66 <http://www.euronet.nl/~pauls/java/servlet/>.
68 %package -n apache1-mod_jserv
69 Summary: JServ module for Apache
70 Summary(pl): Modu³ JServ dla Apache'a
71 Group: Networking/Daemons
72 Requires: %{name} = %{version}-%{release}
73 Requires: apache1 >= 1.3.33-2
75 %description -n apache1-mod_jserv
76 JServ module for Apache.
78 %description -n apache1-mod_jserv -l pl
79 Modu³ JServ dla Apache'a.
82 Summary: ApacheJServ initscript
83 Summary(pl): Skrypt startowy ApacheJServ
84 Group: Development/Languages/Java
85 Requires: %{name} = %{version}-%{release}
86 Requires(pre): /bin/id
87 Requires(pre): /usr/bin/getgid
88 Requires(pre): /usr/sbin/useradd
89 Requires(pre): /usr/sbin/groupadd
90 Requires(post,preun): rc-scripts
93 JServ initscript for standalone mode.
95 %description init -l pl
96 Skrypt startowy JServ dla trybu samodzielnego.
99 Summary: ApacheJServ documentation
100 Summary(pl): Dokumentacja do ApacheJServ
101 Group: Development/Languages/Java
104 ApacheJserv documentation.
106 %description doc -l pl
107 Dokumentacja do ApacheJServ.
116 s|@JSDK_CLASSES@|%{_javadir}/servlet-2.0.jar|g
117 ' conf/jserv.properties.in
119 # do not load module in provided jserv.conf; we do this in httpd.conf
120 sed -i -e 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in
122 # we don't want gcj related deps
123 sed -i -e '/^SUBDIRS/s,java,,' src/Makefile.am
124 sed -i -e '/^SUBDIRS/s,example,,' Makefile.am
127 if [ ! -f _autotools.done.1 ]; then
133 touch _autotools.done.1
136 # prepare compilation
137 if [ ! -f classpathx_servlet-%{jsdkversion}/servlet-2.0.jar ]; then
138 %{__make} -C classpathx_servlet-%{jsdkversion} jar_2_0
141 if [ ! -d jsdk-doc ]; then
142 %{__make} -C classpathx_servlet-%{jsdkversion}/apidoc
146 cp classpathx_servlet-%{jsdkversion}/{README,AUTHORS,COPYING.LIB} jsdk-doc
147 cp -r classpathx_servlet-%{jsdkversion}/apidoc jsdk-doc
151 CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}"
153 %{!?debug:--disable-debugging} \
154 --with-apxs=%{apxs} \
155 --with-logdir=%{logdir} \
156 --with-servlets=%{servletdir} \
157 %{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=`pwd` JAVAC_OPT="-source 1.4"} \
158 %{!?with_gcj:--with-javac=%{_bindir}/javac --with-java=%{_bindir}/java --with-jdk-home=%{_libdir}/java} \
159 %{?with_gcj:--with-javac=%{_bindir}/gcj --with-jar=%{_bindir}/fastjar} \
160 --with-JSDK=`pwd`/classpathx_servlet-%{jsdkversion}/servlet-2.0.jar
162 %{__make} %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
167 rm -rf $RPM_BUILD_ROOT
168 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{httpdconf}/conf.d,%{_javadir}}
170 install %{SOURCE2} $RPM_BUILD_ROOT%{httpdconf}/conf.d/81_mod_jserv.conf
171 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
174 DESTDIR=$RPM_BUILD_ROOT
176 # we removed java from SUBDIRS, so do it manually
178 %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
180 DESTDIR=$RPM_BUILD_ROOT
182 echo "default - change on install" > $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key
185 install classpathx_servlet-%{jsdkversion}/servlet-2.0.jar $RPM_BUILD_ROOT%{_javadir}
187 find jsdk-doc -name 'Makefile*' | xargs rm -f
188 rm -rf jsdk-doc/{COPYING.LIB,CVS} jsdk-doc/apidoc/CVS
191 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/jserv.conf
194 rm -rf $RPM_BUILD_ROOT
197 if [ "$1" = 1 ]; then
198 dd if=/dev/urandom bs=1 count=42 2>/dev/null \
199 | (md5sum 2>/dev/null || cat) > %{_sysconfdir}/jserv.secret.key
202 %post -n apache1-mod_jserv
203 %service apache restart
205 %postun -n apache1-mod_jserv
206 if [ "$1" = "0" ]; then
207 %service -q apache restart
211 %groupadd -P %{name}-init -g 154 jserv
212 %useradd -P %{name}-init -u 154 -g jserv -d /etc/jserv -c "JServ User" jserv
215 /sbin/chkconfig --add jserv
218 if [ "$1" = 0 ]; then
219 if [ -f /var/lock/subsys/jserv ]; then
220 /etc/rc.d/init.d/jserv stop 1>&2
222 /sbin/chkconfig --del jserv
226 if [ "$1" = "0" ]; then
232 %defattr(644,root,root,755)
235 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.properties
236 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zone.properties
237 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.secret.key
238 %{_javadir}/ApacheJServ.jar
239 %{_javadir}/servlet-2.0.jar
243 %{servletdir}/Hello.java
244 %{servletdir}/Hello.class
245 %{servletdir}/IsItWorking.java
246 %{servletdir}/IsItWorking.class
249 %files -n apache1-mod_jserv
250 %defattr(644,root,root,755)
251 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/conf.d/*_mod_jserv.conf
252 %attr(755,root,root) %{_pkglibdir}/mod_jserv.so
253 %attr(770,root,http) %dir %{logdir}
256 %defattr(644,root,root,755)
257 %attr(754,root,root) /etc/rc.d/init.d/jserv
260 %defattr(644,root,root,755)