]> git.pld-linux.org Git - packages/ApacheJServ.git/commitdiff
- raw version.
authorkloczek <kloczek@pld-linux.org>
Sun, 20 Feb 2000 08:38:39 +0000 (08:38 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    ApacheJServ.spec -> 1.1

ApacheJServ.spec [new file with mode: 0644]

diff --git a/ApacheJServ.spec b/ApacheJServ.spec
new file mode 100644 (file)
index 0000000..ac5e669
--- /dev/null
@@ -0,0 +1,461 @@
+%define myprefix       /usr
+
+# we should determine these places with apxs..
+# it would be nice to do this at install-time
+# as well in order to dynamically 'relocate' the package.
+# .. but I think we've to wait for a new RPM to make this happen
+##
+
+## unfortuatly, we don't know the location of the apxs-binary yet .. and
+## it may not be in the path which will make the build fail (can
+## we set defines conditionally ?)
+
+#%define libexecdir `apxs -q LIBEXECDIR`
+%define libexecdir /usr/lib/apache
+
+#%define httpdconf `apxs -q SYSCONFDIR`
+%define httpdconf  /etc/httpd/conf
+
+%define jservconf  %{httpdconf}/jserv
+%define logdir    /var/log/httpd
+%define servletdir /home/httpd/servlets
+%define classesdir /home/httpd/classes
+%define jsdkversion 19991120
+
+Source:                %{name}-%{version}.tar.gz
+Source1:       http://www.euronet.nl/~pauls/java/servlet/download/classpathx_servlet-%{jsdkversion}.tar.gz
+Patch0:                jserv-enable-secret.patch
+Patch1:                ApacheJServ-1.1-megaloman.patch
+
+Summary:       Servlet engine with support for the leading web server
+Name:          ApacheJServ
+Version:       1.1
+Release:       3
+URL:           http://java.apache.org/
+Copyright:     Freely distributable & usable
+Group:         Networking/Daemons
+Packager:      Henner Zeller <zeller@to.com>
+Docdir:                %{myprefix}/doc
+Requires:      apache >= 1.3.6
+Provides:      jserv jsdk20
+BuildRoot:     /var/tmp/%{name}-%{version}-root
+Prefix:                %{myprefix}
+
+#BuildRequires: any-java-compiler
+
+BuildRequires: automake     >= 1.4
+BuildRequires: autoconf     >= 2.13
+BuildRequires: libtool      >= 1.3.3 
+
+## Building this package depending on standard RPM packages
+## requires the apxs utility to be there, located in the apache-devel package.
+## Because the RH 6.1 1.3.9-4 version has a bug, we need a newer package.
+## Comment this out if you want to build this SRC-RPM on your personal
+## installation of apache (and thus, apxs).
+## (dunno, at which particular release this was fixed .. -4 was faulty and
+##  -8 works)
+BuildRequires: apache-devel >= 1.3.9-8
+
+%description
+Apache JServ is a servlet engine, developed by the 
+Java Apache Project <http://java.apache.org/>.
+
+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).
+
+This package contains a LGPL'ed implementation of sun's java servlet api 
+version 2.0 by Paul Siegmann <http://www.euronet.nl/~pauls/java/servlet/>
+
+%prep
+rm -rf $RPM_BUILD_ROOT
+%setup -a 1 -n %{name}-%{version}
+
+# enable socket authentification
+%patch0
+%patch1 -p1
+
+# 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 conf/jserv.properties.in.new 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 conf/jserv.conf.in.new conf/jserv.conf.in
+
+# prepare compilation
+aclocal
+autoconf
+automake
+
+%build
+
+### jsdk API
+make -C classpathx_servlet-%{jsdkversion} jar_2_0
+make -C classpathx_servlet-%{jsdkversion}/apidoc
+
+# copy API-doc
+mkdir 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
+
+
+### JSERV
+
+# find apxs utility ..
+# .. in PATH
+APXS_UTIL=`type -p apxs || true`
+
+# .. from RPM
+if test "x$APXS_UTIL" = x ; then
+  # mmh, is it possible to query just for
+  # the executeables  (like -qd and -qc) ?
+  APXSMATCH=`rpm -ql apache-devel apache | grep apxs`
+  for f in $APXSMATCH ; do
+    if test -x "$f"  ; then
+       APXS_UTIL=$f
+       break
+    fi
+  done
+fi
+
+# .. at usual places
+if test "x$APXS_UTIL" = x ; then
+   for loc in \
+    /usr/bin               \
+    /usr/sbin              \
+    /usr/local/apache/bin  \
+    /usr/local/apache/sbin \
+    /usr/local/httpd/bin   \
+    /usr/local/httpd/sbin 
+  do
+    if test -x "$loc/apxs" ; then
+       APXS_UTIL="$loc/apxs"
+       break
+    fi
+  done
+fi
+
+if test "x$APXS_UTIL" = x ; then
+   echo "Didn't find apxs .. exiting"
+   exit -1
+fi
+
+APXS_CFLAGS=`$APXS_UTIL -q CFLAGS`
+CFLAGS="$APXS_CFLAGS $RPM_OPT_FLAGS" ./configure \
+       --prefix=%{myprefix}          \
+       --disable-debugging           \
+       --with-apxs=$APXS_UTIL        \
+       --with-logdir=%{logdir}       \
+       --with-servlets=%{servletdir} \
+       --with-JSDK=`pwd`/classpathx_servlet-%{jsdkversion}/servlet-2.0.jar
+make
+
+%install
+make DESTDIR=$RPM_BUILD_ROOT install
+
+echo "default - change on install `date`" > $RPM_BUILD_ROOT/%{jservconf}/jserv.secret.key
+chmod 600 $RPM_BUILD_ROOT/%{jservconf}/jserv.secret.key
+
+# currently disabled
+#install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
+#install -d $RPM_BUILD_ROOT/etc/profile.d
+#install -d $RPM_BUILD_ROOT/etc/logrotate.d
+#install -m755 src/scripts/package/rpm/jserv.init      $RPM_BUILD_ROOT/etc/rc.d/init.d/jserv
+#install -m755 src/scripts/package/rpm/jserv.sh        $RPM_BUILD_ROOT/etc/profile.d
+#install -m644 src/scripts/package/rpm/jserv.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/jserv
+
+### GNU JSDK-classes
+install -d ${RPM_BUILD_ROOT}%{classesdir}
+install classpathx_servlet-%{jsdkversion}/servlet-2.0.jar ${RPM_BUILD_ROOT}%{classesdir}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+
+# use fortune + install-date + process-list to create pseudo-random, hardly
+# guessable secret key. Use md5sum to create a hash from this, if available:
+(/usr/games/fortune 2>/dev/null ; date ; ps -eal 2>/dev/null)   \
+                   | (md5sum 2>/dev/null || cat)               \
+                   > %{jservconf}/jserv.secret.key 
+chmod 600 %{jservconf}/jserv.secret.key
+
+#
+# determine apache-USER and chown the jserv.secrect.key - file
+#
+APACHEUSER=`grep "^User[        ]\+" %{httpdconf}/httpd.conf | awk '{print $2}'`
+if test ! "x$APACHEUSER" = x ; then
+   USERCOMMENT="(which is '$APACHEUSER' ?)"
+else
+   # assumption:
+   APACHEUSER=nobody
+fi
+chown $APACHEUSER %{jservconf}/jserv.secret.key
+
+#
+# determine apache-GROUP and allow this group to write to %{logdir}
+APACHEGROUP=`grep "^Group[      ]\+" %{httpdconf}/httpd.conf | awk '{print $2}'`
+if test "x$APACHEGROUP" = x ; then
+   APACHEGROUP=nobody
+fi
+chgrp $APACHEGROUP %{logdir}
+chmod g+w %{logdir}
+
+#
+# Add 'jserv' as an independent service (manual mode)
+#/sbin/chkconfig --add jserv
+#/etc/rc.d/init.d/jserv start
+
+#
+# Find Include Statement or add it if necessary
+#
+cp %{httpdconf}/httpd.conf %{httpdconf}/httpd.conf.rpmorig
+grep '#\?.*[iI]nclude.*/jserv.conf' %{httpdconf}/httpd.conf \
+     >/dev/null
+if test $? -eq 0 ; then
+   # found. Insert our include statement here
+   ## this depends on GNU-sed ('|') .. but we're on a RedHat system anyway
+   sed 's|^#\?\(.*Include\).*/jserv.conf.*$|\1 %{jservconf}/jserv.conf|g' \
+       < %{httpdconf}/httpd.conf.rpmorig                 \
+       > %{httpdconf}/httpd.conf
+else
+   # append it
+   ( 
+     echo "<IfModule mod_jserv.c>"
+     echo "         Include %{jservconf}/jserv.conf"
+     echo "</IfModule>"
+   ) >> %{httpdconf}/httpd.conf
+fi
+
+#
+# LoadModule; uncomment or insert
+#
+grep '#\?.*LoadModule.*jserv_module.*mod_jserv.so' %{httpdconf}/httpd.conf \
+     >/dev/null
+if test $? -eq 0 ; then
+   # found. Remove any comment
+   sed 's|^#.*\(LoadModule.*mod_jserv.so\)|\1|g' \
+       < %{httpdconf}/httpd.conf                 \
+       > %{httpdconf}/httpd.conf.loadMod
+   mv %{httpdconf}/httpd.conf.loadMod %{httpdconf}/httpd.conf
+else
+   # Insert LoadModule line before first valid LoadModule
+   ( echo "/^LoadModule"
+     echo "i"
+     echo "LoadModule jserv_module     modules/mod_jserv.so"
+     echo "."
+     echo "wq"
+   ) | ed %{httpdconf}/httpd.conf > /dev/null 2>&1
+fi
+
+#
+# AddModule; uncomment or insert
+#
+grep '#\?.*AddModule.*mod_jserv.c' %{httpdconf}/httpd.conf >/dev/null
+if test $? -eq 0  ; then
+   # found. Remove any comment
+   sed 's|^#.*\(AddModule.*mod_jserv.c\)|\1|g' \
+       < %{httpdconf}/httpd.conf               \
+       > %{httpdconf}/httpd.conf.addMod
+   mv %{httpdconf}/httpd.conf.addMod %{httpdconf}/httpd.conf
+else
+   ( echo "/^AddModule"
+     echo "i"
+     echo "AddModule mod_jserv.c"
+     echo "."
+     echo "wq"
+   ) | ed %{httpdconf}/httpd.conf > /dev/null 2>&1
+fi
+
+#
+# Search vor JAVA at possible locations and edit wrapper.bin
+#
+unset JAVABIN
+for lookfor in java jre ; do
+  for loc in \
+    $JAVA_HOME           \
+    $JDK_HOME            \
+    /usr/local/java       \
+    /usr/local/jdk       \
+    /usr/local/jdk117_v3  \
+    /usr/local/jdk117_v1a
+  do
+    if test -x "$loc/bin/$lookfor" ; then
+       JAVABIN="$loc/bin/$lookfor"
+       break
+    fi
+  done
+
+  if test -z "$JAVABIN" ; then
+    for prefix in /usr/jdk /usr/jdk- /usr/local/jdk /usr/local/jdk- ; do
+      for jplatform in 2 1 ; do
+        for subvers in .9 .8 .7 .6 .5 .4 .3 .2 .1 "" ; do
+          if test -x "${prefix}1.$jplatform$subvers/bin/$lookfor" ; then
+            JAVABIN="${prefix}1.$jplatform$subvers/bin/$lookfor"
+            break
+         fi
+        done
+       if test ! -z "$JAVABIN" ; then break ; fi
+      done
+      if test ! -z "$JAVABIN" ; then break ; fi
+    done
+  fi
+  if test ! -z "$JAVABIN" ; then break ; fi
+done
+
+if test ! -z "$JAVABIN" ; then
+   sed "s|^wrapper.bin=.*$|wrapper.bin=$JAVABIN|" \
+       < %{jservconf}/jserv.properties \
+       > %{jservconf}/jserv.properties.new
+   mv %{jservconf}/jserv.properties.new %{jservconf}/jserv.properties
+fi
+
+#
+# Get Server Port to echo right URL below
+#
+SERVERPORT=`grep "^Port" %{httpdconf}/httpd.conf | \
+                       head -1 | awk '{print ":" $2}'`
+if test "$SERVERPORT" = ":80" ; then
+       SERVERPORT=""
+fi
+
+#FIXME: make this i18n-aware
+
+if test ! "x$JAVABIN" = x ; then
+   echo "using java VM $JAVABIN"
+else
+   echo "## didn't find java or jre. Please install it and edit the"
+   echo "## wrapper.bin property in %{jservconf}/jserv.properties"
+fi
+echo ""
+echo "In order to enable JServ, restart the webserver and try"
+echo "          http://localhost$SERVERPORT/servlets/IsItWorking"
+echo "  and"
+echo "          http://localhost$SERVERPORT/jserv/"
+echo "-- ENJOY! --"
+echo ""
+
+## we hopefully may distribute SUN-jsdk.jar with jserv once ..
+echo " | NOTE that this distribution contains a fully functional"
+echo " | free jsdk replacement, see <http://www.euronet.nl/~pauls/java/servlet/>."
+echo " | If you want to use the SUN-jsdk, replace the servlet-2.0.jar"
+echo " | in the wrapper.classpath - line in the file"
+echo " |                %{jservconf}/jserv.properties"
+echo " | with the SUN jsdk."
+echo " | Get it from <http://java.sun.com/products/servlet/>."
+echo " | Only JSDK 2.0 (Java Servlet Development Kit)"
+echo " | is supported (_EXACTLY_ 2.0)."
+echo ""
+
+echo "Please send comments/suggestions regarding"
+echo "this RPM to <zeller@to.com>."
+
+
+%preun
+# do not remove the configured stuff if we upgrade.
+# the $1 argument contains the number of packages _after_ installation.
+if [ ! $1 -eq 0 ] ; then
+   exit 0
+fi
+
+# Remove 'jserv' service (manual mode)
+#/etc/rc.d/init.d/jserv stop
+#/sbin/chkconfig --del jserv
+
+#
+# Find jserv related configuration settings and comment
+# them out
+#
+cp %{httpdconf}/httpd.conf %{httpdconf}/httpd.conf.rpmorig
+sed 's|.*\(Include.*%{jservconf}/jserv.conf\)|#\1|g' \
+    < %{httpdconf}/httpd.conf.rpmorig                \
+    | sed 's|^\(AddModule.*mod_jserv.c\)|#\1|g'      \
+    | sed 's|^\(LoadModule.*mod_jserv.so\)|#\1|g'    \
+    > %{httpdconf}/httpd.conf
+# remove old logs
+/bin/rm -fr %{logdir}/mod_jserv.log
+/bin/rm -fr %{logdir}/jserv.log
+
+%files
+%defattr(-,root,root)
+# mmh, we can't give %{prefix}/docs to %doc ..
+%doc index.html README docs jsdk-doc
+
+%dir %{jservconf}
+%config %{jservconf}/jserv.properties
+%config %{jservconf}/zone.properties
+%config %{jservconf}/jserv.conf
+
+# these are just for demonstration and thus,
+# no %config-files per-se; do not install
+# them for the RPM-packet
+#%{jservconf}/jserv.properties.default
+#%{jservconf}/zone.properties.default
+#%{jservconf}/jserv.conf.default
+
+%attr(-,nobody,nobody) %{jservconf}/jserv.secret.key
+#%config /etc/rc.d/init.d/jserv
+#%config /etc/logrotate.d/jserv
+#%config /etc/profile.d/jserv.sh
+
+%{libexecdir}/mod_jserv.so
+%{libexecdir}/ApacheJServ.jar
+
+%dir %{classesdir}
+%{classesdir}/servlet-2.0.jar
+
+%dir %{servletdir}
+%{servletdir}/IsItWorking.java
+%{servletdir}/IsItWorking.class
+
+# we need to have write access here
+%attr(-,nobody,-) %dir %{logdir}
+
+%changelog
+* Sun Feb 13 2000 Peter Hanecak <hanecak@megaloman.sk>
+- used 'APXS_CFLAGS=`$APXS_UTIL -q CFLAGS`' and
+  'CFLAGS="$APXS_CFLAGS $RPM_OPT_FLAGS"' to determine build flags
+  (because of EAPI)
+
+* Tue Feb  8 2000 Peter Hanecak <hanecak@megaloman.sk>
+- RPM_OPT_FLAGS passed to CFLAGS
+- build root changed from '/tmp/...' to '/var/tmp/...'
+- install process fixed for 'docs/api'
+
+* Tue Dec 28 1999 HZ <zeller@to.com>
+ - use BuildRequires to reflect the need for current
+   versions of the autoconf/automake suite and a
+   recent apache-devel because of a bug in older
+   versions of this package.
+
+* Thu Sep 30 1999 HZ <zeller@to.com>
+ - Release of 1.1 Beta 1
+
+* Wed Sep 29 1999 Henner Zeller <zeller@to.com>
+ - new build scheme (1.1)
+
+* Sun Sep 19 1999 Henner Zeller <zeller@to.com>
+ - make it work with the apache-1.3.9 RPM
+ - use 'test' instead of '[ ]' in conditionals
+ - look for java virtual machine and edit jserv.properties' wrapper.bin
+
+* Fri Sep 17 1999 Henner Zeller <zeller@to.com>
+ - added LGPL'ed servlet DK by Paul Siegmann
+
+* Wed Aug 18 1999 Henner Zeller <zeller@to.com>
+ - edit httpd.conf automatically
+
+* Sat Jul 24 1999 Henner Zeller <zeller@to.com>
+ - update to install JServ 1.0.*
+
+* Thu Nov 05 1998 Ross Golder <rossigee@bigfoot.com>
+- updated to use the autoconf build system
+
+* Mon Oct 19 1998 Ross Golder <rossg@cpd.co.uk>
+- created from previous work to deploy daily snapshot RPMs
This page took 0.094152 seconds and 4 git commands to generate.