diff --git a/.gitignore b/.gitignore index 7b0b3ec..696f3c5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -Zope-2.9.4-final.tgz +Zope-2.9.7-final.tgz diff --git a/dead.package b/dead.package deleted file mode 100644 index 454e2de..0000000 --- a/dead.package +++ /dev/null @@ -1,6 +0,0 @@ -There is no python 2.4 support for Fedora > 6. - -http://wiki.zope.org/zope3/Zope3UsingPython25 - -https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=233187 - diff --git a/sources b/sources new file mode 100644 index 0000000..de1b0b6 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +f7d900c00fe95d4cce0bc5854bc842b4 Zope-2.9.7-final.tgz diff --git a/zope-2.7.3-config.patch b/zope-2.7.3-config.patch new file mode 100644 index 0000000..6dad0d3 --- /dev/null +++ b/zope-2.7.3-config.patch @@ -0,0 +1,27 @@ +--- ./Zope/skel/etc/zope.conf.in.config 2004-09-28 20:08:52.000000000 +0200 ++++ ./Zope/skel/etc/zope.conf.in 2004-12-10 18:27:55.393492142 +0100 +@@ -138,6 +138,7 @@ + # + # effective-user chrism + ++effective-user <> + + # Directive: enable-product-installation + # +@@ -295,6 +296,7 @@ + # + # mime-types $INSTANCE/etc/mime.types + ++mime-types /etc/mime.types + + # Directive: structured-text-header-level + # +@@ -491,7 +493,7 @@ + # + # Example: + # +-# security-policy-implementation python ++security-policy-implementation python + + # Directive: skip-authentication-checking + # diff --git a/zope-README.Fedora b/zope-README.Fedora new file mode 100644 index 0000000..aaff94f --- /dev/null +++ b/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.configure-2.9.5.patch b/zope.configure-2.9.5.patch new file mode 100644 index 0000000..b695b42 --- /dev/null +++ b/zope.configure-2.9.5.patch @@ -0,0 +1,11 @@ +--- Zope-2.9.5-final.orig/configure 2006-10-02 09:53:36.000000000 -0600 ++++ Zope-2.9.5-final/configure 2006-11-22 14:28:48.000000000 -0700 +@@ -18,7 +18,7 @@ + # 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.2" ++ACCEPTABLE="2.4.2 2.4.4" + + # provide the executable names for all the acceptable versions + # (and the target version) below diff --git a/zope.init.in b/zope.init.in new file mode 100644 index 0000000..1fd5751 --- /dev/null +++ b/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.logrotate.cron.in b/zope.logrotate.cron.in new file mode 100644 index 0000000..b5ae585 --- /dev/null +++ b/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.logrotate.in b/zope.logrotate.in new file mode 100644 index 0000000..38d8656 --- /dev/null +++ b/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.spec b/zope.spec new file mode 100644 index 0000000..ba89894 --- /dev/null +++ b/zope.spec @@ -0,0 +1,357 @@ +%define python_minver 2.4.2 + +%{!?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.9.7 +Release: 2%{?dist} +License: ZPL +Group: System Environment/Daemons +URL: http://www.zope.org/ +Source0: http://www.zope.org/Products/Zope/2.9.7/Zope-2.9.7-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 +#Source10: http://www.zope.org/Products/Zope/Hotfix-2007-03-20/Hotfix-20070320/Hotfix_20070320.tgz +Patch0: zope-2.7.3-config.patch +#Patch1: zope.configure-2.9.5.patch + +BuildRequires: python-devel >= %{python_minver} +BuildRequires: python >= %{python_minver} +Requires: python >= %{python_minver} + +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. + +After starting Zope, you can access it by pointing your browser to +http://localhost:8080 + +%prep +%setup -q -n Zope-%{version}-final +%patch0 -p2 -b .config +#%patch1 -p1 +# remove the backup, or we'll install it too... +rm -f skel/etc/zope.conf.in.config + +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 + +# Hotfix +#tar -xzf %{SOURCE10} -C $RPM_BUILD_ROOT%{software_home}/Products + +chmod 700 $RPM_BUILD_ROOT%{instance_home} +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 +%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(-, %{zope_user}, %{zope_group}) %dir %{instance_home} +%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/bin +%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/Extensions +%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/import +%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/log +%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/lib +%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/Products +%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/README.txt +%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/var +%attr(-, %{zope_user}, %{zope_group}) %config %{instance_home}/etc +%{python_sitearch}/zope.pth + + +%changelog +* Wed May 23 2007 Jonathan Steffan 2.9.7-2 +- Added zope.pth to fix misc. zope scripts including some zeo stuff + +* Mon Apr 2 2007 Jonathan Steffan 2.9.7-1 +- Removed hotfix 20070320 +- Updated to 2.9.7 +- Removed no longer needed patch for acceptable python version + +* Wed Mar 21 2007 Jonathan Steffan 2.9.6-2 +- Added hotfix 20070320 (#233378) + +* Fri Jan 5 2007 Jonathan Steffan 2.9.6-1 +- Updated to 2.9.6 added Five back into Zope (#221252) + +* Tue Nov 22 2006 Jonathan Steffan 2.9.5-1 +- Updated to 2.9.5 and removed not needed patches + +* Tue Nov 21 2006 Jonathan Steffan 2.9.4-3 +- Removed Five from zope package (plone 2.5.1 now provides the needed + version.) + +* Wed Aug 30 2006 Aurelien Bompard 2.9.4-2 +- fix path on x86_64 + +* Wed Aug 30 2006 Aurelien Bompard 2.9.4-1 +- update to 2.9.4 + +* Wed Aug 2 2006 Ville Skyttä - 2.9.3-4 +- Security: fix world-writable permissions on logrotate config files + and README.Fedora (#200794). + +* Mon Jul 10 2006 Aurelien Bompard 2.9.3-3 +- try to fix build on x86_64 (take 2) + +* Mon Jul 10 2006 Aurelien Bompard 2.9.3-2 +- try to fix build on x86_64 (take 1) + +* Mon Jul 10 2006 Aurelien Bompard 2.9.3-1 +- version 2.9.3 +- add Hotfix_20060705 + +* Thu Apr 13 2006 Aurelien Bompard 2.9.2-1 +- version 2.9.2 + +* Tue Feb 21 2006 Aurelien Bompard 2.8.5-1 +- version 2.8.5 + +* Tue Oct 25 2005 Aurelien Bompard 2.8.3-3 +- rebuild + +* Tue Oct 25 2005 Aurelien Bompard 2.8.3-2 +- add warning about zope 2.8 & python 2.4 (bug 171681) + +* Sat Oct 22 2005 Aurelien Bompard 2.8.3-1 +- version 2.8.3 + +* Sat Oct 15 2005 Aurelien Bompard 2.8.2-1 +- version 2.8.2 + +* Sat Sep 10 2005 Aurelien Bompard 2.8.1-1 +- version 2.8.1 + +* Sun Jun 12 2005 Aurelien Bompard 2.8.0-2 +- rebuild + +* Sat Jun 11 2005 Aurelien Bompard 2.8.0-1 +- version 2.8.0 + +* Sun Jun 05 2005 Aurelien Bompard 2.7.6-2 +- don't remove the zope user un postun (to keep the Data.fs to the + correct owner after removal) + +* Sun May 08 2005 Aurelien Bompard 2.7.6-1%{?dist} +- version 2.7.6 +- use disttag + +* Thu Apr 07 2005 Aurelien Bompard 2.7.5-2.fc4 +- add hotfix + +* Thu Mar 24 2005 Aurelien Bompard 2.7.5-1.fc4 +- version 2.7.5 +- drop Epoch +- change release tag for FC4 +- convert some tabs into spaces + +* Wed Jan 26 2005 Aurelien Bompard 2.7.4-1 +- version 2.7.4 +- flag the documentation as %%doc +- make %%zope_home go+rx to allow users to create instances and to allow + access to docs +- add a logrotate cron job +- flag config files as %%config even in %%zope_home and %%instance_home + +* Fri Dec 10 2004 Aurelien Bompard 2.7.3-0.fdr.6 +- activate "security-policy-implementation python" in zope.conf + +* Sun Nov 21 2004 Aurelien Bompard 2.7.3-0.fdr.5 +- revert to zope's default directory tree to allow multiple instances +- make the zopectl script multiple-instaces-aware. +- add README.Fedora + +* Fri Nov 12 2004 Aurelien Bompard 2.7.3-0.fdr.4 +- compile scripts in %zope_home/bin too +- keep skel dir in %zope_home to fix mkzopeinstance +- BuildRequire python, since python-devel doesn't require it. + +* Fri Nov 12 2004 Aurelien Bompard 2.7.3-0.fdr.3 +- compile .pyc instead of just touch-ing them + +* Thu Nov 11 2004 Aurelien Bompard 2.7.3-0.fdr.2 +- deal with leftover .pyc files +- minor spec cleanups + +* Thu Nov 11 2004 Aurelien Bompard 2.7.3-0.fdr.1 +- fix scriptlets requirements +- use standard buildroot +- replace %%buildroot by RPM_BUILD_ROOT +- update to 2.7.3 +- drop Hotfix +- drop patch 1, fixed upstream + +* Tue Aug 10 2004 Aurelien Bompard 2.7.2-0.fdr.3 +- add hotfix from Zope.org: + http://zope.org/Products/Zope/Hotfix-200400807/Hotfix-20040807-alert + +* Wed Aug 04 2004 Aurelien Bompard 2.7.2-0.fdr.2 +- add patch to warn the user that the initial user cannot be added while + Zope is running (from Chris McDonough) + +* Wed Aug 04 2004 Aurelien Bompard 2.7.2-0.fdr.1 +- version 2.7.2 +- remove leftover byte-compilation in %%post +- Zope 2.7.x really requires python >= 2.3.3 + +* Wed Jul 14 2004 Rex Dieter 2.7.1-0.fdr.1 +- 2.7.1 +- move files created in %%post back into rpm. Unowned files are bad. +- make (theoretically) buildable for all rh73-rh90,fc1/2,el3 + NOTE: lowerred python_minver to 2.2.2 to test builds, though (most) + docs claim 2.3.3 is required. (??) +- don't use Requires(preun,postun) +- use %%_smp_mflags + +* Tue Apr 28 2004 Chris McDonough 2.7.0-0.fdr.1 +- Prep for submission to Fedora.us by revising work done by Matthias +- Refer to source files by URL instead of by name +- Write version.txt into software home in post +- Don't ship byte-compiled files, instead compile them in post +- Add patch for inverted P_WAIT/P_NOWAIT in zdctl (fixes startup) +- Add patch for objectmanager bug that could effect sites that depend + on userid/username separation +- Improved init script (OK and FAILED now are printed at the appropriate + times) +- Remove runzope workaround by adding a stanza to the + config file. +- Start in runlevels 345. +- Known issues: + - zopectl is started and runs as the root user at boot time, + (although Zope itself runs as the zope user) + - no distro-specific docs telling people which port the software + runs on or how to add a user via zopectl adduser. + +* Wed Feb 18 2004 Matthias Saou 2.7.0-0.6.fr +- Initial RPM release. +- The startup/stop needs to be modified further. +- Currently "zopectl" returns an error although Zope does start... + diff --git a/zope.sysconfig.in b/zope.sysconfig.in new file mode 100644 index 0000000..f7f68b7 --- /dev/null +++ b/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.zopectl.in b/zope.zopectl.in new file mode 100644 index 0000000..7168263 --- /dev/null +++ b/zope.zopectl.in @@ -0,0 +1,6 @@ +#!/bin/bash + +. <>/sysconfig/zope +for instance in $ZOPE_INSTANCES; do + $instance/bin/zopectl "$@" +done