]> git.pld-linux.org Git - packages/ApacheJServ.git/blobdiff - ApacheJServ.spec
- EA based on where java-sun is available; rel 3
[packages/ApacheJServ.git] / ApacheJServ.spec
index 60dadd98b04a5e3ae009a9c5fc582967062544dc..39eb3acb22a6a11cc1109500032a4ce837120970 100644 (file)
@@ -2,15 +2,16 @@
 # - separate package for jsdk?
 #
 # Conditional build:
-%bcond_with    gcj     # use javac instead of GCJ
+%bcond_with    gcj     # use GCJ instead of javac
 #
 %define                apxs            /usr/sbin/apxs1
 %define                jsdkversion     20000924
+%define                mod_name        jserv
 Summary:       Servlet engine with support for the leading web server
 Summary(pl):   Silnik serwletów ze wsparciem dla wiod±cego serwera WWW
 Name:          ApacheJServ
 Version:       1.1.2
-Release:       0.33
+Release:       3
 License:       freely distributable & usable (JServ), LGPL (JSDK)
 Group:         Networking/Daemons
 Source0:       http://java.apache.org/jserv/dist/%{name}-%{version}.tar.gz
@@ -19,29 +20,48 @@ Source1:    http://www.euronet.nl/~pauls/java/servlet/download/classpathx_servlet-%
 # Source1-md5: a81feddb91b1358f9aaed94e83eddb54
 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
 URL:           http://java.apache.org/
 BuildRequires: apache1-devel >= 1.3.9-8
-BuildRequires: rpmbuild(macros) >= 1.228
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gettext-devel
+BuildRequires: rpmbuild(macros) >= 1.268
 BuildRequires: sed >= 4.0
 %if %{with gcj}
-BuildRequires: gcc-java
 BuildRequires: fastjar
+BuildRequires: gcc-java
+BuildRequires: jdkgcj
 Requires:      /usr/bin/gij
 %else
-BuildRequires: jdk
+BuildRequires: java-sun
+Requires:      java-sun-jre
 %endif
-Provides:      jserv
+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:      %{name} = %{version}-%{release}
+Requires:      rc-scripts >= 0.4.0.19
+Provides:      group(jserv)
 Provides:      jsdk20
+Provides:      jserv
+Provides:      user(jserv)
+Obsoletes:     ApacheJServ-init
+Obsoletes:     jserv
+ExclusiveArch: i586 i686 pentium3 pentium4 athlon %{x8664}
 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
 %define                logdir          /var/log/jserv
-%define                servletdir      %{_datadir}/jserv/servlets
 %define                _noautocompressdoc  package-list
 
 %description
@@ -65,29 +85,16 @@ przez Paula Siegmanna (na licencji LGPL)
 
 %package -n apache1-mod_jserv
 Summary:       JServ module for Apache
+Summary(pl):   Modu³ JServ dla Apache'a
 Group:         Networking/Daemons
-Requires:      %{name} = %{version}-%{release}
 Requires:      apache1 >= 1.3.33-2
+Obsoletes:     ApacheJServ-auto
 
 %description -n apache1-mod_jserv
-Apache JServ apache module.
-
-%package init
-Summary:       ApacheJServ initscript
-Summary(pl):   Skrypt startowy ApacheJServ
-Group:         Development/Languages/Java
-Requires:      %{name} = %{version}-%{release}
-Requires(pre):  /bin/id
-Requires(pre):  /usr/bin/getgid
-Requires(pre):  /usr/sbin/useradd
-Requires(pre):  /usr/sbin/groupadd
-Requires(post,preun):  rc-scripts
-
-%description init
-JServ initscript for standalone mode.
+JServ module for Apache.
 
-%description init -l pl
-Skrypt startowy JServ dla trybu samodzielnego.
+%description -n apache1-mod_jserv -l pl
+Modu³ JServ dla Apache'a.
 
 %package doc
 Summary:       ApacheJServ documentation
@@ -105,6 +112,7 @@ Dokumentacja do ApacheJServ.
 %patch0 -p0
 %patch1 -p0
 %patch2 -p1
+%patch3 -p1
 
 sed -i -e '
        s|@JSDK_CLASSES@|%{_javadir}/servlet-2.0.jar|g
@@ -118,6 +126,8 @@ 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.done.1 ]; then
        %{__gettextize}
        %{__libtoolize}
@@ -143,15 +153,17 @@ fi
 
 ### JSERV
 CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}"
+dir=$(pwd)
 %configure \
        %{!?debug:--disable-debugging} \
        --with-apxs=%{apxs} \
        --with-logdir=%{logdir} \
