]> git.pld-linux.org Git - packages/ApacheJServ.git/blob - ApacheJServ.spec
- created -init subpackage for standalone mode
[packages/ApacheJServ.git] / ApacheJServ.spec
1 # Conditional build:
2 %bcond_with     gcj     # use javac instead of GCJ
3
4 %define         apxs            /usr/sbin/apxs1
5 %define         jsdkversion     20000924
6 Summary:        Servlet engine with support for the leading web server
7 Summary(pl):    Silnik serwletów ze wsparciem dla wiod±cego serwera WWW
8 Name:           ApacheJServ
9 Version:        1.1.2
10 Release:        0.19
11 License:        freely distributable & usable (JServ), LGPL (JSDK)
12 Group:          Networking/Daemons
13 Source0:        http://java.apache.org/jserv/dist/%{name}-%{version}.tar.gz
14 # Source0-md5:  6d48a1b9fcc5eea4dfebaae29ba5a485
15 Source1:        http://www.euronet.nl/~pauls/java/servlet/download/classpathx_servlet-%{jsdkversion}.tar.gz
16 # Source1-md5:  a81feddb91b1358f9aaed94e83eddb54
17 Source2:        %{name}.conf
18 Source3:        %{name}.init
19 Patch0:         %{name}-enable-secret.patch
20 Patch1:         %{name}-ac.patch
21 URL:            http://java.apache.org/
22 BuildRequires:  apache1-devel >= 1.3.9-8
23 BuildRequires:  rpmbuild(macros) >= 1.228
24 BuildRequires:  sed >= 4.0
25 %if %{with gcj}
26 BuildRequires:  gcc-java
27 BuildRequires:  fastjar
28 Requires:       /usr/bin/gij
29 %else
30 BuildRequires:  jdk
31 %endif
32 Requires(post,preun):   rc-scripts
33 Requires:       apache1 >= 1.3.33-2
34 Provides:       jserv
35 Provides:       jsdk20
36 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37
38 %define         _pkglibdir      %(%{apxs} -q LIBEXECDIR 2>/dev/null)
39 %define         x_sysconfdir    %(%{apxs} -q SYSCONFDIR 2>/dev/null)
40 %define         httpdconf       %(%{apxs} -q SYSCONFDIR 2>/dev/null)
41 %define         _sysconfdir     /etc/jserv
42 %define         x_sysconfdir    %{httpdconf}/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 sunowsk± implementacjê api serletów w javie w wersji 2.0
63 (na licencji LGPL) napisana przez Paula Siegmanna
64 <http://www.euronet.nl/~pauls/java/servlet/>
65
66 %package init
67 Summary:        ApacheJServ initscript
68 Group:          Development/Languages/Java
69 Requires:       %{name} = %{version}-%{release}
70
71 %description init
72 JServ initscript for standalone mode.
73
74 %package doc
75 Summary:        ApacheJServ documentation
76 Group:          Development/Languages/Java
77
78 %description doc
79 ApacheJserv documentation.
80
81 %prep
82 %setup -q -a1
83 %patch0 -p0
84 %patch1 -p0
85
86 sed -i -e '
87         s|@JSDK_CLASSES@|%{_javadir}/servlet-2.0.jar|g
88 ' conf/jserv.properties.in
89
90 # do not load module in provided jserv.conf; we do this in httpd.conf
91 sed -i -e 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in
92
93 # we don't want gcj related deps
94 sed -i -e '/^SUBDIRS/s,java,,' src/Makefile.am
95 sed -i -e '/^SUBDIRS/s,example,,' Makefile.am
96
97 %build
98 if [ ! -f _autotools.done.1 ]; then
99         %{__gettextize}
100         %{__libtoolize}
101         %{__aclocal}
102         %{__autoconf}
103         %{__automake}
104         touch _autotools.done.1
105 fi
106
107 # prepare compilation
108 if [ ! -f classpathx_servlet-%{jsdkversion}/servlet-2.0.jar ]; then
109         %{__make} -C classpathx_servlet-%{jsdkversion} jar_2_0
110 fi
111
112 if [ ! -d jsdk-doc ]; then
113         %{__make} -C classpathx_servlet-%{jsdkversion}/apidoc
114
115         # copy API-doc
116         mkdir jsdk-doc
117         cp classpathx_servlet-%{jsdkversion}/{README,AUTHORS,COPYING.LIB} jsdk-doc
118         cp -r classpathx_servlet-%{jsdkversion}/apidoc jsdk-doc
119 fi
120
121 ### JSERV
122 CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}"
123 %configure \
124         %{!?debug:--disable-debugging} \
125         --with-apxs=%{apxs} \
126         --with-logdir=%{logdir} \
127         --with-servlets=%{servletdir} \
128         %{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=`pwd` JAVAC_OPT="-source 1.4"} \
129     %{!?with_gcj:--with-javac=%{_bindir}/javac --with-jdk-home=%{_libdir}/java} \
130     %{?with_gcj:--with-javac=%{_bindir}/gcj --with-jar=%{_bindir}/fastjar} \
131         --with-JSDK=`pwd`/classpathx_servlet-%{jsdkversion}/servlet-2.0.jar
132
133 %{__make} %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
134         -C src/java
135 %{__make}
136
137 %install
138 rm -rf $RPM_BUILD_ROOT
139 install -d $RPM_BUILD_ROOT%{_javadir}
140 install -d $RPM_BUILD_ROOT/etc/apache/conf.d
141 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,profile.d,logrotate.d}
142 install %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/81_mod_jserv.conf
143 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
144
145 %{__make} install \
146         DESTDIR=$RPM_BUILD_ROOT
147
148 # we removed java, so do it manually
149 %{__make} install \
150         %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
151         -C src/java \
152         DESTDIR=$RPM_BUILD_ROOT
153
154 echo "default - change on install `date`" > $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key
155
156 # currently disabled
157 #install src/scripts/package/rpm/jserv.init      $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
158 #install src/scripts/package/rpm/jserv.sh        $RPM_BUILD_ROOT/etc/profile.d
159 #install src/scripts/package/rpm/jserv.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/jserv
160
161 ### GNU JSDK-classes
162 install classpathx_servlet-%{jsdkversion}/servlet-2.0.jar $RPM_BUILD_ROOT%{_javadir}
163
164 find jsdk-doc -name 'Makefile*' | xargs rm -f
165 rm -rf jsdk-doc/{COPYING.LIB,CVS} jsdk-doc/apidoc/CVS
166
167 %clean
168 rm -rf $RPM_BUILD_ROOT
169
170 %post
171 if [ "$1" = 1 ]; then
172         # use fortune + install-date + process-list to create pseudo-random, hardly
173         # guessable secret key. Use md5sum to create a hash from this, if available:
174         (fortune 2>/dev/null; date; ps -eal 2>/dev/null) \
175                 | (md5sum 2>/dev/null || cat) > %{_sysconfdir}/jserv.secret.key
176 fi
177 %service apache restart
178
179 %postun
180 if [ "$1" = "0" ]; then
181         %service -q apache restart
182 fi
183
184 %post init
185 /sbin/chkconfig --add jserv
186
187 %preun init
188 if [ "$1" = 0 ]; then
189         if [ -f /var/lock/subsys/jserv ]; then
190                 /etc/rc.d/init.d/jserv stop 1>&2
191         fi
192         /sbin/chkconfig --del jserv
193 fi
194
195 %files
196 %defattr(644,root,root,755)
197 %doc LICENSE README
198 %dir %{_sysconfdir}
199 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/conf.d/*_mod_jserv.conf
200 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.properties
201 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zone.properties
202 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.conf
203 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.secret.key
204 #%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/jserv
205 #%config /etc/profile.d/jserv.sh
206
207 %attr(755,root,root) %{_pkglibdir}/mod_jserv.so
208
209 %{_javadir}/ApacheJServ.jar
210 %{_javadir}/servlet-2.0.jar
211
212 %if 0
213 %dir %{servletdir}
214 %{servletdir}/Hello.java
215 %{servletdir}/Hello.class
216 %{servletdir}/IsItWorking.java
217 %{servletdir}/IsItWorking.class
218 %endif
219
220 %attr(770,root,http) %dir %{logdir}
221
222 %files init
223 %defattr(644,root,root,755)
224 %attr(754,root,root) /etc/rc.d/init.d/jserv
225
226 %files doc
227 %defattr(644,root,root,755)
228 %doc index.html docs
229 %doc jsdk-doc
This page took 0.039581 seconds and 3 git commands to generate.