%define apxs /usr/sbin/apxs1 %define mod_name jserv Summary: Servlet engine with support for the leading web server Summary(pl.UTF-8): Silnik serwletów ze wsparciem dla wiodącego serwera WWW Name: ApacheJServ Version: 1.1.2 Release: 11 License: freely distributable & usable Group: Networking/Daemons Source0: http://java.apache.org/jserv/dist/%{name}-%{version}.tar.gz # Source0-md5: 6d48a1b9fcc5eea4dfebaae29ba5a485 Source2: %{name}.conf Source3: %{name}.init Source4: %{name}.sysconfig Source5: runjserv Patch0: %{name}-enable-secret.patch Patch1: %{name}-ac.patch Patch2: %{name}-jre-env.patch Patch3: %{name}-config.patch Patch4: doc-overwrite.patch URL: http://archive.apache.org/dist/java/jserv/ BuildRequires: apache1-devel >= 1.3.9-8 BuildRequires: autoconf BuildRequires: automake BuildRequires: gettext-tools BuildRequires: jdk BuildRequires: jpackage-utils BuildRequires: rpm-javaprov BuildRequires: rpmbuild(macros) >= 1.300 BuildRequires: sed >= 4.0 BuildRequires: servlet = 2.0 Requires(post,preun): rc-scripts Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd Requires: jpackage-utils Requires: jre Requires: rc-scripts >= 0.4.0.19 Requires: servlet = 2.0 Provides: group(jserv) Provides: user(jserv) Obsoletes: ApacheJServ-doc Obsoletes: ApacheJServ-init Obsoletes: jserv BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null) %define httpdconf %(%{apxs} -q SYSCONFDIR 2>/dev/null) %define _sysconfdir /etc/jserv %description Apache JServ is a servlet engine, developed by the Java Apache Project . The Apache JServ servlet engine is written in 100pc Java application, and listens for servlet requests using the Apache Java protocol (AJp). Typically, these requests will originate from the mod_jserv Apache module (DSO included). %description -l pl.UTF-8 Apache JServ jest silnikiem serwletowym, rozwijanym przez Java Apache Project . Silnik serwletowy Apache JServ został napisany od początku do końca w Javie; nasłuchuje wywołań serwletu wykorzystując protokół Apache Java (AJp). Zazwyczaj wywołania te pochodzą z modułu Apache mod_jservmodule (łącznie z DSO). %package -n apache1-mod_jserv Summary: JServ module for Apache Summary(pl.UTF-8): Moduł JServ dla Apache'a Group: Networking/Daemons Requires: apache1-base >= 1.3.33-2 Obsoletes: ApacheJServ-auto %description -n apache1-mod_jserv JServ module for Apache. %description -n apache1-mod_jserv -l pl.UTF-8 Moduł JServ dla Apache'a. %prep %setup -q %patch0 -p0 %patch1 -p0 %patch2 -p1 %patch3 -p1 %patch4 -p1 # servlet-2.0 is the highest version the jserv code compiles with servlet_jar=$(find-jar servlet-2.0) %{__sed} -i -e " s|@JSDK_CLASSES@|$servlet_jar|g s|@JAVA@|%java|g " conf/jserv.properties.in # do not load module in provided jserv.conf; we do this in httpd.conf %{__sed} -i -e 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in # we don't want gcj related deps %{__sed} -i -e '/^SUBDIRS/s,java,,' src/Makefile.am %{__sed} -i -e '/^SUBDIRS/s,example,,' Makefile.am %build export JAVA_HOME="%{java_home}" if [ ! -f _autotools.stamp ]; then %{__gettextize} %{__libtoolize} %{__aclocal} %{__autoconf} %{__automake} touch _autotools.stamp fi ### JSERV CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}" dir=$(pwd) %configure \ %{!?debug:--disable-debugging} \ --with-apxs=%{apxs} \ --with-logdir=/var/log/jserv \ --with-servlets=%{_datadir}/jserv/servlets \ --with-java-platform=1.4 \ --with-JSDK=$(find-jar servlet-2.0) \ %{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=$dir JAVAC_OPT="-source 1.4"} \ %{!?with_gcj:--with-javac=%{javac} --with-java=%{java} --with-jdk-home=$JAVA_HOME} \ %{?with_gcj:--with-javac=%{_bindir}/gcj --with-jar=%{_bindir}/fastjar} \ %{__make} %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \ -C src/java %{__make} %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{httpdconf}/conf.d,%{_javadir},%{_sbindir}} install %{SOURCE2} $RPM_BUILD_ROOT%{httpdconf}/conf.d/80_mod_jserv.conf install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/jserv install %{SOURCE5} $RPM_BUILD_ROOT%{_sbindir} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT # we removed java from SUBDIRS, so do it manually %{__make} install \ %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \ -C src/java \ DESTDIR=$RPM_BUILD_ROOT > $RPM_BUILD_ROOT%{httpdconf}/jserv.secret.key > $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key install -d $RPM_BUILD_ROOT%{_datadir}/jserv/servlets # duplicate rm -f $RPM_BUILD_ROOT%{_sysconfdir}/jserv.conf rm -rf $RPM_BUILD_ROOT%{_prefix}/docs %clean rm -rf $RPM_BUILD_ROOT %pre %groupadd -g 154 jserv %useradd -u 154 -g jserv -d /etc/jserv -c "JServ User" jserv %post if [ ! -s %{_sysconfdir}/jserv.secret.key ]; then if [ -s %{httpdconf}/jserv.secret.key ]; then cat %{httpdconf}/jserv.secret.key > %{_sysconfdir}/jserv.secret.key else dd if=/dev/urandom bs=1 count=42 2>/dev/null \ | (md5sum 2>/dev/null || cat) > %{_sysconfdir}/jserv.secret.key fi fi /sbin/chkconfig --add jserv %service jserv restart "Apache JServ Daemon" %preun if [ "$1" = 0 ]; then %service jserv stop /sbin/chkconfig --del jserv fi %postun if [ "$1" = "0" ]; then %userremove jserv %groupremove jserv fi %post -n apache1-mod_jserv if [ ! -s %{httpdconf}/jserv.secret.key ]; then if [ -s %{_sysconfdir}/jserv.secret.key ]; then cat %{_sysconfdir}/jserv.secret.key > %{httpdconf}/jserv.secret.key else dd if=/dev/urandom bs=1 count=42 2>/dev/null \ | (md5sum 2>/dev/null || cat) > %{httpdconf}/jserv.secret.key fi fi %service -q apache restart %postun -n apache1-mod_jserv if [ "$1" = "0" ]; then %service -q apache restart fi %files %defattr(644,root,root,755) %doc LICENSE README %doc index.html docs %dir %attr(750,root,jserv) %{_sysconfdir} %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.secret.key %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.properties %attr(640,root,jserv) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zone.properties %attr(754,root,root) /etc/rc.d/init.d/jserv %attr(755,root,root) %{_sbindir}/runjserv %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/jserv %{_javadir}/ApacheJServ.jar %dir %{_datadir}/jserv %dir %attr(750,root,jserv) %{_datadir}/jserv/servlets %attr(770,root,jserv) %dir /var/log/jserv %files -n apache1-mod_jserv %defattr(644,root,root,755) %attr(755,root,root) %{_pkglibdir}/mod_jserv.so %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/conf.d/80_mod_jserv.conf %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/jserv.secret.key