-       --with-servlets=%{servletdir} \
-       %{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=`pwd` JAVAC_OPT="-source 1.4"} \
-    %{!?with_gcj:--with-javac=%{_bindir}/javac --with-java=%{_bindir}/java --with-jdk-home=%{_libdir}/java} \
-    %{?with_gcj:--with-javac=%{_bindir}/gcj --with-jar=%{_bindir}/fastjar} \
-       --with-JSDK=`pwd`/classpathx_servlet-%{jsdkversion}/servlet-2.0.jar
+       --with-servlets=%{_datadir}/jserv/servlets \
+       --with-java-platform=1.4 \
+       --with-JSDK=$dir/classpathx_servlet-%{jsdkversion}/servlet-2.0.jar \
+       %{!?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
@@ -159,27 +171,26 @@ CFLAGS="$(%{apxs} -q CFLAGS) %{rpmcflags}"
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_javadir}
-install -d $RPM_BUILD_ROOT/etc/apache/conf.d
-install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,profile.d,logrotate.d}
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/81_mod_jserv.conf
+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, so do it manually
+# 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
 
-echo "default - change on install" > $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key
+> $RPM_BUILD_ROOT%{httpdconf}/jserv.secret.key
+> $RPM_BUILD_ROOT%{_sysconfdir}/jserv.secret.key
 
-# currently disabled
-#install src/scripts/package/rpm/jserv.init      $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
-#install src/scripts/package/rpm/jserv.sh        $RPM_BUILD_ROOT/etc/profile.d
-#install src/scripts/package/rpm/jserv.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/jserv
+install -d $RPM_BUILD_ROOT%{_datadir}/jserv/servlets
 
 ### GNU JSDK-classes
 install classpathx_servlet-%{jsdkversion}/servlet-2.0.jar $RPM_BUILD_ROOT%{_javadir}
@@ -189,72 +200,83 @@ rm -rf jsdk-doc/{COPYING.LIB,CVS} jsdk-doc/apidoc/CVS
 
 # duplicate
 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/jserv.conf
+rm -rf $RPM_BUILD_ROOT%{_prefix}/docs
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post
-if [ "$1" = 1 ]; then
-       dd if=/dev/urandom bs=1 count=42 2>/dev/null \
-               | (md5sum 2>/dev/null || cat) > %{_sysconfdir}/jserv.secret.key
-fi
-
-%post -n apache1-mod_jserv
-%service apache restart
+%pre
+%groupadd -g 154 jserv
+%useradd -u 154 -g jserv -d /etc/jserv -c "JServ User" jserv
 
-%postun -n apache1-mod_jserv
-if [ "$1" = "0" ]; then
-       %service -q apache restart
+%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
-
-%pre init
-%groupadd -P %{name}-init -g 154 jserv
-%useradd -P %{name}-init -u 154 -g jserv -d /etc/jserv -c "JServ User" jserv
-
-%post init
 /sbin/chkconfig --add jserv
+%service jserv restart "Apache JServ Daemon"
 
-%preun init
+%preun
 if [ "$1" = 0 ]; then
-       if [ -f /var/lock/subsys/jserv ]; then
-               /etc/rc.d/init.d/jserv stop 1>&2
-       fi
+       %service jserv stop
        /sbin/chkconfig --del jserv
 fi
 
-%postun init
+%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
-%dir %{_sysconfdir}
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.properties
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zone.properties
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jserv.secret.key
+%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
 %{_javadir}/servlet-2.0.jar
+%dir %{_datadir}/jserv
+%dir %attr(750,root,jserv) %{_datadir}/jserv/servlets
 
 %if 0
-%dir %{servletdir}
-%{servletdir}/Hello.java
-%{servletdir}/Hello.class
-%{servletdir}/IsItWorking.java
-%{servletdir}/IsItWorking.class
+%{_datadir}/jserv/servlets/Hello.java
+%{_datadir}/jserv/servlets/Hello.class
+%{_datadir}/jserv/servlets/IsItWorking.java
+%{_datadir}/jserv/servlets/IsItWorking.class
 %endif
+%attr(770,root,jserv) %dir %{logdir}
 
 %files -n apache1-mod_jserv
 %defattr(644,root,root,755)
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{httpdconf}/conf.d/*_mod_jserv.conf
 %attr(755,root,root) %{_pkglibdir}/mod_jserv.so
-%attr(770,root,http) %dir %{logdir}
-
-%files init
-%defattr(644,root,root,755)
-%attr(754,root,root) /etc/rc.d/init.d/jserv
+%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
 
 %files doc
 %defattr(644,root,root,755)
This page took 0.073662 seconds and 4 git commands to generate.