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-devel
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
51 %define _noautocompressdoc package-list
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.
87 # servlet-2.0 is the highest version the jserv code compiles with
89 s|@JSDK_CLASSES@|$(find-jar servlet-2.0)|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