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
38 Requires: rc-scripts >= 0.4.0.19
39 Requires: servlet = 2.0
40 Provides: group(jserv)
42 Obsoletes: ApacheJServ-doc
43 Obsoletes: ApacheJServ-init
45 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 %define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
48 %define httpdconf %(%{apxs} -q SYSCONFDIR 2>/dev/null)
49 %define _sysconfdir /etc/jserv
50 %define _noautocompressdoc package-list
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
88 s|@JSDK_CLASSES@|$(find-jar servlet-2.0)|g
90 " conf/jserv.properties.in
92 # do not load module in provided jserv.conf; we do this in httpd.conf
93 sed -i -e 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in
95 # we don't want gcj related deps
96 sed -i -e '/^SUBDIRS/s,java,,' src/Makefile.am
97 sed -i -e '/^SUBDIRS/s,example,,' Makefile.am
100 export JAVA_HOME="%{java_home}"
101 if [ ! -f _autotools.stamp ]; then
107 touch _autotools.stamp
111 CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}"
114 %{!?debug:--disable-debugging} \
115 --with-apxs=%{apxs} \
116 --with-logdir=/var/log/jserv \
117 --with-servlets=%{_datadir}/jserv/servlets \
118 --with-java-platform=1.4 \
119 --with-JSDK=$(find-jar servlet-2.0) \
120 %{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=$dir JAVAC_OPT="-source 1.4"} \
121 %{!?with_gcj:--with-javac=%{javac} --with-java=%{java} --with-jdk-home=$JAVA_HOME} \
122 %{?with_gcj:--with-javac=%{_bindir}/gcj --with-jar=%{_bindir}/fastjar} \
124 %{__make} %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
129 rm -rf $RPM_BUILD_ROOT
130 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{httpdconf}/conf.d,%{_javadir},%{_sbindir}}
132 install %{SOURCE2} $RPM_BUILD_ROOT%{httpdconf}/conf.d/80_mod_jserv.conf
133 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
134 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/jserv
135 install %{SOURCE5} $RPM_BUILD_ROOT%{_sbindir}
138 DESTDIR=$RPM_BUILD_ROOT
140 # we removed java from SUBDIRS, so do it manually
142 %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
144 DESTDIR=$RPM_BUILD_ROOT
146 > $RPM_BUILD_ROOT%{httpdconf}/jserv.secret.key
147 > $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key
149 install -d $RPM_BUILD_ROOT%{_datadir}/jserv/servlets
152 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/jserv.conf
153 rm -rf $RPM_BUILD_ROOT%{_prefix}/docs
156 rm -rf $RPM_BUILD_ROOT
159 %groupadd -g 154 jserv
160 %useradd -u 154 -g jserv -d /etc/jserv -c "JServ User" jserv
163 if [ ! -s %{_sysconfdir}/jserv.secret.key ]; then
164 if [ -s %{httpdconf}/jserv.secret.key ]; then
165 cat %{httpdconf}/jserv.secret.key > %{_sysconfdir}/jserv.secret.key
167 dd if=/dev/urandom bs=1 count=42 2>/dev/null \
168 | (md5sum 2>/dev/null || cat) > %{_sysconfdir}/jserv.secret.key
171 /sbin/chkconfig --add jserv
172 %service jserv restart "Apache JServ Daemon"
175 if [ "$1" = 0 ]; then
177 /sbin/chkconfig --del jserv
181 if [ "$1" = "0" ]; then
186 %post -n apache1-mod_jserv
187 if [ ! -s %{httpdconf}/jserv.secret.key ]; then
188 if [ -s %{_sysconfdir}/jserv.secret.key ]; then
189 cat %{_sysconfdir}/jserv.secret.key > %{httpdconf}/jserv.secret.key
191 dd if=/dev/urandom bs=1 count=42 2>/dev/null \
192 | (md5sum 2>/dev/null || cat) > %{httpdconf}/jserv.secret.key
195 %service -q apache restart
197 %postun -n apache1-mod_jserv
198 if [ "$1" = "0" ]; then
199 %service -q apache restart
203 %defattr(644,root,root,755)
206 %dir %attr(750,root,jserv) %{_sysconfdir}
207 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.secret.key
208 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.properties
209 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zone.properties
210 %attr(754,root,root) /etc/rc.d/init.d/jserv
211 %attr(755,root,root) %{_sbindir}/runjserv
212 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/jserv
213 %{_javadir}/ApacheJServ.jar
214 %dir %{_datadir}/jserv
215 %dir %attr(750,root,jserv) %{_datadir}/jserv/servlets
216 %attr(770,root,jserv) %dir /var/log/jserv
218 %files -n apache1-mod_jserv
219 %defattr(644,root,root,755)
220 %attr(755,root,root) %{_pkglibdir}/mod_jserv.so
221 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/conf.d/80_mod_jserv.conf
222 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/jserv.secret.key