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 Patch4: doc-overwrite.patch
22 URL: http://archive.apache.org/dist/java/jserv/
23 BuildRequires: apache1-devel >= 1.3.9-8
24 BuildRequires: autoconf
25 BuildRequires: automake
26 BuildRequires: gettext-tools
28 BuildRequires: jpackage-utils
29 BuildRequires: rpm-javaprov
30 BuildRequires: rpmbuild(macros) >= 1.300
31 BuildRequires: sed >= 4.0
32 BuildRequires: servlet = 2.0
33 Requires(post,preun): rc-scripts
34 Requires(pre): /bin/id
35 Requires(pre): /usr/bin/getgid
36 Requires(pre): /usr/sbin/groupadd
37 Requires(pre): /usr/sbin/useradd
38 Requires: jpackage-utils
40 Requires: rc-scripts >= 0.4.0.19
41 Requires: servlet = 2.0
42 Provides: group(jserv)
44 Obsoletes: ApacheJServ-doc
45 Obsoletes: ApacheJServ-init
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 %define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
50 %define httpdconf %(%{apxs} -q SYSCONFDIR 2>/dev/null)
51 %define _sysconfdir /etc/jserv
54 Apache JServ is a servlet engine, developed by the Java Apache Project
55 <http://java.apache.org/>. The Apache JServ servlet engine is written
56 in 100pc Java application, and listens for servlet requests using the
57 Apache Java protocol (AJp). Typically, these requests will originate
58 from the mod_jserv Apache module (DSO included).
60 %description -l pl.UTF-8
61 Apache JServ jest silnikiem serwletowym, rozwijanym przez Java Apache
62 Project <http://java.apache.org/>. Silnik serwletowy Apache JServ
63 został napisany od początku do końca w Javie; nasłuchuje wywołań
64 serwletu wykorzystując protokół Apache Java (AJp). Zazwyczaj wywołania
65 te pochodzą z modułu Apache mod_jservmodule (łącznie z DSO).
67 %package -n apache1-mod_jserv
68 Summary: JServ module for Apache
69 Summary(pl.UTF-8): Moduł JServ dla Apache'a
70 Group: Networking/Daemons
71 Requires: apache1-base >= 1.3.33-2
72 Obsoletes: ApacheJServ-auto
74 %description -n apache1-mod_jserv
75 JServ module for Apache.
77 %description -n apache1-mod_jserv -l pl.UTF-8
78 Moduł JServ dla Apache'a.
88 # servlet-2.0 is the highest version the jserv code compiles with
89 servlet_jar=$(find-jar servlet-2.0)
91 s|@JSDK_CLASSES@|$servlet_jar|g
93 " conf/jserv.properties.in
95 # do not load module in provided jserv.conf; we do this in httpd.conf
96 %{__sed} -i -e 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in
98 # we don't want gcj related deps
99 %{__sed} -i -e '/^SUBDIRS/s,java,,' src/Makefile.am
100 %{__sed} -i -e '/^SUBDIRS/s,example,,' Makefile.am
103 export JAVA_HOME="%{java_home}"
104 if [ ! -f _autotools.stamp ]; then
110 touch _autotools.stamp
114 CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}"
117 %{!?debug:--disable-debugging} \
118 --with-apxs=%{apxs} \
119 --with-logdir=/var/log/jserv \
120 --with-servlets=%{_datadir}/jserv/servlets \
121 --with-java-platform=1.4 \
122 --with-JSDK=$(find-jar servlet-2.0) \
123 %{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=$dir JAVAC_OPT="-source 1.4"} \
124 %{!?with_gcj:--with-javac=%{javac} --with-java=%{java} --with-jdk-home=$JAVA_HOME} \
125 %{?with_gcj:--with-javac=%{_bindir}/gcj --with-jar=%{_bindir}/fastjar} \
127 %{__make} %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
132 rm -rf $RPM_BUILD_ROOT
133 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{httpdconf}/conf.d,%{_javadir},%{_sbindir}}
135 install %{SOURCE2} $RPM_BUILD_ROOT%{httpdconf}/conf.d/80_mod_jserv.conf
136 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
137 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/jserv
138 install %{SOURCE5} $RPM_BUILD_ROOT%{_sbindir}
141 DESTDIR=$RPM_BUILD_ROOT
143 # we removed java from SUBDIRS, so do it manually
145 %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
147 DESTDIR=$RPM_BUILD_ROOT
149 > $RPM_BUILD_ROOT%{httpdconf}/jserv.secret.key
150 > $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key
152 install -d $RPM_BUILD_ROOT%{_datadir}/jserv/servlets
155 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/jserv.conf
156 rm -rf $RPM_BUILD_ROOT%{_prefix}/docs
159 rm -rf $RPM_BUILD_ROOT
162 %groupadd -g 154 jserv
163 %useradd -u 154 -g jserv -d /etc/jserv -c "JServ User" jserv
166 if [ ! -s %{_sysconfdir}/jserv.secret.key ]; then
167 if [ -s %{httpdconf}/jserv.secret.key ]; then
168 cat %{httpdconf}/jserv.secret.key > %{_sysconfdir}/jserv.secret.key
170 dd if=/dev/urandom bs=1 count=42 2>/dev/null \
171 | (md5sum 2>/dev/null || cat) > %{_sysconfdir}/jserv.secret.key
174 /sbin/chkconfig --add jserv
175 %service jserv restart "Apache JServ Daemon"
178 if [ "$1" = 0 ]; then
180 /sbin/chkconfig --del jserv
184 if [ "$1" = "0" ]; then
189 %post -n apache1-mod_jserv
190 if [ ! -s %{httpdconf}/jserv.secret.key ]; then
191 if [ -s %{_sysconfdir}/jserv.secret.key ]; then
192 cat %{_sysconfdir}/jserv.secret.key > %{httpdconf}/jserv.secret.key
194 dd if=/dev/urandom bs=1 count=42 2>/dev/null \
195 | (md5sum 2>/dev/null || cat) > %{httpdconf}/jserv.secret.key
198 %service -q apache restart
200 %postun -n apache1-mod_jserv
201 if [ "$1" = "0" ]; then
202 %service -q apache restart
206 %defattr(644,root,root,755)
209 %dir %attr(750,root,jserv) %{_sysconfdir}
210 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.secret.key
211 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.properties
212 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zone.properties
213 %attr(754,root,root) /etc/rc.d/init.d/jserv
214 %attr(755,root,root) %{_sbindir}/runjserv
215 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/jserv
216 %{_javadir}/ApacheJServ.jar
217 %dir %{_datadir}/jserv
218 %dir %attr(750,root,jserv) %{_datadir}/jserv/servlets
219 %attr(770,root,jserv) %dir /var/log/jserv
221 %files -n apache1-mod_jserv
222 %defattr(644,root,root,755)
223 %attr(755,root,root) %{_pkglibdir}/mod_jserv.so
224 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/conf.d/80_mod_jserv.conf
225 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/jserv.secret.key