]> git.pld-linux.org Git - packages/ApacheJServ.git/blame - ApacheJServ.spec
- converted to UTF-8
[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
68895dec 11Summary(pl.UTF-8): Silnik serwletów ze wsparciem dla wiodącego serwera WWW
0464d88f 12Name: ApacheJServ
65efde2f 13Version: 1.1.2
f28587da 14Release: 3
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
68895dec 88Summary(pl.UTF-8): Moduł JServ dla Apache'a
0da805cf 89Group: Networking/Daemons
0da805cf 90Requires: apache1 >= 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
68895dec 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
119' conf/jserv.properties.in
0464d88f 120
121# do not load module in provided jserv.conf; we do this in httpd.conf
c021981c
ER
122sed -i -e 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in
123
124# we don't want gcj related deps
125sed -i -e '/^SUBDIRS/s,java,,' src/Makefile.am
126sed -i -e '/^SUBDIRS/s,example,,' Makefile.am
0464d88f 127
a76ad017 128%build
f74275df
ER
129export JAVA_HOME="%{java_home}"
130
c021981c
ER
131if [ ! -f _autotools.done.1 ]; then
132 %{__gettextize}
133 %{__libtoolize}
134 %{__aclocal}
135 %{__autoconf}
136 %{__automake}
137 touch _autotools.done.1
138fi
57399735 139
0464d88f 140# prepare compilation
c021981c
ER
141if [ ! -f classpathx_servlet-%{jsdkversion}/servlet-2.0.jar ]; then
142 %{__make} -C classpathx_servlet-%{jsdkversion} jar_2_0
143fi
0464d88f 144
c021981c
ER
145if [ ! -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
152fi
153
c021981c 154### JSERV
df00301c 155CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}"
82a93744 156dir=$(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 173rm -rf $RPM_BUILD_ROOT
f74275df 174install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{httpdconf}/conf.d,%{_javadir},%{_sbindir}}
5e5f80c3 175
bdcfd1a4 176install %{SOURCE2} $RPM_BUILD_ROOT%{httpdconf}/conf.d/80_mod_jserv.conf
df00301c 177install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
40377a8b 178install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/jserv
f74275df 179install %{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
193install -d $RPM_BUILD_ROOT%{_datadir}/jserv/servlets
194
0464d88f 195### GNU JSDK-classes
df00301c 196install classpathx_servlet-%{jsdkversion}/servlet-2.0.jar $RPM_BUILD_ROOT%{_javadir}
0464d88f 197
c021981c 198find jsdk-doc -name 'Makefile*' | xargs rm -f
b419ba29 199rm -rf jsdk-doc/{COPYING.LIB,CVS} jsdk-doc/apidoc/CVS
65efde2f 200
fd455b82
ER
201# duplicate
202rm -f $RPM_BUILD_ROOT%{_sysconfdir}/jserv.conf
bdcfd1a4 203rm -rf $RPM_BUILD_ROOT%{_prefix}/docs
fd455b82 204
0464d88f 205%clean
206rm -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
213if [ ! -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 220fi
df00301c 221/sbin/chkconfig --add jserv
bdcfd1a4 222%service jserv restart "Apache JServ Daemon"
0464d88f 223
bdcfd1a4 224%preun
df00301c 225if [ "$1" = 0 ]; then
40377a8b 226 %service jserv stop
df00301c 227 /sbin/chkconfig --del jserv
0464d88f 228fi
229
bdcfd1a4 230%postun
fd455b82
ER
231if [ "$1" = "0" ]; then
232 %userremove jserv
233 %groupremove jserv
234fi
235
bdcfd1a4 236%post -n apache1-mod_jserv
bdcfd1a4
ER
237if [ ! -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
244fi
245%service -q apache restart
246
247%postun -n apache1-mod_jserv
248if [ "$1" = "0" ]; then
249 %service -q apache restart
250fi
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
This page took 0.100286 seconds and 4 git commands to generate.