]>
Commit | Line | Data |
---|---|---|
fd455b82 ER |
1 | # TODO |
2 | # - separate package for jsdk? | |
3 | # | |
c021981c | 4 | # Conditional build: |
5e5f80c3 | 5 | %bcond_with gcj # use GCJ instead of javac |
fd455b82 | 6 | # |
57399735 | 7 | %define apxs /usr/sbin/apxs1 |
df00301c | 8 | %define jsdkversion 20000924 |
bdcfd1a4 | 9 | %define mod_name jserv |
0464d88f | 10 | Summary: Servlet engine with support for the leading web server |
68895dec | 11 | Summary(pl.UTF-8): Silnik serwletów ze wsparciem dla wiodącego serwera WWW |
0464d88f | 12 | Name: ApacheJServ |
65efde2f | 13 | Version: 1.1.2 |
f28587da | 14 | Release: 3 |
b0e1d361 PG |
15 | License: freely distributable & usable (JServ), LGPL (JSDK) |
16 | Group: Networking/Daemons | |
20a63901 | 17 | Source0: http://java.apache.org/jserv/dist/%{name}-%{version}.tar.gz |
3166ca6f | 18 | # Source0-md5: 6d48a1b9fcc5eea4dfebaae29ba5a485 |
eec4cf54 | 19 | Source1: http://www.euronet.nl/~pauls/java/servlet/download/classpathx_servlet-%{jsdkversion}.tar.gz |
3166ca6f | 20 | # Source1-md5: a81feddb91b1358f9aaed94e83eddb54 |
df00301c ER |
21 | Source2: %{name}.conf |
22 | Source3: %{name}.init | |
40377a8b | 23 | Source4: %{name}.sysconfig |
f74275df | 24 | Source5: runjserv |
268055d2 | 25 | Patch0: %{name}-enable-secret.patch |
57399735 | 26 | Patch1: %{name}-ac.patch |
fd455b82 | 27 | Patch2: %{name}-jre-env.patch |
40377a8b | 28 | Patch3: %{name}-config.patch |
0464d88f | 29 | URL: http://java.apache.org/ |
57399735 | 30 | BuildRequires: apache1-devel >= 1.3.9-8 |
bdcfd1a4 ER |
31 | BuildRequires: autoconf |
32 | BuildRequires: automake | |
33 | BuildRequires: gettext-devel | |
40377a8b | 34 | BuildRequires: rpmbuild(macros) >= 1.268 |
df00301c | 35 | BuildRequires: sed >= 4.0 |
c021981c | 36 | %if %{with gcj} |
c021981c | 37 | BuildRequires: fastjar |
bdcfd1a4 | 38 | BuildRequires: gcc-java |
ad8db48a | 39 | BuildRequires: jdkgcj |
c021981c ER |
40 | Requires: /usr/bin/gij |
41 | %else | |
ad8db48a | 42 | BuildRequires: java-sun |
b31b9d02 | 43 | Requires: java-sun-jre |
c021981c | 44 | %endif |
bdcfd1a4 ER |
45 | Requires(post,preun): rc-scripts |
46 | Requires(pre): /bin/id | |
47 | Requires(pre): /usr/bin/getgid | |
48 | Requires(pre): /usr/sbin/groupadd | |
49 | Requires(pre): /usr/sbin/useradd | |
50 | Requires: %{name} = %{version}-%{release} | |
bec07bfd | 51 | Requires: rc-scripts >= 0.4.0.19 |
bdcfd1a4 | 52 | Provides: group(jserv) |
57399735 | 53 | Provides: jsdk20 |
bdcfd1a4 ER |
54 | Provides: jserv |
55 | Provides: user(jserv) | |
56 | Obsoletes: ApacheJServ-init | |
40377a8b | 57 | Obsoletes: jserv |
f28587da | 58 | ExclusiveArch: i586 i686 pentium3 pentium4 athlon %{x8664} |
450b5f3c | 59 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
0464d88f | 60 | |
df00301c | 61 | %define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null) |
df00301c ER |
62 | %define httpdconf %(%{apxs} -q SYSCONFDIR 2>/dev/null) |
63 | %define _sysconfdir /etc/jserv | |
df00301c | 64 | %define logdir /var/log/jserv |
b419ba29 | 65 | %define _noautocompressdoc package-list |
0464d88f | 66 | |
67 | %description | |
20a63901 | 68 | Apache JServ is a servlet engine, developed by the Java Apache Project |
aad54880 | 69 | <http://java.apache.org/>. The Apache JServ servlet engine is written |
70 | in 100pc Java application, and listens for servlet requests using the | |
71 | Apache Java protocol (AJp). Typically, these requests will originate | |
72 | from the mod_jserv Apache module (DSO included). This package contains | |
dc2f8a69 JB |
73 | a LGPL'ed implementation of Sun's Java Servlet API version 2.0 by Paul |
74 | Siegmann <http://www.euronet.nl/~pauls/java/servlet/>. | |
0464d88f | 75 | |
68895dec | 76 | %description -l pl.UTF-8 |
268055d2 JB |
77 | Apache JServ jest silnikiem serwletowym, rozwijanym przez Java Apache |
78 | Project <http://java.apache.org/>. Silnik serwletowy Apache JServ | |
68895dec JR |
79 | został napisany od początku do końca w Javie; nasłuchuje wywołań |
80 | serwletu wykorzystując protokół Apache Java (AJp). Zazwyczaj wywołania | |
81 | te pochodzą z modułu Apache mod_jservmodule (łącznie z DSO). Pakiet | |
82 | ten zawiera implementację Java Servlet API Suna w wersji 2.0 napisaną | |
dc2f8a69 JB |
83 | przez Paula Siegmanna (na licencji LGPL) |
84 | <http://www.euronet.nl/~pauls/java/servlet/>. | |
9a5e72cc | 85 | |
0da805cf ER |
86 | %package -n apache1-mod_jserv |
87 | Summary: JServ module for Apache | |
68895dec | 88 | Summary(pl.UTF-8): Moduł JServ dla Apache'a |
0da805cf | 89 | Group: Networking/Daemons |
0da805cf | 90 | Requires: apache1 >= 1.3.33-2 |
bdcfd1a4 | 91 | Obsoletes: ApacheJServ-auto |
0da805cf ER |
92 | |
93 | %description -n apache1-mod_jserv | |
f92e0060 JB |
94 | JServ module for Apache. |
95 | ||
68895dec JR |
96 | %description -n apache1-mod_jserv -l pl.UTF-8 |
97 | Moduł JServ dla Apache'a. | |
0da805cf | 98 | |
b419ba29 ER |
99 | %package doc |
100 | Summary: ApacheJServ documentation | |
68895dec | 101 | Summary(pl.UTF-8): Dokumentacja do ApacheJServ |
b419ba29 ER |
102 | Group: Development/Languages/Java |
103 | ||
104 | %description doc | |
105 | ApacheJserv documentation. | |
106 | ||
68895dec | 107 | %description doc -l pl.UTF-8 |
dc2f8a69 JB |
108 | Dokumentacja do ApacheJServ. |
109 | ||
0464d88f | 110 | %prep |
ed122ce4 | 111 | %setup -q -a1 |
65efde2f | 112 | %patch0 -p0 |
57399735 | 113 | %patch1 -p0 |
fd455b82 | 114 | %patch2 -p1 |
40377a8b | 115 | %patch3 -p1 |
0464d88f | 116 | |
df00301c ER |
117 | sed -i -e ' |
118 | s|@JSDK_CLASSES@|%{_javadir}/servlet-2.0.jar|g | |
119 | ' conf/jserv.properties.in | |
0464d88f | 120 | |
121 | # do not load module in provided jserv.conf; we do this in httpd.conf | |
c021981c ER |
122 | sed -i -e 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in |
123 | ||
124 | # we don't want gcj related deps | |
125 | sed -i -e '/^SUBDIRS/s,java,,' src/Makefile.am | |
126 | sed -i -e '/^SUBDIRS/s,example,,' Makefile.am | |
0464d88f | 127 | |
a76ad017 | 128 | %build |
f74275df ER |
129 | export JAVA_HOME="%{java_home}" |
130 | ||
c021981c ER |
131 | if [ ! -f _autotools.done.1 ]; then |
132 | %{__gettextize} | |
133 | %{__libtoolize} | |
134 | %{__aclocal} | |
135 | %{__autoconf} | |
136 | %{__automake} | |
137 | touch _autotools.done.1 | |
138 | fi | |
57399735 | 139 | |
0464d88f | 140 | # prepare compilation |
c021981c ER |
141 | if [ ! -f classpathx_servlet-%{jsdkversion}/servlet-2.0.jar ]; then |
142 | %{__make} -C classpathx_servlet-%{jsdkversion} jar_2_0 | |
143 | fi | |
0464d88f | 144 | |
c021981c ER |
145 | if [ ! -d jsdk-doc ]; then |
146 | %{__make} -C classpathx_servlet-%{jsdkversion}/apidoc | |
0464d88f | 147 | |
c021981c ER |
148 | # copy API-doc |
149 | mkdir jsdk-doc | |
150 | cp classpathx_servlet-%{jsdkversion}/{README,AUTHORS,COPYING.LIB} jsdk-doc | |
151 | cp -r classpathx_servlet-%{jsdkversion}/apidoc jsdk-doc | |
152 | fi | |
153 | ||
c021981c | 154 | ### JSERV |
df00301c | 155 | CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}" |
82a93744 | 156 | dir=$(pwd) |
df00301c ER |
157 | %configure \ |
158 | %{!?debug:--disable-debugging} \ | |
ed122ce4 | 159 | --with-apxs=%{apxs} \ |
325dd9d4 | 160 | --with-logdir=%{logdir} \ |
bec07bfd | 161 | --with-servlets=%{_datadir}/jserv/servlets \ |
82a93744 ER |
162 | --with-java-platform=1.4 \ |
163 | --with-JSDK=$dir/classpathx_servlet-%{jsdkversion}/servlet-2.0.jar \ | |
164 | %{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=$dir JAVAC_OPT="-source 1.4"} \ | |
165 | %{!?with_gcj:--with-javac=%{javac} --with-java=%{java} --with-jdk-home=$JAVA_HOME} \ | |
166 | %{?with_gcj:--with-javac=%{_bindir}/gcj --with-jar=%{_bindir}/fastjar} \ | |
57399735 | 167 | |
c021981c ER |
168 | %{__make} %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \ |
169 | -C src/java | |
d00fe253 | 170 | %{__make} |
0464d88f | 171 | |
172 | %install | |
20a63901 | 173 | rm -rf $RPM_BUILD_ROOT |
f74275df | 174 | install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{httpdconf}/conf.d,%{_javadir},%{_sbindir}} |
5e5f80c3 | 175 | |
bdcfd1a4 | 176 | install %{SOURCE2} $RPM_BUILD_ROOT%{httpdconf}/conf.d/80_mod_jserv.conf |
df00301c | 177 | install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv |
40377a8b | 178 | install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/jserv |
f74275df | 179 | install %{SOURCE5} $RPM_BUILD_ROOT%{_sbindir} |
20a63901 | 180 | |
b0e1d361 PG |
181 | %{__make} install \ |
182 | DESTDIR=$RPM_BUILD_ROOT | |
0464d88f | 183 | |
5e5f80c3 | 184 | # we removed java from SUBDIRS, so do it manually |
c021981c ER |
185 | %{__make} install \ |
186 | %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \ | |
187 | -C src/java \ | |
188 | DESTDIR=$RPM_BUILD_ROOT | |
189 | ||
bdcfd1a4 ER |
190 | > $RPM_BUILD_ROOT%{httpdconf}/jserv.secret.key |
191 | > $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key | |
0464d88f | 192 | |
bec07bfd ER |
193 | install -d $RPM_BUILD_ROOT%{_datadir}/jserv/servlets |
194 | ||
0464d88f | 195 | ### GNU JSDK-classes |
df00301c | 196 | install classpathx_servlet-%{jsdkversion}/servlet-2.0.jar $RPM_BUILD_ROOT%{_javadir} |
0464d88f | 197 | |
c021981c | 198 | find jsdk-doc -name 'Makefile*' | xargs rm -f |
b419ba29 | 199 | rm -rf jsdk-doc/{COPYING.LIB,CVS} jsdk-doc/apidoc/CVS |
65efde2f | 200 | |
fd455b82 ER |
201 | # duplicate |
202 | rm -f $RPM_BUILD_ROOT%{_sysconfdir}/jserv.conf | |
bdcfd1a4 | 203 | rm -rf $RPM_BUILD_ROOT%{_prefix}/docs |
fd455b82 | 204 | |
0464d88f | 205 | %clean |
206 | rm -rf $RPM_BUILD_ROOT | |
207 | ||
bdcfd1a4 ER |
208 | %pre |
209 | %groupadd -g 154 jserv | |
210 | %useradd -u 154 -g jserv -d /etc/jserv -c "JServ User" jserv | |
0464d88f | 211 | |
bdcfd1a4 | 212 | %post |
bdcfd1a4 ER |
213 | if [ ! -s %{_sysconfdir}/jserv.secret.key ]; then |
214 | if [ -s %{httpdconf}/jserv.secret.key ]; then | |
215 | cat %{httpdconf}/jserv.secret.key > %{_sysconfdir}/jserv.secret.key | |
216 | else | |
217 | dd if=/dev/urandom bs=1 count=42 2>/dev/null \ | |
218 | | (md5sum 2>/dev/null || cat) > %{_sysconfdir}/jserv.secret.key | |
219 | fi | |
0464d88f | 220 | fi |
df00301c | 221 | /sbin/chkconfig --add jserv |
bdcfd1a4 | 222 | %service jserv restart "Apache JServ Daemon" |
0464d88f | 223 | |
bdcfd1a4 | 224 | %preun |
df00301c | 225 | if [ "$1" = 0 ]; then |
40377a8b | 226 | %service jserv stop |
df00301c | 227 | /sbin/chkconfig --del jserv |
0464d88f | 228 | fi |
229 | ||
bdcfd1a4 | 230 | %postun |
fd455b82 ER |
231 | if [ "$1" = "0" ]; then |
232 | %userremove jserv | |
233 | %groupremove jserv | |
234 | fi | |
235 | ||
bdcfd1a4 | 236 | %post -n apache1-mod_jserv |
bdcfd1a4 ER |
237 | if [ ! -s %{httpdconf}/jserv.secret.key ]; then |
238 | if [ -s %{_sysconfdir}/jserv.secret.key ]; then | |
239 | cat %{_sysconfdir}/jserv.secret.key > %{httpdconf}/jserv.secret.key | |
240 | else | |
241 | dd if=/dev/urandom bs=1 count=42 2>/dev/null \ | |
242 | | (md5sum 2>/dev/null || cat) > %{httpdconf}/jserv.secret.key | |
243 | fi | |
244 | fi | |
245 | %service -q apache restart | |
246 | ||
247 | %postun -n apache1-mod_jserv | |
248 | if [ "$1" = "0" ]; then | |
249 | %service -q apache restart | |
250 | fi | |
251 | ||
0464d88f | 252 | %files |
20a63901 | 253 | %defattr(644,root,root,755) |
b419ba29 | 254 | %doc LICENSE README |
bec07bfd | 255 | %dir %attr(750,root,jserv) %{_sysconfdir} |
bdcfd1a4 ER |
256 | %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.secret.key |
257 | %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.properties | |
258 | %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zone.properties | |
259 | %attr(754,root,root) /etc/rc.d/init.d/jserv | |
82a93744 | 260 | %attr(755,root,root) %{_sbindir}/runjserv |
40377a8b | 261 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/jserv |
df00301c ER |
262 | %{_javadir}/ApacheJServ.jar |
263 | %{_javadir}/servlet-2.0.jar | |
bec07bfd ER |
264 | %dir %{_datadir}/jserv |
265 | %dir %attr(750,root,jserv) %{_datadir}/jserv/servlets | |
0464d88f | 266 | |
c021981c | 267 | %if 0 |
bec07bfd ER |
268 | %{_datadir}/jserv/servlets/Hello.java |
269 | %{_datadir}/jserv/servlets/Hello.class | |
270 | %{_datadir}/jserv/servlets/IsItWorking.java | |
271 | %{_datadir}/jserv/servlets/IsItWorking.class | |
c021981c | 272 | %endif |
bec07bfd | 273 | %attr(770,root,jserv) %dir %{logdir} |
0464d88f | 274 | |
0da805cf ER |
275 | %files -n apache1-mod_jserv |
276 | %defattr(644,root,root,755) | |
0da805cf | 277 | %attr(755,root,root) %{_pkglibdir}/mod_jserv.so |
bdcfd1a4 ER |
278 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/conf.d/80_mod_jserv.conf |
279 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/jserv.secret.key | |
b419ba29 ER |
280 | |
281 | %files doc | |
df00301c | 282 | %defattr(644,root,root,755) |
b419ba29 ER |
283 | %doc index.html docs |
284 | %doc jsdk-doc |