Compare commits
16 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
538cf7728b | ||
|
|
6b2deed2ef | ||
|
|
6e17043de9 | ||
|
|
47eb85a97a | ||
|
|
d8c769481a | ||
|
|
cbd76f5631 | ||
|
|
fa1cbed848 | ||
|
|
86a4aa5586 | ||
|
|
0748dcc12c | ||
|
|
1a3deaad4f | ||
|
|
3cc99b847b | ||
|
|
7d625ec758 | ||
|
|
dbe5148f7c | ||
|
|
0ae158a358 | ||
|
|
6433cea78a | ||
|
|
936e3fcbf6 |
11 changed files with 341 additions and 7 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1 +1 @@
|
|||
Zope-2.9.4-final.tgz
|
||||
Zope-2.10.5-final.tgz
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
1
sources
Normal file
1
sources
Normal file
|
|
@ -0,0 +1 @@
|
|||
55c0f0c32e41ab3262991b10da967d85 Zope-2.10.5-final.tgz
|
||||
18
zope-2.10.4-config.patch
Normal file
18
zope-2.10.4-config.patch
Normal file
|
|
@ -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
|
||||
#
|
||||
12
zope-README.Fedora
Normal file
12
zope-README.Fedora
Normal file
|
|
@ -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.
|
||||
83
zope.init.in
Normal file
83
zope.init.in
Normal file
|
|
@ -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
|
||||
6
zope.logrotate.cron.in
Normal file
6
zope.logrotate.cron.in
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
. <<SYSCONFDIR>>/sysconfig/zope
|
||||
for instance in $ZOPE_INSTANCES; do
|
||||
logrotate $instance/etc/logrotate.conf
|
||||
done
|
||||
10
zope.logrotate.in
Normal file
10
zope.logrotate.in
Normal file
|
|
@ -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
|
||||
}
|
||||
197
zope.spec
Normal file
197
zope.spec
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%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.5
|
||||
Release: 2%{?dist}
|
||||
License: ZPL
|
||||
Group: System Environment/Daemons
|
||||
URL: http://www.zope.org/
|
||||
Source0: http://www.zope.org/Products/Zope/2.10.5/Zope-2.10.5-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
|
||||
|
||||
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
|
||||
|
||||
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 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
|
||||
|
||||
7
zope.sysconfig.in
Normal file
7
zope.sysconfig.in
Normal file
|
|
@ -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"
|
||||
6
zope.zopectl.in
Normal file
6
zope.zopectl.in
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
. <<SYSCONFDIR>>/sysconfig/zope
|
||||
for instance in $ZOPE_INSTANCES; do
|
||||
$instance/bin/zopectl "$@"
|
||||
done
|
||||
Reference in a new issue