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