Browse Source

new package: zope 2.6.2 (Content Management System and Application Server)

Ralf S. Engelschall 22 years ago
parent
commit
e7a9d8b5ff
2 changed files with 265 additions and 0 deletions
  1. 123 0
      zope/rc.zope
  2. 142 0
      zope/zope.spec

+ 123 - 0
zope/rc.zope

@@ -0,0 +1,123 @@
+#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
+##
+##  rc.zope -- Run-Commands
+##
+
+%config
+    zope_enable="$openpkg_rc_def"
+    zope_instance_name="default"
+    zope_http_port="8080"
+    zope_ftp_port="8021"
+    zope_webdav_port="9800"
+    zope_dns_host="''"
+    zope_listen_host="127.0.0.1"
+    zope_application_threads="4"
+    zope_python_interp_check_interval="120"
+    zope_access_prolog="true"
+    zope_access_epilog="true"
+    zope_access_numfiles="10"
+    zope_access_minsize="1M"
+    zope_access_complevel="9"
+    zope_event_log_level="0"
+    zope_event_prolog="true"
+    zope_event_epilog="true"
+    zope_event_numfiles="10"
+    zope_event_minsize="1M"
+    zope_event_complevel="9"
+    zope_trace_enable="true"
+    zope_trace_prolog="true"
+    zope_trace_epilog="true"
+    zope_trace_numfiles="10"
+    zope_trace_minsize="1M"
+    zope_trace_complevel="9"
+
+%common
+    zope_software_home="@l_prefix@/lib/zope"
+    zope_instance_home="@l_prefix@/var/zope/$zope_instance_name"
+    zope_access_log_file="$zope_instance_home/var/access.log"
+    zope_event_log_file="$zope_instance_home/var/event.log"
+    zope_trace_log_file="$zope_instance_home/var/trace.log"
+    zope_pidfile="$zope_instance_home/var/Z2.pid"
+    zope_servers="-X"
+    if [ -n $zope_http_port ]; then
+        zope_servers="$zope_servers -w $zope_http_port"
+    fi
+    if [ -n $zope_ftp_port ]; then
+        zope_servers="$zope_servers -f $zope_ftp_port"
+    fi
+    if [ -n $zope_webdav_port ]; then
+        zope_servers="$zope_servers -w $zope_webdav_port"
+    fi
+    zope_opts="-d $zope_dns_host"
+    if [ -n $zope_listen_host ]; then
+        zope_opts="$zope_opts -a $zope_listen_host"
+    else
+        zope_opts="$zope_opts -a ''"
+    fi
+    zope_opts="$zope_opts -t $zope_application_threads"
+    zope_opts="$zope_opts -i $zope_python_interp_check_interval"
+    zope_opts="$zope_opts -l $zope_access_log_file"
+    if [ "$zope_trace_enable" == "true" ]; then
+        zope_opts="$zope_opts -M $zope_trace_log_file"
+    fi
+    zope_env=""
+    if [ -n $zope_event_log_level ]; then
+        zope_env="$zope_env EVENT_LOG_FILE=$zope_event_log_file"
+        zope_env="$zope_env EVENT_LOG_LEVEL=$zope_event_log_level"
+    fi
+    zope_args="$zope_servers $zope_opts $zope_env"
+    zope_signal () {
+        if [ -f ${zope_pidfile} ]; then
+            kill -$1 `cat ${zope_pidfile}`
+            return $?
+        else
+            return 1
+        fi
+    }
+
+%status -u @l_rusr@ -o
+    zope_usable="unknown"
+    zope_active="no"
+    rcService zope enable yes && \
+        if [ -f ${zope_pidfile} ]; then
+            zope_signal 0
+            if [ $? -eq 0 ]; then
+                zope_active="yes"
+            fi
+        fi
+    echo "zope_enable=\"$zope_enable\""
+    echo "zope_usable=\"$zope_usable\""
+    echo "zope_active=\"$zope_active\""
+
+%start -p 400 -u @l_rusr@
+    rcService zope enable yes || exit 0
+    rcService zope active yes && exit 0
+    export SOFTWARE_HOME=$zope_software_home
+    export INSTANCE_HOME=$zope_instance_home
+    export PYTHONPATH=$SOFTWARE_HOME
+    @l_prefix@/bin/python @l_prefix@/libexec/zope/z2.py $zope_args
+
+%stop -p 400 -u @l_rusr@
+    rcService zope enable yes || exit 0
+    rcService zope active no  && exit 0
+    zope_signal TERM
+
+%restart -p 400 -u @l_rusr@
+    rcService zope enable yes || exit 0
+    rc zope stop
+    rc zope start
+
+%reload -p 400 -u @l_rusr@
+    rcService zope enable yes || exit 0
+    rcService zope active no  && exit 0
+    zope_signal HUP
+
+%daily -u @l_rusr@
+    rcService zope enable yes || exit 0
+    shtool rotate -f \
+        -n ${zope_log_numfiles} -s ${zope_log_minsize} -d \
+        -z ${zope_log_complevel} -m 600 -o @l_rusr@ -g @l_rgrp@ \
+        -P "$zope_log_prolog" \
+        -E "$zope_log_epilog && rc zope reload" \
+        $zope_log_file
+

