]> git.pld-linux.org Git - packages/Zope.git/blobdiff - Zope.spec
- spaces -> tabs
[packages/Zope.git] / Zope.spec
index 8998142e3a0c863b2c53ff499ac0f5c2d7c2f4ad..20c95a6974c2e0b4935d503510c9bd4f6a9a63fb 100644 (file)
--- a/Zope.spec
+++ b/Zope.spec
@@ -1,36 +1,58 @@
-Summary:       An application server and portal toolkit for building Web sites.
+
+# TODO:
+# - check why initgroups() crashes on AMD64 and something, better than
+#   disabling initgroups() completely, with that
+# - no/more secure initial user/password settings (currently: zope/zope)
+# - ZEO support (mkzeoinstance is not tested and probably doesn't work)
+# - perl support?
+
+Summary:       An application server and portal toolkit for building Web sites
+Summary(es):   Un servidor de aplicaciones y un conjunto de herramientas para la construcción de sitios Web
+Summary(pl):   Serwer aplikacji i toolkit portalowy do tworzenia serwisów WWW
+Summary(pt_BR):        Um servidor de aplicações e um conjunto de ferramentas para construção de sites Web
 Name:          Zope
-Version:       2.4.1
-Release:       1
-Group:         Networking/Daemons
-Group(de):     Netzwerkwesen/Server
-Group(pl):     Sieciowe/Serwery
+Version:       2.7.2
+# %%define             sub_ver b2
+Release:       2
 License:       Zope Public License (ZPL)
-Source0:       http://www.zope.org/Download/Releases/%{name}-%{version}/%{name}-%{version}-src.tgz
-Source1:       http://www.zope.org/Documentation/Guides/ZCMG/ZCMG.html.tgz
-Source2:       http://www.zope.org/Documentation/Guides/DTML/DTML.html.tgz
-Source3:       http://www.zope.org/Documentation/Guides/ZSQL/ZSQL.html.tgz
-Source4:       http://www.zope.org/Documentation/Guides/%{name}-ProductTutorial.tar.gz
-Source5:       http://www.zope.org/Documentation/Guides/ZDG/ZDG.html.tgz
-Source6:       http://www.zope.org/Documentation/Guides/ZAG/ZAG.html.tgz
+Group:         Networking/Daemons
+Source0:       http://www.zope.org/Products/%{name}/%{version}/%{name}-%{version}-0.tgz
+# Source0-md5: 08b3c4a119aa1ded2e7b1b3d5bc45425
+Source1:       %{name}.init
+Source2:       %{name}.sysconfig
+Source3:       %{name}.logrotate
+Source4:       %{name}-mkzopeinstance
+Source5:       %{name}-mkzeoinstance
+Source6:       %{name}-runzope
+Source7:       %{name}-zopectl
+Source8:       %{name}-installzopeproduct
+Patch0:                %{name}-default_config.patch
+Patch1:                %{name}-instance_paths.patch
+Patch2:                %{name}-pld_makefile_fix.patch
+Patch3:                %{name}-no_initgroups.patch
 URL:           http://www.zope.org/
