]> git.pld-linux.org Git - packages/ApacheJServ.git/blob - ApacheJServ.spec
f7845b09031b36a2e96684c39ab8c8b7deb962f8
[packages/ApacheJServ.git] / ApacheJServ.spec
1 %define         apxs            /usr/sbin/apxs1
2 %define         mod_name        jserv
3 %include        /usr/lib/rpm/macros.java
4 Summary:        Servlet engine with support for the leading web server
5 Summary(pl.UTF-8):      Silnik serwletów ze wsparciem dla wiodącego serwera WWW
6 Name:           ApacheJServ
7 Version:        1.1.2
8 Release:        5
9 License:        freely distributable & usable
10 Group:          Networking/Daemons
11 Source0:        http://java.apache.org/jserv/dist/%{name}-%{version}.tar.gz
12 # Source0-md5:  6d48a1b9fcc5eea4dfebaae29ba5a485
13 Source2:        %{name}.conf
14 Source3:        %{name}.init
15 Source4:        %{name}.sysconfig
16 Source5:        runjserv
17 Patch0:         %{name}-enable-secret.patch
18 Patch1:         %{name}-ac.patch
19 Patch2:         %{name}-jre-env.patch
20 Patch3:         %{name}-config.patch
21 URL:            http://archive.apache.org/dist/java/jserv/
22 BuildRequires:  apache1-devel >= 1.3.9-8
23 BuildRequires:  autoconf
24 BuildRequires:  automake
25 BuildRequires:  gettext-devel
26 BuildRequires:  jdk
27 BuildRequires:  jpackage-utils
28 BuildRequires:  rpm-javaprov
29 BuildRequires:  rpmbuild(macros) >= 1.300
30 BuildRequires:  sed >= 4.0
31 BuildRequires:  servlet = 2.0
32 Requires(post,preun):   rc-scripts
33 Requires(pre):  /bin/id
34 Requires(pre):  /usr/bin/getgid
35 Requires(pre):  /usr/sbin/groupadd
36 Requires(pre):  /usr/sbin/useradd
37 Requires:       jre
38 Requires:       rc-scripts >= 0.4.0.19
39 Requires:       servlet = 2.0
40 Provides:       group(jserv)
41 Provides:       user(jserv)
42 Obsoletes:      ApacheJServ-doc
43 Obsoletes:      ApacheJServ-init
44 Obsoletes:      jserv
45 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46
47 %define         _pkglibdir      %(%{apxs} -q LIBEXECDIR 2>/dev/null)
48 %define         httpdconf       %(%{apxs} -q SYSCONFDIR 2>/dev/null)
49 %define         _sysconfdir     /etc/jserv
50 %define         _noautocompressdoc  package-list
51
52 %description
53 Apache JServ is a servlet engine, developed by the Java Apache Project
54 <http://java.apache.org/>. The Apache JServ servlet engine is written
55 in 100pc Java application, and listens for servlet requests using the
56 Apache Java protocol (AJp). Typically, these requests will originate
57 from the mod_jserv Apache module (DSO included).
58
59 %description -l pl.UTF-8
60 Apache JServ jest silnikiem serwletowym, rozwijanym przez Java Apache
61 Project <http://java.apache.org/>. Silnik serwletowy Apache JServ
62 został napisany od początku do końca w Javie; nasłuchuje wywołań
63 serwletu wykorzystując protokół Apache Java (AJp). Zazwyczaj wywołania
64 te pochodzą z modułu Apache mod_jservmodule (łącznie z DSO).
65
66 %package -n apache1-mod_jserv
67 Summary:        JServ module for Apache
68 Summary(pl.UTF-8):      Moduł JServ dla Apache'a
69 Group:          Networking/Daemons
70 Requires:       apache1-base >= 1.3.33-2
71 Obsoletes:      ApacheJServ-auto
72
73 %description -n apache1-mod_jserv
74 JServ module for Apache.
75
76 %description -n apache1-mod_jserv -l pl.UTF-8
77 Moduł JServ dla Apache'a.
78
79 %prep
80 %setup -q
81 %patch0 -p0
82 %patch1 -p0
83 %patch2 -p1
84 %patch3 -p1
85
86 # servlet-2.0 is the highest version the jserv code compiles with
87 sed -i -e "
88         s|@JSDK_CLASSES@|$(find-jar servlet-2.0)|g
89         s|@JAVA@|%java|g
90 " conf/jserv.properties.in
91
92 # do not load module in provided jserv.conf; we do this in httpd.conf
93 sed -i -e 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in
94
95 # we don't want gcj related deps
96 sed -i -e '/^SUBDIRS/s,java,,' src/Makefile.am
97 sed -i -e '/^SUBDIRS/s,example,,' Makefile.am
98
99 %build
100 export JAVA_HOME="%{java_home}"
101 if [ ! -f _autotools.stamp ]; then
102         %{__gettextize}
103         %{__libtoolize}
104         %{__aclocal}
105         %{__autoconf}
106         %{__automake}
107         touch _autotools.stamp
108 fi
109
110 ### JSERV
111 CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}"
112 dir=$(pwd)
113 %configure \
114         %{!?debug:--disable-debugging} \
115         --with-apxs=%{apxs} \
116         --with-logdir=/var/log/jserv \
117         --with-servlets=%{_datadir}/jserv/servlets \
118         --with-java-platform=1.4 \
119         --with-JSDK=$(find-jar servlet-2.0) \
120         %{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=$dir JAVAC_OPT="-source 1.4"} \
121         %{!?with_gcj:--with-javac=%{javac} --with-java=%{java} --with-jdk-home=$JAVA_HOME} \
122         %{?with_gcj:--with-javac=%{_bindir}/gcj --with-jar=%{_bindir}/fastjar} \
123
124 %{__make} %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
125         -C src/java
126 %{__make}
127
128 %install
129 rm -rf $RPM_BUILD_ROOT
130 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{httpdconf}/conf.d,%{_javadir},%{_sbindir}}
131
132 install %{SOURCE2} $RPM_BUILD_ROOT%{httpdconf}/conf.d/80_mod_jserv.conf
133 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
134 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/jserv
135 install %{SOURCE5} $RPM_BUILD_ROOT%{_sbindir}
136
137 %{__make} install \
138         DESTDIR=$RPM_BUILD_ROOT
139
140 # we removed java from SUBDIRS, so do it manually
141 %{__make} install \
142         %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
143         -C src/java \
144         DESTDIR=$RPM_BUILD_ROOT
145
146 > $RPM_BUILD_ROOT%{httpdconf}/jserv.secret.key
147 > $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key
148
149 install -d $RPM_BUILD_ROOT%{_datadir}/jserv/servlets
150
151 # duplicate
152 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/jserv.conf
153 rm -rf $RPM_BUILD_ROOT%{_prefix}/docs
154
155 %clean
156 rm -rf $RPM_BUILD_ROOT
157
158 %pre
159 %groupadd -g 154 jserv
160 %useradd -u 154 -g jserv -d /etc/jserv -c "JServ User" jserv
161
162 %post
163 if [ ! -s %{_sysconfdir}/jserv.secret.key ]; then
164         if [ -s %{httpdconf}/jserv.secret.key ]; then
165                 cat %{httpdconf}/jserv.secret.key > %{_sysconfdir}/jserv.secret.key
166         else
167                 dd if=/dev/urandom bs=1 count=42 2>/dev/null \
168                         | (md5sum 2>/dev/null || cat) > %{_sysconfdir}/jserv.secret.key
169         fi
170 fi
171 /sbin/chkconfig --add jserv
172 %service jserv restart "Apache JServ Daemon"
173
174 %preun
175 if [ "$1" = 0 ]; then
176         %service jserv stop
177         /sbin/chkconfig --del jserv
178 fi
179
180 %postun
181 if [ "$1" = "0" ]; then
182         %userremove jserv
183         %groupremove jserv
184 fi
185
186 %post -n apache1-mod_jserv
187 if [ ! -s %{httpdconf}/jserv.secret.key ]; then
188         if [ -s %{_sysconfdir}/jserv.secret.key ]; then
189                 cat %{_sysconfdir}/jserv.secret.key > %{httpdconf}/jserv.secret.key
190         else
191                 dd if=/dev/urandom bs=1 count=42 2>/dev/null \
192                         | (md5sum 2>/dev/null || cat) > %{httpdconf}/jserv.secret.key
193         fi
194 fi
195 %service -q apache restart
196
197 %postun -n apache1-mod_jserv
198 if [ "$1" = "0" ]; then
199         %service -q apache restart
200 fi
201
202 %files
203 %defattr(644,root,root,755)
204 %doc LICENSE README
205 %doc index.html docs
206 %dir %attr(750,root,jserv) %{_sysconfdir}
207 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.secret.key
208 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.properties
209 %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zone.properties
210 %attr(754,root,root) /etc/rc.d/init.d/jserv
211 %attr(755,root,root) %{_sbindir}/runjserv
212 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/jserv
213 %{_javadir}/ApacheJServ.jar
214 %dir %{_datadir}/jserv
215 %dir %attr(750,root,jserv) %{_datadir}/jserv/servlets
216 %attr(770,root,jserv) %dir /var/log/jserv
217
218 %files -n apache1-mod_jserv
219 %defattr(644,root,root,755)
220 %attr(755,root,root) %{_pkglibdir}/mod_jserv.so
221 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/conf.d/80_mod_jserv.conf
222 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/jserv.secret.key
This page took 0.143254 seconds and 2 git commands to generate.