]> git.pld-linux.org Git - packages/Zope.git/blob - Zope.spec
- remove perl subst (it doesn't match)
[packages/Zope.git] / Zope.spec
1 # TODO:
2 # - check why initgroups() crashes on AMD64 and something, better than
3 #   disabling initgroups() completely, with that
4 # - no/more secure initial user/password settings (currently: zope/zope)
5 # - ZEO support (mkzeoinstance is not tested and probably doesn't work)
6 # - perl support?
7 # - update to 2.9.x? rename to Zope27?
8 # - how to apply the hotfix?
9
10 Summary:        An application server and portal toolkit for building Web sites
11 Summary(es):    Un servidor de aplicaciones y un conjunto de herramientas para la construcción de sitios Web
12 Summary(pl):    Serwer aplikacji i toolkit portalowy do tworzenia serwisów WWW
13 Summary(pt_BR): Um servidor de aplicações e um conjunto de ferramentas para construção de sites Web
14 Name:           Zope
15 Version:        2.7.7
16 # %%define              sub_ver b2
17 Release:        3.1
18 License:        Zope Public License (ZPL)
19 Group:          Networking/Daemons
20 Source0:        http://www.zope.org/Products/Zope/%{version}/%{name}-%{version}-final.tgz
21 # Source0-md5:  66876823e53fbd0d4a8a7262d7ce251b
22 Source1:        %{name}.init
23 Source2:        %{name}.sysconfig
24 Source3:        %{name}.logrotate
25 Source4:        %{name}-mkzopeinstance
26 Source5:        %{name}-mkzeoinstance
27 Source6:        %{name}-runzope
28 Source7:        %{name}-zopectl
29 Source8:        %{name}-installzopeproduct
30 Source9:        http://www.zope.org/Products/Zope/Hotfix-2006-07-05/Hotfix-20060705/Hotfix_20060705.tar.gz
31 # Source9-md5:  6dec58130117fd860adc7fd58f8062e7
32 Patch0:         %{name}-default_config.patch
33 Patch1:         %{name}-instance_paths.patch
34 Patch2:         %{name}-pld_makefile_fix.patch
35 Patch3:         %{name}-no_initgroups.patch
36 Patch4:         %{name}-python24.patch
37 URL:            http://www.zope.org/
38 BuildRequires:  perl-base
39 BuildRequires:  python-devel >= 1:2.3.3
40 BuildRequires:  rpmbuild(macros) >= 1.268
41 Requires(post,preun):   /sbin/chkconfig
42 Requires(postun):       /usr/sbin/groupdel
43 Requires(postun):       /usr/sbin/userdel
44 Requires(pre):  /bin/id
45 Requires(pre):  /usr/bin/getgid
46 Requires(pre):  /usr/sbin/groupadd
47 Requires(pre):  /usr/sbin/useradd
48 Requires:       expat >= 1.95.7
49 Requires:       logrotate
50 Requires:       python >= 2.3.3
51 Requires:       python-PyXML >= 0.8.3
52 Requires:       python-libs >= 2.3.3
53 Requires:       python-modules >= 2.3.3
54 Requires:       rc-scripts
55 %pyrequires_eq  python
56 Provides:       group(zope)
57 Provides:       user(zope)
58 Obsoletes:      Zope-Hotfix = 040713
59 Obsoletes:      Zope-Hotfix = 040714
60 Obsoletes:      Zope-Hotfix = 050405
61 # extracted from lib/python/App/Hotfixes.py
62 Obsoletes:      Zope-Hotfix = 2001-09-28
63 Obsoletes:      Zope-Hotfix = 2002-03-01
64 Obsoletes:      Zope-Hotfix = 2002-04-15
65 Obsoletes:      Zope-Hotfix = 2002-06-14
66 # See Source9
67 Obsoletes:      Zope-Hotfix = 20060704
68 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69
70 %define         zope_dir /usr/lib/zope
71
72 %description
73 The Z Object Programming Environment (Zope) is a free, Open Source
74 Python-based application server for building high-performance, dynamic
75 web sites, using a powerful and simple scripting object model and
76 high-performance, integrated object database.
77
78 %description -l es
79 Zope es una aplicación basada en Python, Open Source[tm], para la
80 construcción de sitios dinámicos, usa un modelo de escritura de
81 guiones poderoso y sencillo. Para instalar la aplicación Zope, instale
82 ese paquete y después, Zope-server, para un servidor HTTP integrado
83 simple, Zope-pcgi, para uso con el servidor Apache. Si desea instalar
84 solamente algunas partes de la aplicación Zope, están diponibles otros
85 subpaquetes, usted debe instalar éstos en vez de ese RPM.
86
87 %description -l pl
88 Zope (Z Object Programming Environment - Obiektowe ¦rodowisko
89 Programistyczne Z) jest opartym o Pythona serwerem aplikacji do
90 tworzenia wysoko wydajnych, dynamicznych serwisów WWW, przy u¿yciu
91 u¿ytecznego i prostego modelu obiektowego skryptów oraz wysoko
92 wydajnej zintegrowanej obiektowej bazy danych.
93
94 %description -l pt_BR
95 Zope é uma aplicação baseada em Python, Open Source[tm], para
96 construção de sites dinâmicos, usando um modelo de scripting poderoso
97 e simples Para instalar o Zope, instale esse pacote e depois, ou o
98 Zope-server, para um servidor HTTP integrado simples, ou Zope-pcgi,
99 para uso com o Apache. Se você quiser instalar apenas algumas partes
100 do Zope, outros sub-pacotes estão disponíveis, e você deveria instalar
101 eles ao invés desse RPM.
102
103 %prep
104 %setup -q -a9 -n %{name}-%{version}-final
105 %patch0 -p1
106 %patch1 -p1
107 %patch2 -p1
108 %ifarch %{x8664} alpha
109 %patch3 -p1
110 %endif
111 # how to apply the hotfix?
112 #mv Hotfix_20060705 lib/python/Products
113
114 %build
115 ./configure \
116         --prefix=%{zope_dir} \
117         --with-python=%{__python} \
118         --optimize
119
120 %{__make}
121
122 %install
123 rm -rf $RPM_BUILD_ROOT
124
125 install -d $RPM_BUILD_ROOT{/var/lib/zope/main,/var/run/zope,/var/log/zope/main} \
126         $RPM_BUILD_ROOT{/etc/logrotate.d,/etc/sysconfig,/etc/rc.d/init.d} \
127         $RPM_BUILD_ROOT{%{_sysconfdir}/zope/main,%{_sbindir}} \
128         $RPM_BUILD_ROOT%{zope_dir}/bin
129
130 ln -sfn %{_bindir}/python $RPM_BUILD_ROOT%{zope_dir}/bin/python
131
132 %{__make} install \
133         INSTALL_FLAGS="--root $RPM_BUILD_ROOT"
134
135 mv $RPM_BUILD_ROOT%{zope_dir}/bin/zpasswd.py $RPM_BUILD_ROOT%{_sbindir}/zpasswd
136 mv $RPM_BUILD_ROOT%{zope_dir}/skel $RPM_BUILD_ROOT%{_sysconfdir}/zope
137 mv $RPM_BUILD_ROOT{%{zope_dir}/import/*,%{_sysconfdir}/zope/skel/import}
138
139 rm -rf $RPM_BUILD_ROOT%{zope_dir}/doc
140 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/zope/skel/log
141 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/zope/skel/bin/{runzope.bat,zopeservice.py}.in
142
143 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/zope
144 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/zope
145 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/zope
146 install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/mkzopeinstance
147 install %{SOURCE5} $RPM_BUILD_ROOT%{_sbindir}/mkzeoinstance
148 install %{SOURCE6} $RPM_BUILD_ROOT%{_sbindir}/runzope
149 install %{SOURCE7} $RPM_BUILD_ROOT%{_sbindir}/zopectl
150 install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}/installzopeproduct
151
152 touch $RPM_BUILD_ROOT/var/log/zope/main/event.log
153 touch $RPM_BUILD_ROOT/var/log/zope/main/Z2.log
154
155 %clean
156 rm -rf $RPM_BUILD_ROOT
157
158 %pre
159 %groupadd -g 112 zope
160 %useradd -u 112 -d /var/lib/zope/main -s /bin/false -c "Zope User" -g zope zope
161
162 %post
163 /sbin/chkconfig --add zope
164 # TODO: move this migration to trigger
165 if [ ! -f %{_sysconfdir}/zope/main/zope.conf ] ; then
166         echo "Creating initial 'main' instance..."
167         %{_sbindir}/mkzopeinstance main zope:zope
168         echo "Instance created. Listening on 127.0.0.1:8080, initial user: 'zope' with password: 'zope'"
169 else
170         echo "Old %{_sysconfdir}/zope/zope.conf detected - look at changes about upgrade!" >&2
171 fi
172 was_stopped=0
173 for dir in /var/lib/zope/main /var/lib/zope ; do
174         if [ -f $dir/Data.fs ]; then
175                 echo "Found the database in old location. Migrating..."
176                 if [ -f /var/lock/subsys/zope ]; then
177                         /sbin/service zope stop >&2
178                         was_stopped=1
179                 fi
180                 umask 022
181                 [ -d /var/lib/zope/main ] && cd $dir && mv -f Data* /var/lib/zope/main/var 2>/dev/null
182                 if [ "x$was_stopped" = "x1" ]; then
183                         /sbin/service zope start >&2
184                 fi
185                 echo "Migration completed (new db location is /var/lib/zope/main/var)"
186                 break
187         fi
188 done
189 if [ -f /var/lock/subsys/zope ]; then
190         if [ "x$was_stopped" != "x1" ]; then
191                 /sbin/service zope restart >&2
192         fi
193 else
194         echo "look at %{_sysconfdir}/zope/main/zope.conf" >&2
195         echo "Run then \"/sbin/service zope start\" to start Zope." >&2
196         echo "You may create new Zope instances with mkzopeinstance" >&2
197 fi
198
199 %preun
200 if [ "$1" = "0" ]; then
201         %service zope stop
202         /sbin/chkconfig --del zope
203 fi
204
205 %postun
206 if [ "$1" = "0" ] ; then
207         %userremove zope
208         %groupremove zope
209 fi
210
211 %files
212 %defattr(644,root,root,755)
213 %doc doc/*
214 %attr(754,root,root) /etc/rc.d/init.d/zope
215 %attr(755,root,root) %{_sbindir}/*
216 %{zope_dir}
217 %attr(775,zope,zope) %dir /var/run/zope
218 %attr(775,zope,zope) %dir /var/lib/zope
219 %attr(775,zope,zope) %dir /var/lib/zope/main
220 %attr(775,zope,zope) %dir /var/log/zope
221 %attr(775,zope,zope) %dir /var/log/zope/main
222 %attr(640,root,root) %dir %{_sysconfdir}/zope
223 %attr(640,root,root) %dir %{_sysconfdir}/zope/skel
224 %attr(640,root,root) %dir %{_sysconfdir}/zope/main
225 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zope/skel/*
226 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/zope
227 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/zope
228 %ghost /var/log/zope/main/event.log
229 %ghost /var/log/zope/main/Z2.log
This page took 0.095716 seconds and 3 git commands to generate.