From bb0b1c71aa5dc9c80a4e859a0f1cdc327d67e399 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Thu, 17 Jun 2010 17:29:27 +0800 Subject: zope 2.10.9-1 from Jonathan Steffan --- zope/F-13/zope-2.10.4-config.patch | 18 +++ zope/F-13/zope-2.10.8-configure.patch | 12 ++ zope/F-13/zope-README.Fedora | 12 ++ zope/F-13/zope.init.in | 83 +++++++++++++ zope/F-13/zope.logrotate.cron.in | 6 + zope/F-13/zope.logrotate.in | 10 ++ zope/F-13/zope.spec | 213 ++++++++++++++++++++++++++++++++++ zope/F-13/zope.sysconfig.in | 7 ++ zope/F-13/zope.zopectl.in | 6 + 9 files changed, 367 insertions(+) create mode 100644 zope/F-13/zope-2.10.4-config.patch create mode 100644 zope/F-13/zope-2.10.8-configure.patch create mode 100644 zope/F-13/zope-README.Fedora create mode 100644 zope/F-13/zope.init.in create mode 100644 zope/F-13/zope.logrotate.cron.in create mode 100644 zope/F-13/zope.logrotate.in create mode 100644 zope/F-13/zope.spec create mode 100644 zope/F-13/zope.sysconfig.in create mode 100644 zope/F-13/zope.zopectl.in 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 <>/lib/zope. +You can create additional instances using the mkzopeinstance.py script + +Add your instances to <>/sysconfig/zope to make the zopectl script +aware of them. Every operation run by <>/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="<>/zopectl" +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 + +. <>/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 @@ +<>/log/*.log { + missingok + sharedscripts + rotate 4 + weekly + compress + postrotate + <>/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},g; + s,<>,%{_bindir},g; + s,<>,%{_localstatedir},g; + s,<>,%{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 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 2.10.8-1 +- Update to 2.10.8 + +* Sat Oct 25 2008 Jonathan Steffan 2.10.7-1 +- Update to 2.10.7 + +* Sun May 11 2008 Jonathan Steffan 2.10.6-1 +- Update to 2.10.6 +- Add a patch to allow python 2.4.3 + +* Thu Nov 8 2007 Jonathan Steffan 2.10.5-2 +- Update permissions for zopectl and runzope + +* Sat Nov 3 2007 Jonathan Steffan 2.10.5-1 +- Update to zope 2.10.5 + +* Mon Sep 3 2007 Jonathan Steffan 2.10.4-3 +- Updated Requires for libxml2-python and python-elementtree + +* Tue Aug 14 2007 Jonathan Steffan 2.10.4-2 +- Added config patch + +* Wed Aug 1 2007 Jonathan Steffan 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="<>/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 + +. <>/sysconfig/zope +for instance in $ZOPE_INSTANCES; do + $instance/bin/zopectl "$@" +done -- cgit