+ 142 - 0
zope/zope.spec

@@ -0,0 +1,142 @@
+##
+##  zope.spec -- OpenPKG RPM Specification
+##  Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
+##  Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.com>
+##  Copyright (c) 2000-2003 Cable & Wireless <http://www.cw.com/>
+##
+##  Permission to use, copy, modify, and distribute this software for
+##  any purpose with or without fee is hereby granted, provided that
+##  the above copyright notice and this permission notice appear in all
+##  copies.
+##
+##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+##  SUCH DAMAGE.
+##
+
+#   package information
+Name:         zope
+Summary:      Content Management System and Application Server
+URL:          http://www.zope.org/
+Vendor:       Zope Corporation
+Packager:     The OpenPKG Project
+Distribution: OpenPKG [EVAL]
+Group:        Web
+License:      Zope Public License
+Version:      2.6.2
+Release:      20031002
+
+#   list of sources
+Source0:      http://www.zope.org/Products/Zope/%{version}/Zope-%{version}-src.tgz
+Source1:      rc.zope
+
+#   build information
+Prefix:       %{l_prefix}
+BuildRoot:    %{l_buildroot}
+BuildPreReq:  OpenPKG, openpkg >= 20030802
+PreReq:       OpenPKG, openpkg >= 20030802
+BuildPreReq:  python >= 2.2.3
+PreReq:       python >= 2.2.3
+AutoReq:      no
+AutoReqProv:  no
+
+%description
+    Zope is the leading Open Source web application server. Zope enables
+    teams to collaborate in the creation and management of dynamic
+    web-based business applications such as intranets and portals.
+    Zope makes it easy to build features such as site search, news,
+    personalization, and e-commerce into your web applications.
+
+%prep
+    %setup -q -n Zope-%{version}-src
+
+%build
+    #   build package
+    CC="%{l_cc}" \
+    CFLAGS="%{l_cflags -O}" \
+    %{l_prefix}/bin/python setup.py build_ext \
+        --force
+
+%install
+    rm -rf $RPM_BUILD_ROOT
+
+    #   install package
+    %{l_prefix}/bin/python setup.py install \
+        --root=$RPM_BUILD_ROOT \
+        --prefix=%{l_prefix} \
+        --install-purelib=%{l_prefix}/lib/zope \
+        --install-platlib=%{l_prefix}/lib/zope \
+        --install-headers=%{l_prefix}/include \
+        --install-scripts=%{l_prefix}/bin \
+        --no-compile
+
+    #   strip down installation
+    rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/zope/import
+
+    #   install additional scripts
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/libexec/zope \
+        $RPM_BUILD_ROOT%{l_prefix}/bin
+    %{l_shtool} install -c -m 755 \
+        z2.py inst/compilezpy.py \
+        $RPM_BUILD_ROOT%{l_prefix}/libexec/zope/
+    %{l_shtool} install -c -m 755 \
+        -e 's;/usr/bin/env python;%{l_prefix}/bin/python;' \
+        zpasswd.py \
+        $RPM_BUILD_ROOT%{l_prefix}/bin/zpasswd
+
+    #   create Zope instance home
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/var/zope/default/var
+
+    #   install run-command script
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
+    %{l_shtool} install -c -m 755 %{l_value -s -a} \
+        %{SOURCE rc.zope} \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+
+    #   determine installation files
+    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
+        %{l_files_std} \
+        '%attr(700,%{l_rusr},%{l_rgrp}) %dir %{l_prefix}/var/zope/default/var'
+
+%files -f files
+
+%clean
+    rm -rf $RPM_BUILD_ROOT
+
+%post
+    #   compile python modules in place after installation
+    echo "Compiling Python modules. Just be patient." |\
+        %{l_rpmtool} msg -b -t info
+    ( cd $RPM_INSTALL_PREFIX/lib/zope
+      find . -name "*.pyc" | xargs rm -f || true
+      $RPM_INSTALL_PREFIX/bin/python \
+          $RPM_INSTALL_PREFIX/libexec/zope/compilezpy.py
+    ) >/dev/null 2>&1 || true
+
+%preun
+    [ $1 -eq 0 ] || exit 0
+
+    #   stop service
+    %{l_rc} zope stop 2>/dev/null
+
+    #   remove compiled python modules
+    ( cd $RPM_INSTALL_PREFIX/lib/zope
+      find . -name "*.pyc" | xargs rm -f || true
+    ) || true
+
+    #   remove log files
+    rm -rf $RPM_INSTALL_PREFIX/var/zope/default/var/* >/dev/null 2>&1 || true
+    exit 0
+