]> git.pld-linux.org Git - packages/ApacheJServ.git/blob - ApacheJServ.spec
- pl updates and fixes
[packages/ApacheJServ.git] / ApacheJServ.spec
1 # TODO
2 # - separate package for jsdk?
3 #
4 # Conditional build:
5 %bcond_with     gcj     # use javac instead of GCJ
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.27
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 Requires(post,preun):   rc-scripts
37 Requires:       apache1 >= 1.3.33-2
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 init
69 Summary:        ApacheJServ initscript
70 Summary(pl):    Skrypt startowy ApacheJServ
71 Group:          Development/Languages/Java
72 Requires:       %{name} = %{version}-%{release}
73 Requires(pre):  /bin/id
74 Requires(pre):  /usr/bin/getgid
75 Requires(pre):  /usr/sbin/useradd
76 Requires(pre):  /usr/sbin/groupadd
77
78 %description init
79 JServ initscript for standalone mode.
80
81 %description init -l pl
82 Skrypt startowy JServ dla trybu samodzielnego.
83
84 %package doc
85 Summary:        ApacheJServ documentation
86 Summary(pl):    Dokumentacja do ApacheJServ
87 Group:          Development/Languages/Java
88
89 %description doc
90 ApacheJserv documentation.
91
92 %description doc -l pl
93 Dokumentacja do ApacheJServ.
94
95 %prep
96 %setup -q -a1
97 %patch0 -p0
98 %patch1 -p0
99 %patch2 -p1
100
101 sed -i -e '
102         s|@JSDK_CLASSES@|%{_javadir}/servlet-2.0.jar|g
103 ' conf/jserv.properties.in
104
105 # do not load module in provided jserv.conf; we do this in httpd.conf
106 sed -i -e 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in
107
108 # we don't want gcj related deps
109 sed -i -e '/^SUBDIRS/s,java,,' src/Makefile.am
110 sed -i -e '/^SUBDIRS/s,example,,' Makefile.am
111
112 %build
113 if [ ! -f _autotools.done.1 ]; then
114         %{__gettextize}
115         %{__libtoolize}
116         %{__aclocal}
117         %{__autoconf}
118         %{__automake}
119         touch _autotools.done.1
120 fi
121
122 # prepare compilation
123 if [ ! -f classpathx_servlet-%{jsdkversion}/servlet-2.0.jar ]; then
124         %{__make} -C classpathx_servlet-%{jsdkversion} jar_2_0
125 fi
126
127 if [ ! -d jsdk-doc ]; then
128         %{__make} -C classpathx_servlet-%{jsdkversion}/apidoc
129
130         # copy API-doc
131         mkdir jsdk-doc
132         cp classpathx_servlet-%{jsdkversion}/{README,AUTHORS,COPYING.LIB} jsdk-doc
133         cp -r classpathx_servlet-%{jsdkversion}/apidoc jsdk-doc
134 fi
135
136 ### JSERV
137 CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}"
138 %configure \
139         %{!?debug:--disable-debugging} \
140         --with-apxs=%{apxs} \
141         --with-logdir=%{logdir} \
142         --with-servlets=%{servletdir} \
143         %{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=`pwd` JAVAC_OPT="-source 1.4"} \
144     %{!?with_gcj:--with-javac=%{_bindir}/javac --with-java=%{_bindir}/java --with-jdk-home=%{_libdir}/java} \
145     %{?with_gcj:--with-javac=%{_bindir}/gcj --with-jar=%{_bindir}/fastjar} \
146         --with-JSDK=`pwd`/classpathx_servlet-%{jsdkversion}/servlet-2.0.jar
147
148 %{__make} %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
149         -C src/java
150 %{__make}
151
152 %install
153 rm -rf $RPM_BUILD_ROOT
154 install -d $RPM_BUILD_ROOT%{_javadir}
155 install -d $RPM_BUILD_ROOT/etc/apache/conf.d
156 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,profile.d,logrotate.d}
157 install %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/81_mod_jserv.conf
158 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
159
160 %{__make} install \
161         DESTDIR=$RPM_BUILD_ROOT
162
163 # we removed java, so do it manually
164 %{__make} install \
165         %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
166         -C src/java \
167         DESTDIR=$RPM_BUILD_ROOT
168
169 echo "default - change on install `date`" > $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key
170
171 # currently disabled
172 #install src/scripts/package/rpm/jserv.init      $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
173 #install src/scripts/package/rpm/jserv.sh        $RPM_BUILD_ROOT/etc/profile.d
174 #install src/scripts/package/rpm/jserv.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/jserv
175
176 ### GNU JSDK-classes
177 install classpathx_servlet-%{jsdkversion}/servlet-2.0.jar $RPM_BUILD_ROOT%{_javadir}
178
179 find jsdk-doc -name 'Makefile*' | xargs rm -f
180 rm -rf jsdk-doc/{COPYING.LIB,CVS} jsdk-doc/apidoc/CVS
181
182 # duplicate
183 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/jserv.conf
184
185 %clean
186 rm -rf $RPM_BUILD_ROOT
187
188 %post
189 if [ "$1" = 1 ]; then
190         dd if=/dev/urandom bs=1 count=42 2>/dev/null \
191                 | (md5sum 2>/dev/null || cat) > %{_sysconfdir}/jserv.secret.key
192 fi
193 %service apache restart
194
195 %postun
196 if [ "$1" = "0" ]; then
197         %service -q apache restart
198 fi
199
200
201 %pre init
202 %groupadd -P %{name}-init -g 154 jserv
203 %useradd -P %{name}-init -u 154 -g jserv -d /etc/jserv -c "JServ User" jserv
204
205 %post init
206 /sbin/chkconfig --add jserv
207
208 %preun init
209 if [ "$1" = 0 ]; then
210         if [ -f /var/lock/subsys/jserv ]; then
211                 /etc/rc.d/init.d/jserv stop 1>&2
212         fi
213         /sbin/chkconfig --del jserv
214 fi
215
216 %postun init
217 if [ "$1" = "0" ]; then
218         %userremove jserv
219         %groupremove jserv
220 fi
221
222 %files
223 %defattr(644,root,root,755)
224 %doc LICENSE README
225 %dir %{_sysconfdir}
226 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/conf.d/*_mod_jserv.conf
227 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.properties
228 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zone.properties
229 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.secret.key
230 #%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/jserv
231 #%config /etc/profile.d/jserv.sh
232
233 %attr(755,root,root) %{_pkglibdir}/mod_jserv.so
234
235 %{_javadir}/ApacheJServ.jar
236 %{_javadir}/servlet-2.0.jar
237
238 %if 0
239 %dir %{servletdir}
240 %{servletdir}/Hello.java
241 %{servletdir}/Hello.class
242 %{servletdir}/IsItWorking.java
243 %{servletdir}/IsItWorking.class
244 %endif
245
246 %attr(770,root,http) %dir %{logdir}
247
248 %files init
249 %defattr(644,root,root,755)
250 %attr(754,root,root) /etc/rc.d/init.d/jserv
251
252 %files doc
253 %defattr(644,root,root,755)
254 %doc index.html docs
255 %doc jsdk-doc
This page took 0.04462 seconds and 4 git commands to generate.