-Source7:       %{name}.init
-Source8:       %{name}-zserver.sh
-Prereq:                /sbin/chkconfig 
-Prereq:                /usr/sbin/useradd
-Requires:      python >= 2.1
-BuildRequires: python-devel >= 2.1
+BuildRequires: python-devel >= 2.3.3
+BuildRequires: perl-base
+PreReq:                rc-scripts
+Requires(pre): /usr/bin/getgid
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires(postun):      /usr/sbin/userdel
+Requires(postun):      /usr/sbin/groupdel
+Requires(post,preun):  /sbin/chkconfig
+Requires:      logrotate
+Requires:      python >= 2.3.3
+Requires:      python-modules >= 2.3.3
+Requires:      python-libs >= 2.3.3
+Requires:      expat >= 1.95.7
+Requires:      python-PyXML >= 0.8.3
+%pyrequires_eq python
+Obsoletes:     Zope-Hotfix = 040713
+Obsoletes:     Zope-Hotfix = 040714
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define python_prefix      %(echo `python -c "import sys; print sys.prefix"`)
-%define python_version     %(echo `python -c "import sys; print sys.version[:3]"`)
-%define python_libdir      %{python_prefix}/lib/python%{python_version}
-%define python_includedir  %{python_prefix}/include/python%{python_version}
-%define python_sitedir     %{python_libdir}/site-packages
-%define python_configdir   %{python_libdir}/config
-
-%define python_compile     python -c "import compileall; compileall.compile_dir('.')"
-%define python_compile_opt python -O -c "import compileall; compileall.compile_dir('.')"
+%define                zope_dir /usr/lib/zope
 
 %description
 The Z Object Programming Environment (Zope) is a free, Open Source
@@ -38,65 +60,133 @@ Python-based application server for building high-performance, dynamic
 web sites, using a powerful and simple scripting object model and
 high-performance, integrated object database.
 
+%description -l es
+Zope es una aplicación basada en Python, Open Source[tm], para la
+construcción de sitios dinámicos, usa un modelo de escritura de
+guiones poderoso y sencillo. Para instalar la aplicación Zope, instale
+ese paquete y después, Zope-server, para un servidor HTTP integrado
+simple, Zope-pcgi, para uso con el servidor Apache. Si desea instalar
+solamente algunas partes de la aplicación Zope, están diponibles otros
+subpaquetes, usted debe instalar éstos en vez de ese RPM.
+
+%description -l pl
+Zope (Z Object Programming Environment - Obiektowe ¦rodowisko
+Programistyczne Z) jest opartym o Pythona serwerem aplikacji do
+tworzenia wysoko wydajnych, dynamicznych serwisów WWW, przy u¿yciu
+u¿ytecznego i prostego modelu obiektowego skryptów oraz wysoko
+wydajnej zintegrowanej obiektowej bazy danych.
+
+%description -l pt_BR
+Zope é uma aplicação baseada em Python, Open Source[tm], para
+construção de sites dinâmicos, usando um modelo de scripting poderoso
+e simples Para instalar o Zope, instale esse pacote e depois, ou o
+Zope-server, para um servidor HTTP integrado simples, ou Zope-pcgi,
+para uso com o Apache. Se você quiser instalar apenas algumas partes
+do Zope, outros sub-pacotes estão disponíveis, e você deveria instalar
+eles ao invés desse RPM.
+
 %prep
-%setup -q -n %{name}-%{version}-src
-%setup -q -T -D -c -a 1 -n %{name}-%{version}-src/ZopeContentManagersGuide
-%setup -q -T -D -c -a 2 -n %{name}-%{version}-src/GuideToDTML
-%setup -q -T -D -c -a 3 -n %{name}-%{version}-src/GuideToZSQL
-%setup -q -T -D    -a 4 -n %{name}-%{version}-src
-%setup -q -T -D -c -a 5 -n %{name}-%{version}-src/ZopeDevelopersGuide
-%setup -q -T -D -c -a 6 -n %{name}-%{version}-src/ZopeAdminGuide
-%setup -q -T -D -n %{name}-%{version}-src
+
+%setup -q -n %{name}-%{version}-0
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%ifarch amd64 alpha
+%patch3 -p1
+%endif
 
 %build
 perl -pi -e "s|data_dir\s+=\s+.*?join\(INSTANCE_HOME, 'var'\)|data_dir=INSTANCE_HOME|" lib/python/Globals.py
-python wo_pcgi.py
 
