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