1 %define apxs /usr/sbin/apxs1
3 %include /usr/lib/rpm/macros.java
4 Summary: Servlet engine with support for the leading web server
5 Summary(pl.UTF-8): Silnik serwletów ze wsparciem dla wiodącego serwera WWW
9 License: freely distributable & usable
10 Group: Networking/Daemons
11 Source0: http://java.apache.org/jserv/dist/%{name}-%{version}.tar.gz
12 # Source0-md5: 6d48a1b9fcc5eea4dfebaae29ba5a485
15 Source4: %{name}.sysconfig
17 Patch0: %{name}-enable-secret.patch
18 Patch1: %{name}-ac.patch
19 Patch2: %{name}-jre-env.patch
20 Patch3: %{name}-config.patch
21 URL: http://archive.apache.org/dist/java/jserv/
22 BuildRequires: apache1-devel >= 1.3.9-8
23 BuildRequires: autoconf
24 BuildRequires: automake
25 BuildRequires: gettext-tools
27 BuildRequires: jpackage-utils
28 BuildRequires: rpm-javaprov
29 BuildRequires: rpmbuild(macros) >= 1.300
30 BuildRequires: sed >= 4.0
31 BuildRequires: servlet = 2.0
32 Requires(post,preun): rc-scripts
33 Requires(pre): /bin/id
34 Requires(pre): /usr/bin/getgid
35 Requires(pre): /usr/sbin/groupadd
36 Requires(pre): /usr/sbin/useradd
37 Requires: jpackage-utils
39 Requires: rc-scripts >= 0.4.0.19
40 Requires: servlet = 2.0
41 Provides: group(jserv)
43 Obsoletes: ApacheJServ-doc
44 Obsoletes: ApacheJServ-init
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 %define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
49 %define httpdconf %(%{apxs} -q SYSCONFDIR 2>/dev/null)
50 %define _sysconfdir /etc/jserv
53 Apache JServ is a servlet engine, developed by the Java Apache Project
54 <http://java.apache.org/>. The Apache JServ servlet engine is written
55 in 100pc Java application, and listens for servlet requests using the
56 Apache Java protocol (AJp). Typically, these requests will originate
57 from the mod_jserv Apache module (DSO included).
59 %description -l pl.UTF-8
60 Apache JServ jest silnikiem serwletowym, rozwijanym przez Java Apache
61 Project <http://java.apache.org/>. Silnik serwletowy Apache JServ
62 został napisany od początku do końca w Javie; nasłuchuje wywołań
63 serwletu wykorzystując protokół Apache Java (AJp). Zazwyczaj wywołania
64 te pochodzą z modułu Apache mod_jservmodule (łącznie z DSO).
66 %package -n apache1-mod_jserv
67 Summary: JServ module for Apache
68 Summary(pl.UTF-8): Moduł JServ dla Apache'a
69 Group: Networking/Daemons
70 Requires: apache1-base >= 1.3.33-2
71 Obsoletes: ApacheJServ-auto
73 %description -n apache1-mod_jserv
74 JServ module for Apache.
76 %description -n apache1-mod_jserv -l pl.UTF-8
77 Moduł JServ dla Apache'a.
86 # servlet-2.0 is the highest version the jserv code compiles with
87 servlet_jar=$(find-jar servlet-2.0)
89 s|@JSDK_CLASSES@|$servlet_jar|g
91 " conf/jserv.properties.in
93 # do not load module in provided jserv.conf; we do this in httpd.conf
94 %{__sed} -i -e 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in
96 # we don't want gcj related deps
97 %{__sed} -i -e '/^SUBDIRS/s,java,,' src/Makefile.am
98 %{__sed} -i -e '/^SUBDIRS/s,example,,' Makefile.am
101 export JAVA_HOME="%{java_home}"
102 if [ ! -f _autotools.stamp ]; then
108 touch _autotools.stamp
112 CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}"
115 %{!?debug:--disable-debugging} \
116 --with-apxs=%{apxs} \
117 --with-logdir=/var/log/jserv \
118 --with-servlets=%{_datadir}/jserv/servlets \
119 --with-java-platform=1.4 \
120 --with-JSDK=$(find-jar servlet-2.0) \
121 %{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=$dir JAVAC_OPT="-source 1.4"} \
122 %{!?with_gcj:--with-javac=%{javac} --with-java=%{java} --with-jdk-home=$JAVA_HOME} \
123 %{?with_gcj:--with-javac=%{_bindir}/gcj --with-jar=%{_bindir}/fastjar} \
125 %{__make} %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
130 rm -rf $RPM_BUILD_ROOT
131 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{httpdconf}/conf.d,%{_javadir},%{_sbindir}}
133 install %{SOURCE2} $RPM_BUILD_ROOT%{httpdconf}/conf.d/80_mod_jserv.conf
134 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
135 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/jserv
136 install %{SOURCE5} $RPM_BUILD_ROOT%{_sbindir}
139 DESTDIR=$RPM_BUILD_ROOT
141 # we removed java from SUBDIRS, so do it manually
143 %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
145 DESTDIR=$RPM_BUILD_ROOT
147 > $RPM_BUILD_ROOT%{httpdconf}/jserv.secret.key
148 > $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key
150 install -d $RPM_BUILD_ROOT%{_datadir}/jserv/servlets
153 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/jserv.conf
154 rm -rf $RPM_BUILD_ROOT%{_prefix}/docs
157 rm -rf $RPM_BUILD_ROOT
160 %groupadd -g 154 jserv
161 %useradd -u 154 -g jserv -d /etc/jserv -c "JServ User" jserv
164 if [ ! -s %{_sysconfdir}/jserv.secret.key ]; then
165 if [ -s %{httpdconf}/jserv.secret.key ]; then
166 cat %{httpdconf}/jserv.secret.key > %{_sysconfdir}/jserv.secret.key
168 dd if=/dev/urandom bs=1 count=42 2>/dev/null \
169 | (md5sum 2>/dev/null || cat) > %{_sysconfdir}/jserv.secret.key
172 /sbin/chkconfig --add jserv
173 %service jserv restart "Apache JServ Daemon"
176 if [ "$1" = 0 ]; then
178 /sbin/chkconfig --del jserv
182 if [ "$1" = "0" ]; then
187 %post -n apache1-mod_jserv
188 if [ ! -s %{httpdconf}/jserv.secret.key ]; then
189 if [ -s %{_sysconfdir}/jserv.secret.key ]; then
190 cat %{_sysconfdir}/jserv.secret.key > %{httpdconf}/jserv.secret.key
192 dd if=/dev/urandom bs=1 count=42 2>/dev/null \
193 | (md5sum 2>/dev/null || cat) > %{httpdconf}/jserv.secret.key
196 %service -q apache restart
198 %postun -n apache1-mod_jserv
199 if [ "$1" = "0" ]; then
200 %service -q apache restart
204 %defattr(644,root,root,755)
207 %dir %attr(750,root,jserv) %{_sysconfdir}
208 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.secret.key
209 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.properties
210 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zone.properties
211 %attr(754,root,root) /etc/rc.d/init.d/jserv
212 %attr(755,root,root) %{_sbindir}/runjserv
213 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/jserv
214 %{_javadir}/ApacheJServ.jar
215 %dir %{_datadir}/jserv
216 %dir %attr(750,root,jserv) %{_datadir}/jserv/servlets
217 %attr(770,root,jserv) %dir /var/log/jserv
219 %files -n apache1-mod_jserv
220 %defattr(644,root,root,755)
221 %attr(755,root,root) %{_pkglibdir}/mod_jserv.so
222 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/conf.d/80_mod_jserv.conf
223 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/jserv.secret.key