-find lib/python -type f -and \( -name 'Setup' -or -name '.cvsignore' \) -exec rm \{\} \;
-find -type f -and \( -name '*.c' -or -name '*.h' -or -name 'Makefile*' \) -exec rm \{\} \;
-rm ZServer/medusa/monitor_client_win32.py
+./configure \
+       --prefix=%{zope_dir} \
+       --optimize
+#      --with-python=/usr/bin/python
+
+%{__make}
+
+perl -pi -e "s|data_dir\s+=\s+.*?join\(INSTANCE_HOME, 'var'\)|data_dir=INSTANCE_HOME|" lib/python/Globals.py
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/zope} \
-           $RPM_BUILD_ROOT{/etc/rc.d/init.d,/var/log,/var/lib/zope}
 
-cp -a lib/python/* $RPM_BUILD_ROOT%{_libdir}/zope
-cp -a ZServer/ utilities/ import/ $RPM_BUILD_ROOT%{_libdir}/zope
-find $RPM_BUILD_ROOT%{_libdir}/zope -type f -name '*.py' -or -name '*.txt' | xargs -r rm -f
+install -d $RPM_BUILD_ROOT{/var/lib/zope/main,/var/run/zope,/var/log/zope/main} \
+       $RPM_BUILD_ROOT{/etc/logrotate.d,/etc/sysconfig,/etc/rc.d/init.d} \
+       $RPM_BUILD_ROOT{%{_sysconfdir}/zope/main,%{_sbindir}} \
+       $RPM_BUILD_ROOT%{zope_dir}/bin
 
-install zpasswd.py $RPM_BUILD_ROOT%{_bindir}/zpasswd
-install z2.py $RPM_BUILD_ROOT%{_libdir}/zope
-install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}/zope-zserver
-install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/zope
-install var/Data.fs $RPM_BUILD_ROOT/var/lib/zope/Data.fs
+ln -sfn /usr/bin/python $RPM_BUILD_ROOT%{zope_dir}/bin/python
 
-touch $RPM_BUILD_ROOT/var/log/zope
+%{__make} install \
+       INSTALL_FLAGS="--root $RPM_BUILD_ROOT"
 
-python $RPM_BUILD_ROOT%{_bindir}/zpasswd -u zope -p zope -d localhost $RPM_BUILD_ROOT/var/lib/zope/access
-gzip -9nf doc/*.txt *.txt
+mv $RPM_BUILD_ROOT%{zope_dir}/bin/zpasswd.py $RPM_BUILD_ROOT%{_sbindir}/zpasswd
+mv $RPM_BUILD_ROOT%{zope_dir}/skel $RPM_BUILD_ROOT%{_sysconfdir}/zope
+mv $RPM_BUILD_ROOT{%{zope_dir}/import/*,%{_sysconfdir}/zope/skel/import}
 
-%pre
-  if [ -z "`getgid zope`" ]; then
-       groupadd -r -f zope
-  fi
+rm -rf $RPM_BUILD_ROOT%{zope_dir}/doc
+rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/zope/skel/log
+rm -f $RPM_BUILD_ROOT%{_sysconfdir}/zope/skel/bin/{runzope.bat,zopeservice.py}.in
 
-  if [ -z "`id -u zope 2>/dev/null`" ]; then
-       useradd -r -d /var/lib/zope -s /bin/false -c "Zope User" -g zope zope
-  fi
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/zope
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/zope
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/zope
+install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/mkzopeinstance
+install %{SOURCE5} $RPM_BUILD_ROOT%{_sbindir}/mkzeoinstance
+install %{SOURCE6} $RPM_BUILD_ROOT%{_sbindir}/runzope
+install %{SOURCE7} $RPM_BUILD_ROOT%{_sbindir}/zopectl
+install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}/installzopeproduct
+
+touch $RPM_BUILD_ROOT/var/log/zope/main/event.log
+touch $RPM_BUILD_ROOT/var/log/zope/main/Z2.log
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%pre
+if [ -z "`getgid zope`" ]; then
+       echo "Making group zope"
+       /usr/sbin/groupadd -r -f zope
+fi
+if [ -z "`id -u zope 2>/dev/null`" ]; then
+       echo "Making user zope"
+       /usr/sbin/useradd -r -d /var/lib/zope/main -s /bin/false -c "Zope User" -g zope zope
+fi
 
 %post
 /sbin/chkconfig --add zope
-if [ -f /var/lock/subsys/zope ]; then
-       /etc/rc.d/init.d/zope restart >&2
+if [ ! -f /etc/zope/main/zope.conf ] ; then
+       echo "Creating initial 'main' instance..."
+       /usr/sbin/mkzopeinstance main zope:zope
+       echo "Instance created. Listening on 127.0.0.1:8080, initial user: 'zope' with password: 'zope'"
 else
-       echo "Run \"/etc/rc.d/init.d/zope start\" to start Zope." >&2
+       echo "old /etc/zope/zope.conf detected - look at changes about upgrade!" >&2
 fi
-
-%postun
-if [ $1 = 0 ] ; then
-    userdel zope >/dev/null 2>&1 || :
-    groupdel zope >/dev/null 2>&1 || : 
+was_stopped=0
+for dir in /var/lib/zope/main /var/lib/zope ; do
+       if [ -f $dir/Data.fs ]; then
+               echo "Found the database in old location. Migrating..."
+               if [ -f /var/lock/subsys/zope ]; then
+                       /etc/rc.d/init.d/zope stop >&2
+                       was_stopped=1
+               fi
+               umask 022
+               [ -d /var/lib/zope/main ] && cd $dir && mv -f Data* /var/lib/zope/main/var 2>/dev/null
+               if [ "x$was_stopped" = "x1" ]; then
+                       /etc/rc.d/init.d/zope start >&2
+               fi
+               echo "Migration completed (new db location is /var/lib/zope/main/var)"
+               break
+       fi
+done
+if [ -f /var/lock/subsys/zope ]; then
+       if [ "x$was_stopped" != "x1" ]; then
+               /etc/rc.d/init.d/zope restart >&2
+       fi
+else
+       echo "look at /etc/zope/main/zope.conf" >&2
+       echo "Run then \"/etc/rc.d/init.d/zope start\" to start Zope." >&2
+       echo "you may create new Zope instances with mkzopeinstance" >&2
 fi
 
 %preun
@@ -107,15 +197,30 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del zope
 fi
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%postun
+if [ "$1" = "0" ] ; then
+       echo "Removing user zope"
+       /usr/sbin/userdel zope >/dev/null 2>&1 || :
+       echo "Removing group zope"
+       /usr/sbin/groupdel zope >/dev/null 2>&1 || :
+fi
 
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) /etc/rc.d/init.d/zope
-%attr(755,root,root) %{_bindir}/*
+%doc doc/*
+%attr(754,root,root) /etc/rc.d/init.d/zope
 %attr(755,root,root) %{_sbindir}/*
-%{_libdir}/zope
-%attr(771,root,zope) %dir /var/lib/zope
-%attr(660,root,zope) %config(noreplace) %verify(not md5 size mtime) /var/lib/zope/*
-%doc *.gz doc/*.gz ZopeContentManagersGuide GuideToZSQL Tutorial ZopeDevelopersGuide ZopeAdminGuide
+%{zope_dir}
+%attr(775,zope,zope) %dir /var/run/zope
+%attr(775,zope,zope) %dir /var/lib/zope
+%attr(775,zope,zope) %dir /var/lib/zope/main
+%attr(775,zope,zope) %dir /var/log/zope
+%attr(775,zope,zope) %dir /var/log/zope/main
+%attr(640,root,root) %dir /etc/zope
+%attr(640,root,root) %dir /etc/zope/skel
+%attr(640,root,root) %dir /etc/zope/main
+%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/zope/skel/*
+%attr(640,root,root) /etc/logrotate.d/zope
+%attr(640,root,root) /etc/sysconfig/zope
+%ghost /var/log/zope/main/event.log
+%ghost /var/log/zope/main/Z2.log
This page took 0.215871 seconds and 4 git commands to generate.