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