]> git.pld-linux.org Git - packages/ApacheJServ.git/blobdiff - ApacheJServ.spec
- more fixes
[packages/ApacheJServ.git] / ApacheJServ.spec
index b0dcb173202ad94077b2b438eced3a647ef39361..c799092d0fda395988b7b68d8acee228efde55bd 100644 (file)
@@ -1,11 +1,13 @@
+# Conditional build:
+%bcond_with    gcj     # use javac instead of GCJ
+
 %define                jsdkversion     20000924
 %define                apxs            /usr/sbin/apxs1
-
 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.1
+Release:       0.4
 License:       freely distributable & usable (JServ), LGPL (JSDK)
 Group:         Networking/Daemons
 Source0:       http://java.apache.org/jserv/dist/%{name}-%{version}.tar.gz
@@ -16,7 +18,16 @@ Patch0:              %{name}-enable-secret.patch
 Patch1:                %{name}-ac.patch
 URL:           http://java.apache.org/
 BuildRequires: apache1-devel >= 1.3.9-8
+%if %{with gcj}
+BuildRequires: gcc-java
+BuildRequires: fastjar
+#BuildRequires:        gcc-java-tools
+Requires:      /usr/bin/gij
+%else
+#BuildRequires:        jar
 BuildRequires: jdk
+#Requires:     jre
+%endif
 Requires(post):        awk
 Requires(post):        ed
 Requires(post):        grep
@@ -35,6 +46,7 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                logdir          /var/log/httpd
 %define                servletdir      %{_datadir}/jserv/servlets
 %define                classesdir      %{_datadir}/jserv/classes
+%define                _noautocompressdoc  package-list
 
 %description
 Apache JServ is a servlet engine, developed by the Java Apache Project
@@ -55,53 +67,69 @@ ten zawiera sunowsk
 (na licencji LGPL) napisana przez Paula Siegmanna
 <http://www.euronet.nl/~pauls/java/servlet/>
 
+%package doc
+Summary:       ApacheJServ documentation
+Group:         Development/Languages/Java
+
+%description doc
+ApacheJserv documentation.
+
 %prep
 %setup -q -a1
 %patch0 -p0
 %patch1 -p0
 
 # final position of GNU JSDK-Classes
-sed 's|@JSDK_CLASSES@|%{classesdir}/servlet-2.0.jar|g' \
-       conf/jserv.properties.in > conf/jserv.properties.in.new
-mv -f conf/jserv.properties.in.new conf/jserv.properties.in
+sed -i -e 's|@JSDK_CLASSES@|%{classesdir}/servlet-2.0.jar|g' conf/jserv.properties.in 
 
 # do not load module in provided jserv.conf; we do this in httpd.conf
-sed 's|@LOAD_OR_NOT@|#|g' conf/jserv.conf.in \
-       > conf/jserv.conf.in.new
-mv -f conf/jserv.conf.in.new conf/jserv.conf.in
+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
-%{__gettextize}
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-#{__autoheader}
-#{__automake}
+if [ ! -f _autotools.done.1 ]; then
+       %{__gettextize}
+       %{__libtoolize}
+       %{__aclocal}
+       %{__autoconf}
+       %{__automake}
+       touch _autotools.done.1
+fi
 
 # prepare compilation
-%{__make} -C classpathx_servlet-%{jsdkversion} jar_2_0
-%{__make} -C classpathx_servlet-%{jsdkversion}/apidoc
+if [ ! -f classpathx_servlet-%{jsdkversion}/servlet-2.0.jar ]; then
+       %{__make} -C classpathx_servlet-%{jsdkversion} jar_2_0
+fi
 
-# copy API-doc
-mkdir -p jsdk-doc
-cp classpathx_servlet-%{jsdkversion}/README \
-       classpathx_servlet-%{jsdkversion}/AUTHORS \
-       classpathx_servlet-%{jsdkversion}/COPYING.LIB \
-       jsdk-doc
-cp -r classpathx_servlet-%{jsdkversion}/apidoc jsdk-doc
+if [ ! -d jsdk-doc ]; then
+       %{__make} -C classpathx_servlet-%{jsdkversion}/apidoc
 
-### JSERV
+       # copy API-doc
+       mkdir jsdk-doc
+       cp classpathx_servlet-%{jsdkversion}/{README,AUTHORS,COPYING.LIB} jsdk-doc
+       cp -r classpathx_servlet-%{jsdkversion}/apidoc jsdk-doc
+fi
+
+#%{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=`pwd`  JAVAC_OPT="-source 1.4" ac_cv_objext=class} \
 
+### JSERV
 APXS_CFLAGS=`%{apxs} -q CFLAGS`
+%{!?with_gcj:GCJ=javac GCJFLAGS= CLASSPATH=`pwd`  JAVAC_OPT="-source 1.4"} \
 CFLAGS="$APXS_CFLAGS %{rpmcflags}" ./configure \
        --prefix=%{_prefix} \
        --disable-debugging \
        --with-apxs=%{apxs} \
        --with-logdir=%{logdir} \
        --with-servlets=%{servletdir} \
+    %{!?with_gcj:--with-javac=%{_bindir}/javac --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-jdk-home=%{_libdir}/java
 
+%{__make} %{!?with_gcj:OBJEXT=class JAVAC_OPT='-source 1.4'} \
+       -C src/java
 %{__make}
 
 %install
@@ -112,6 +140,12 @@ install -d $RPM_BUILD_ROOT%{classesdir}
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
+# we removed java, 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 `date`" > $RPM_BUILD_ROOT%{jservconf}/jserv.secret.key
 chmod 600 $RPM_BUILD_ROOT%{jservconf}/jserv.secret.key
 
@@ -123,8 +157,8 @@ chmod 600 $RPM_BUILD_ROOT%{jservconf}/jserv.secret.key
 ### GNU JSDK-classes
 install classpathx_servlet-%{jsdkversion}/servlet-2.0.jar $RPM_BUILD_ROOT%{classesdir}
 
-find docs jsdk-doc -name 'Makefile*' | xargs rm -f
-rm -rf jsdk-doc/{COPYING.LIB,CVS}
+find jsdk-doc -name 'Makefile*' | xargs rm -f
+rm -rf jsdk-doc/{COPYING.LIB,CVS} jsdk-doc/apidoc/CVS
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -332,7 +366,7 @@ sed 's|.*\(Include.*%{jservconf}/jserv.conf\)|#\1|g' \
 %files
 %defattr(644,root,root,755)
 # mmh, we can't give %{_prefix}/docs to %doc ..
-%doc index.html LICENSE README docs jsdk-doc
+%doc LICENSE README
 
 %dir %{jservconf}
 %config(noreplace) %verify(not md5 mtime size) %{jservconf}/jserv.properties
@@ -357,11 +391,17 @@ sed 's|.*\(Include.*%{jservconf}/jserv.conf\)|#\1|g' \
 %dir %{classesdir}
 %{classesdir}/servlet-2.0.jar
 
+%if 0
 %dir %{servletdir}
 %{servletdir}/Hello.java
 %{servletdir}/Hello.class
 %{servletdir}/IsItWorking.java
 %{servletdir}/IsItWorking.class
+%endif
 
 # we need to have write access here
 %attr(770,root,http) %dir %{logdir}
+
+%files doc
+%doc index.html docs
+%doc jsdk-doc
This page took 0.063119 seconds and 4 git commands to generate.