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