summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Lee <robinlee.sysu@gmail.com>2010-06-17 17:29:27 +0800
committerRobin Lee <robinlee.sysu@gmail.com>2010-06-17 17:29:27 +0800
commitbb0b1c71aa5dc9c80a4e859a0f1cdc327d67e399 (patch)
tree8fd3d1b0c9624e8ceaab7451ae1181c8888499d4
parent93cb6defcdc7d882152772168e300a0b0c7da644 (diff)
downloadzope-rpm-bb0b1c71aa5dc9c80a4e859a0f1cdc327d67e399.tar.gz
zope-rpm-bb0b1c71aa5dc9c80a4e859a0f1cdc327d67e399.tar.xz
zope-rpm-bb0b1c71aa5dc9c80a4e859a0f1cdc327d67e399.zip
zope 2.10.9-1 from Jonathan Steffan <jon a fedoraunity.org>
-rw-r--r--zope/F-13/zope-2.10.4-config.patch18
-rw-r--r--zope/F-13/zope-2.10.8-configure.patch12
-rw-r--r--zope/F-13/zope-README.Fedora12
-rw-r--r--zope/F-13/zope.init.in83
-rw-r--r--zope/F-13/zope.logrotate.cron.in6
-rw-r--r--zope/F-13/zope.logrotate.in10
-rw-r--r--zope/F-13/zope.spec213
-rw-r--r--zope/F-13/zope.sysconfig.in7
-rw-r--r--zope/F-13/zope.zopectl.in6
9 files changed, 367 insertions, 0 deletions
diff --git a/zope/F-13/zope-2.10.4-config.patch b/zope/F-13/zope-2.10.4-config.patch
new file mode 100644
index 0000000..51b5bd7
--- /dev/null
+++ b/zope/F-13/zope-2.10.4-config.patch
@@ -0,0 +1,18 @@
+--- skel/etc/zope.conf.in.orig 2007-08-14 00:14:05.000000000 -0600
++++ skel/etc/zope.conf.in 2007-08-14 00:14:49.000000000 -0600
+@@ -148,6 +148,7 @@
+ #
+ # effective-user chrism
+
++effective-user zope
+
+ # Directive: enable-product-installation
+ #
+@@ -288,6 +289,7 @@
+ #
+ # mime-types $INSTANCE/etc/mime.types
+
++mime-types /etc/mime.types
+
+ # Directive: structured-text-header-level
+ #
diff --git a/zope/F-13/zope-2.10.8-configure.patch b/zope/F-13/zope-2.10.8-configure.patch
new file mode 100644
index 0000000..75f3e22
--- /dev/null
+++ b/zope/F-13/zope-2.10.8-configure.patch
@@ -0,0 +1,12 @@
+diff -up Zope-2.10.8-final/configure.orig Zope-2.10.8-final/configure
+--- Zope-2.10.8-final/configure.orig 2009-05-25 16:43:00.000000000 -0600
++++ Zope-2.10.8-final/configure 2009-05-25 16:43:07.000000000 -0600
+@@ -18,7 +18,7 @@ TARGET="2.4.6"
+ # sys.version) below in "best" to "worst" order, not including the
+ # target version. Up to six acceptable python versions are allowed.
+ # Do not include the target version number in this list!
+-ACCEPTABLE="2.4.5 2.4.4"
++ACCEPTABLE="2.4.5 2.4.4 2.4.3"
+
+ # provide the executable names for all the acceptable versions
+ # (and the target version) below
diff --git a/zope/F-13/zope-README.Fedora b/zope/F-13/zope-README.Fedora
new file mode 100644
index 0000000..aaff94f
--- /dev/null
+++ b/zope/F-13/zope-README.Fedora
@@ -0,0 +1,12 @@
+ ==== Concerning the Fedora package ====
+
+A default instance has been installed in <<LOCALSTATEDIR>>/lib/zope.
+You can create additional instances using the mkzopeinstance.py script
+
+Add your instances to <<SYSCONFDIR>>/sysconfig/zope to make the zopectl script
+aware of them. Every operation run by <<BINDIR>>/zopectl will affect all
+your instances, you can control them independently using the zopectl
+script in the bin/ directory inside your instance.
+
+When you create a new instance, remember to change the default listening
+ports and to chown the directory to the zope user.
diff --git a/zope/F-13/zope.init.in b/zope/F-13/zope.init.in
new file mode 100644
index 0000000..1fd5751
--- /dev/null
+++ b/zope/F-13/zope.init.in
@@ -0,0 +1,83 @@
+#!/bin/sh
+# Startup script for Zope
+#
+# chkconfig: - 80 20
+# description: Zope, a web application server
+#
+# config: $instance/etc/zope.conf
+
+# Source function library.
+. /etc/init.d/functions
+
+RETVAL=0
+zopectl="<<BINDIR>>/zopectl"
+user="<<ZOPE_USER>>"
+prog="zope"
+
+start() {
+ echo -n $"Starting $prog: "
+ output=`$zopectl -u $user start 2>/dev/null`
+ # the return status of zopectl is not reliable, we need to parse
+ # its output via substring match
+ if echo $output | grep -q "started"; then
+ # success
+ touch /var/lock/subsys/$prog
+ success
+ echo
+ RETVAL=0
+ else
+ # failed
+ failure
+ echo
+ RETVAL=1
+ fi
+ return $RETVAL
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ output=`$zopectl -u $user stop 2>/dev/null`
+ # the return status of zopectl is not reliable, we need to parse
+ # its output via substring match
+ if echo $output | grep -q "stopped"; then
+ # success
+ rm -f /var/lock/subsys/$prog
+ success
+ echo
+ RETVAL=0
+ else
+ # failed
+ failure
+ echo
+ RETVAL=1
+ fi
+ return $RETVAL
+}
+
+restart() {
+ stop
+ start
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ $zopectl status
+ ;;
+ restart)
+ restart
+ ;;
+ condrestart)
+ $zopectl status | grep -qs "program running" && restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+ RETVAL=2
+esac
+
+exit $RETVAL
diff --git a/zope/F-13/zope.logrotate.cron.in b/zope/F-13/zope.logrotate.cron.in
new file mode 100644
index 0000000..b5ae585
--- /dev/null
+++ b/zope/F-13/zope.logrotate.cron.in
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+. <<SYSCONFDIR>>/sysconfig/zope
+for instance in $ZOPE_INSTANCES; do
+ logrotate $instance/etc/logrotate.conf
+done
diff --git a/zope/F-13/zope.logrotate.in b/zope/F-13/zope.logrotate.in
new file mode 100644
index 0000000..38d8656
--- /dev/null
+++ b/zope/F-13/zope.logrotate.in
@@ -0,0 +1,10 @@
+<<INSTANCE_HOME>>/log/*.log {
+ missingok
+ sharedscripts
+ rotate 4
+ weekly
+ compress
+ postrotate
+ <<INSTANCE_HOME>>/bin/zopectl logreopen >/dev/null 2>&1
+ endscript
+}
diff --git a/zope/F-13/zope.spec b/zope/F-13/zope.spec
new file mode 100644
index 0000000..9c480da
--- /dev/null
+++ b/zope/F-13/zope.spec
@@ -0,0 +1,213 @@
+%define python_minver 2.4.3
+
+%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
+
+%define zope_user zope
+%define zope_group %{zope_user}
+
+%define zope_home %{_libdir}/zope
+%define software_home %{zope_home}/lib/python
+%define instance_home %{_localstatedir}/lib/zope
+
+%define zopectl %{_bindir}/zopectl
+%define runzope %{_bindir}/runzope
+
+Name: zope
+Summary: Web application server for flexible content management applications
+Version: 2.10.9
+Release: 1%{?dist}
+License: ZPL
+Group: System Environment/Daemons
+URL: http://www.zope.org/
+Source0: http://www.zope.org/Products/Zope/%{version}/Zope-%{version}-final.tgz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Source1: zope.init.in
+Source2: zope.sysconfig.in
+Source3: zope.zopectl.in
+Source4: zope-README.Fedora
+Source5: zope.logrotate.in
+Source6: zope.logrotate.cron.in
+Patch0: zope-2.10.4-config.patch
+Patch1: zope-2.10.8-configure.patch
+
+BuildRequires: python-devel >= %{python_minver}, python >= %{python_minver}
+Requires: python >= %{python_minver}, libxml2-python, python-elementtree
+
+Requires(pre): /usr/sbin/useradd
+Requires(post): /sbin/chkconfig
+Requires(preun): /sbin/chkconfig, /sbin/service
+
+%description
+Zope is an application server framework that enables developers to quickly
+build web applications such as intranets, portals, and content management
+systems.
+
+Zope, by default, will listen on port 8080.
+
+%prep
+%setup -q -n Zope-%{version}-final
+%patch0 -p0
+%patch1 -p1
+
+chmod -x skel/import/README.txt
+install -pm 644 %{SOURCE4} README.Fedora
+install -pm 644 %{SOURCE5} skel/etc/logrotate.conf.in
+
+
+%build
+rm -rf $RPM_BUILD_ROOT # Configure checks for it
+./configure \
+ --prefix=$RPM_BUILD_ROOT%{zope_home} \
+# --with-python=%{_bindir}/python
+# --no-compile
+
+make %{?_smp_mflags}
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+# Create all required additional directories
+for dir in %{zope_home} %{software_home} %{instance_home}/{Products,bin,var} \
+ %{_sysconfdir}/sysconfig %{_bindir}; do
+ install -d $RPM_BUILD_ROOT$dir
+done
+
+
+install -D -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/zope
+install -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/zope
+install -D -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/zopectl
+install -D -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/zope-logrotate
+perl -pi -e 's,<<SYSCONFDIR>>,%{_sysconfdir},g;
+ s,<<BINDIR>>,%{_bindir},g;
+ s,<<LOCALSTATEDIR>>,%{_localstatedir},g;
+ s,<<ZOPE_USER>>,%{zope_user},g' \
+ $RPM_BUILD_ROOT%{_initrddir}/zope \
+ $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/zope \
+ $RPM_BUILD_ROOT%{_bindir}/zopectl \
+ $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/zope-logrotate \
+ README.Fedora skel/etc/zope.conf.in
+
+# Install the skel, translating paths, into the build root
+%{__python} "utilities/copyzopeskel.py" \
+ --sourcedir="skel" \
+ --targetdir="$RPM_BUILD_ROOT%{instance_home}" \
+ --replace="INSTANCE_HOME:%{instance_home}" \
+ --replace="SOFTWARE_HOME:%{software_home}" \
+ --replace="ZOPE_HOME:%{zope_home}" \
+ --replace="PYTHON:%{__python}" \
+
+# Actually copy all the other files over
+make install
+
+chmod 750 $RPM_BUILD_ROOT%{instance_home}
+
+# Fix permissions, must have changed in the upstream tar
+chmod 755 $RPM_BUILD_ROOT%{instance_home}/bin/zopectl
+chmod 755 $RPM_BUILD_ROOT%{instance_home}/bin/runzope
+
+# Set needed permissions
+# We might go as far as to only allow zope r/w to the .pyc files
+for dir in %{instance_home}/{Products,log,lib,var}; do
+ chmod 775 $RPM_BUILD_ROOT$dir
+done
+
+chmod 755 $RPM_BUILD_ROOT%{zope_home}
+
+# included in %%doc
+rm -rf $RPM_BUILD_ROOT%{zope_home}/doc
+
+# write version.txt
+echo "Zope %{version}-%{release}" > \
+ "$RPM_BUILD_ROOT%{software_home}/version.txt"
+
+# write zope.pth
+install -d $RPM_BUILD_ROOT%{python_sitearch}
+echo "%{software_home}" > \
+ "$RPM_BUILD_ROOT%{python_sitearch}/zope.pth"
+
+# Compile .pyc
+%{__python} -c "import compileall; \
+ compileall.compile_dir(\"$RPM_BUILD_ROOT%{zope_home}\", \
+ ddir=\"%{zope_home}\", force=1)"
+
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%pre
+%{_sbindir}/useradd -c "Zope user" -s /bin/false -r -d %{zope_home} \
+ %{zope_user} 2>/dev/null || :
+
+
+%post
+# add zope init to runlevels
+/sbin/chkconfig --add zope
+
+
+%preun
+if [ $1 -eq 0 ]; then
+ /sbin/service zope stop >/dev/null 2>&1
+ /sbin/chkconfig --del zope
+fi
+
+
+
+%files
+%defattr(-, root, root, -)
+%doc doc/* README.Fedora ZopePublicLicense.txt
+%config(noreplace) %{_sysconfdir}/sysconfig/zope
+%config %{_initrddir}/zope
+%config %{_sysconfdir}/cron.daily/zope-logrotate
+%attr(0755, root, root) %{_bindir}/zopectl
+%dir %{zope_home}
+%{zope_home}/bin
+%{zope_home}/lib
+%dir %{zope_home}/skel
+%{zope_home}/skel/bin
+%{zope_home}/skel/Extensions
+%{zope_home}/skel/import
+%{zope_home}/skel/log
+%{zope_home}/skel/lib
+%{zope_home}/skel/Products
+%{zope_home}/skel/README.txt
+%{zope_home}/skel/var
+%config %{zope_home}/skel/etc
+%attr(-, root, %{zope_group}) %{instance_home}/*
+%{python_sitearch}/zope.pth
+
+
+%changelog
+* Thu Aug 6 2009 Jonathan Steffan <jon a fedoraunity.org> 2.10.9-1
+- Update to 2.10.9
+- Fix CVE-2009-0669 (BZ#513428)
+- Fix CVE-2009-0668 (BZ#513422)
+
+* Mon May 25 2009 Jonathan Steffan <jon a fedoraunity.org> 2.10.8-1
+- Update to 2.10.8
+
+* Sat Oct 25 2008 Jonathan Steffan <jon a fedoraunity.org> 2.10.7-1
+- Update to 2.10.7
+
+* Sun May 11 2008 Jonathan Steffan <jon a fedoraunity.org> 2.10.6-1
+- Update to 2.10.6
+- Add a patch to allow python 2.4.3
+
+* Thu Nov 8 2007 Jonathan Steffan <jon a fedoraunity.org> 2.10.5-2
+- Update permissions for zopectl and runzope
+
+* Sat Nov 3 2007 Jonathan Steffan <jon a fedoraunity.org> 2.10.5-1
+- Update to zope 2.10.5
+
+* Mon Sep 3 2007 Jonathan Steffan <jon a fedoraunity.org> 2.10.4-3
+- Updated Requires for libxml2-python and python-elementtree
+
+* Tue Aug 14 2007 Jonathan Steffan <jon a fedoraunity.org> 2.10.4-2
+- Added config patch
+
+* Wed Aug 1 2007 Jonathan Steffan <jon a fedoraunity.org> 2.10.4-1
+- Initial Package
+
diff --git a/zope/F-13/zope.sysconfig.in b/zope/F-13/zope.sysconfig.in
new file mode 100644
index 0000000..f7f68b7
--- /dev/null
+++ b/zope/F-13/zope.sysconfig.in
@@ -0,0 +1,7 @@
+# List here the paths to your Zope instances, space separated.
+#
+# Example : ZOPE_INSTANCES="/var/lib/zope-test /var/lib/zope-prod"
+#
+# This file is used by the generic zopectl script.
+#
+ZOPE_INSTANCES="<<LOCALSTATEDIR>>/lib/zope"
diff --git a/zope/F-13/zope.zopectl.in b/zope/F-13/zope.zopectl.in
new file mode 100644
index 0000000..7168263
--- /dev/null
+++ b/zope/F-13/zope.zopectl.in
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+. <<SYSCONFDIR>>/sysconfig/zope
+for instance in $ZOPE_INSTANCES; do
+ $instance/bin/zopectl "$@"
+done