summaryrefslogtreecommitdiffstats
path: root/zope/F-13/zope.spec
diff options
context:
space:
mode:
Diffstat (limited to 'zope/F-13/zope.spec')
-rw-r--r--zope/F-13/zope.spec209
1 files changed, 143 insertions, 66 deletions
diff --git a/zope/F-13/zope.spec b/zope/F-13/zope.spec
index 9c480da..df8deea 100644
--- a/zope/F-13/zope.spec
+++ b/zope/F-13/zope.spec
@@ -1,6 +1,7 @@
-%define python_minver 2.4.3
-
+%define python_minver 2.6
+%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
+%endif
%define zope_user zope
%define zope_group %{zope_user}
@@ -14,29 +15,86 @@
Name: zope
Summary: Web application server for flexible content management applications
-Version: 2.10.9
+Version: 2.12.7
Release: 1%{?dist}
-License: ZPL
+License: ZPLv2.1
Group: System Environment/Daemons
URL: http://www.zope.org/
-Source0: http://www.zope.org/Products/Zope/%{version}/Zope-%{version}-final.tgz
+Source0: http://pypi.python.org/packages/source/Z/Zope2/Zope2-%{version}.zip
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
+Patch0: zope-2.12.7-config.patch
+
+BuildRequires: python-devel >= %{python_minver}
+BuildRequires: python-setuptools
+BuildRequires: python-sphinx
+Requires: python-Acquisition
+Requires: python-DateTime
+Requires: python-ExtensionClass
+Requires: python-Missing
+Requires: python-MultiMapping
+Requires: python-Persistence
+Requires: python-Record
+Requires: python-RestrictedPython
+Requires: python-ThreadLock
+Requires: python-ZConfig
+Requires: python-ZODB3
+Requires: python-ZopeUndo
+Requires: python-docutils
+Requires: python-five-formlib
+Requires: python-initgroups
+Requires: pytz
+Requires: python-setuptools
+Requires: python-tempstorage
+Requires: python-transaction
+Requires: python-zdaemon
+Requires: python-zLOG
+Requires: python-zope-component
+Requires: python-zope-configuration
+Requires: python-zope-container
+Requires: python-zope-contentprovider
+Requires: python-zope-contenttype
+Requires: python-zope-deferredimport
+Requires: python-zope-event
+Requires: python-zope-exceptions
+Requires: python-zope-i18n
+Requires: python-zope-i18nmessageid
+Requires: python-zope-interface
+Requires: python-zope-lifecycleevent
+Requires: python-zope-location
+Requires: python-zope-mkzeoinstance
+Requires: python-zope-pagetemplate
+Requires: python-zope-processlifetime
+Requires: python-zope-proxy
+Requires: python-zope-publisher
+Requires: python-zope-schema
+Requires: python-zope-security
+Requires: python-zope-sendmail < 3.7.0
+Requires: python-zope-sequencesort
+Requires: python-zope-site
+Requires: python-zope-size
+Requires: python-zope-structuredtext
+Requires: python-zope-tal
+Requires: python-zope-tales
+Requires: python-zope-testbrowser
+Requires: python-zope-testing
+Requires: python-zope-traversing
+Requires: python-zope-viewlet
+Requires: python-zope-app-publication
+Requires: python-zope-app-publisher
+Requires: python-zope-app-schema
+# this one is not manifested in setup.py
+Requires: python-zope-app-testing
+
+Requires(pre): shadow-utils
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig, /sbin/service
+Requires(postun): /sbin/service
%description
Zope is an application server framework that enables developers to quickly
@@ -46,60 +104,73 @@ systems.
Zope, by default, will listen on port 8080.
%prep
-%setup -q -n Zope-%{version}-final
+%setup -q -n Zope2-%{version}
%patch0 -p0
-%patch1 -p1
-chmod -x skel/import/README.txt
+sed -i -e '/^#!/, 1d' src/ZPublisher/{Test,Client}.py \
+ src/Products/PageTemplates/tests/run.py \
+ src/Products/ZCTextIndex/tests/{wordstats,hs-tool,indexhtml}.py \
+ src/Zope2/Startup/{misc/zpasswd,zopectl}.py \
+ src/DocumentTemplate/release.sh \
+ src/ZServer/medusa/{test/asyn_http_bench.py,http_server.py} \
+ src/ZTUtils/tests/run.py src/ZPublisher/Client.py src/OFS/ndiff.py
+
+chmod -x src/AccessControl/securitySuite/regressionSecurity.py
+chmod -x src/Zope2/utilities/skel/import/README.txt
install -pm 644 %{SOURCE4} README.Fedora
-install -pm 644 %{SOURCE5} skel/etc/logrotate.conf.in
-
+# don't include batch files
+rm -f src/Zope2/utilities/skel/bin/*.bat*
%build
-rm -rf $RPM_BUILD_ROOT # Configure checks for it
-./configure \
- --prefix=$RPM_BUILD_ROOT%{zope_home} \
-# --with-python=%{_bindir}/python
-# --no-compile
+env CFLAGS="$RPM_OPT_FLAGS" python setup.py build
-make %{?_smp_mflags}
+# make html documents
+pushd doc
+make html
+rm -fr .build/html/{_sources,.buildinfo}
+popd
%install
rm -rf $RPM_BUILD_ROOT
+python setup.py install --root=$RPM_BUILD_ROOT \
+ --install-scripts=%{_bindir} --install-lib=%{software_home}
+
+# add a missed namespace holder
+cp -p src/Products/__init__.py $RPM_BUILD_ROOT%{software_home}/Products/
+
+# delete included C source files
+find $RPM_BUILD_ROOT -name '*.c' -type f -print0 | xargs -0 rm -fv
# Create all required additional directories
-for dir in %{zope_home} %{software_home} %{instance_home}/{Products,bin,var} \
- %{_sysconfdir}/sysconfig %{_bindir}; do
+for dir in %{instance_home}/{Products,bin,var} %{_sysconfdir}/sysconfig; do
install -d $RPM_BUILD_ROOT$dir
done
-install -D -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/zope
+install -D -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initddir}/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 644 %{SOURCE5} \
+ $RPM_BUILD_ROOT%{software_home}/Zope2/utilities/skel/etc/logrotate.conf.in
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%{_initddir}/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
+ README.Fedora
# Install the skel, translating paths, into the build root
-%{__python} "utilities/copyzopeskel.py" \
- --sourcedir="skel" \
+%{__python} "src/Zope2/utilities/copyzopeskel.py" \
+ --sourcedir="$RPM_BUILD_ROOT%{software_home}/Zope2/utilities/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
+ --replace="ZOPE_SCRIPTS:%{_bindir}"
chmod 750 $RPM_BUILD_ROOT%{instance_home}
@@ -115,32 +186,25 @@ 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
+# write Zope2.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)"
-
-
+ "$RPM_BUILD_ROOT%{python_sitearch}/Zope2.pth"
%clean
rm -rf $RPM_BUILD_ROOT
%pre
-%{_sbindir}/useradd -c "Zope user" -s /bin/false -r -d %{zope_home} \
- %{zope_user} 2>/dev/null || :
+getent group %{zope_group} >/dev/null || groupadd -r %{zope_group}
+getent passwd %{zope_user} >/dev/null || \
+ useradd -r -g %{zope_group} -d %{zope_home} -s /sbin/nologin \
+ -c "Zope user" %{zope_user}
+exit 0
%post
@@ -154,33 +218,46 @@ if [ $1 -eq 0 ]; then
/sbin/chkconfig --del zope
fi
+%postun
+if [ "$1" -ge "1" ] ; then
+ /sbin/service zope condrestart >/dev/null 2>&1 || :
+fi
%files
%defattr(-, root, root, -)
-%doc doc/* README.Fedora ZopePublicLicense.txt
+%doc COPYRIGHT.txt LICENSE.txt README.txt doc/.build/html README.Fedora
%config(noreplace) %{_sysconfdir}/sysconfig/zope
-%config %{_initrddir}/zope
+%{_initddir}/zope
%config %{_sysconfdir}/cron.daily/zope-logrotate
-%attr(0755, root, root) %{_bindir}/zopectl
+%{_bindir}/zopectl
+%{_bindir}/mkzeoinstance
+%{_bindir}/mkzopeinstance
+%{_bindir}/runzope
+%{_bindir}/zpasswd
%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
+%attr(-, root, %{zope_group}) %{instance_home}/
+%{python_sitearch}/Zope2.pth
%changelog
+* Fri Jun 18 2010 Robin Lee <robinlee.sysu@gmail.com> - 2.12.7-1
+- Update to 2.12.7
+- License Specified to ZPLv2.1
+- Source0 URL renewed
+- zope-2.10.4-config.patch and zope-2.10.8-configure.patch removed,
+ zope-2.12.7-config.patch added to make the same effect of
+ zope-2.10.4-config.patch
+- BR: python-setuptools and python-sphinx added
+- Add multiple requirements
+- zope.zopectl.in removed
+- %%pre rewritten and %%postun added following
+ http://fedoraproject.org/wiki/Packaging/SysVInitScript
+- zope.init.in renewed
+- zope.logrotate.in included in the binary package
+- Don't include the batch files
+
* 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)