]> git.pld-linux.org Git - packages/Zope.git/blob - Zope.spec
- rel 4
[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.UTF-8):      Un servidor de aplicaciones y un conjunto de herramientas para la construcción de sitios Web
12 Summary(pl.UTF-8):      Serwer aplikacji i toolkit portalowy do tworzenia serwisów WWW
13 Summary(pt_BR.UTF-8):   Um servidor de aplicações e um conjunto de ferramentas para construção de sites Web
14 Name:           Zope
15 Version:        2.11.8
16 # %%define              sub_ver b2
17 Release:        4
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:  702a7967b239c70aa0a9d7e198c1f14f
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 Source10:       %{name}.tmpfiles
33 Patch0:         %{name}-default_config.patch
34 Patch1:         %{name}-instance_paths.patch
35 Patch2:         %{name}-pld_makefile_fix.patch
36 URL:            http://www.zope.org/
37 BuildRequires:  python-devel >= 1:2.3.3
38 BuildRequires:  python-modules
39 BuildRequires:  rpm-pythonprov
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 Conflicts:      logrotate < 3.8.0
59 Obsoletes:      Zope-Hotfix = 040713
60 Obsoletes:      Zope-Hotfix = 040714
61 Obsoletes:      Zope-Hotfix = 050405
62 # extracted from lib/python/App/Hotfixes.py
63 Obsoletes:      Zope-Hotfix = 2001-09-28
64 Obsoletes:      Zope-Hotfix = 2002-03-01
65 Obsoletes:      Zope-Hotfix = 2002-04-15
66 Obsoletes:      Zope-Hotfix = 2002-06-14
67 # See Source9
68 Obsoletes:      Zope-Hotfix = 20060704
69 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70
71 %define         zope_dir /usr/lib/zope
72
73 %description
74 The Z Object Programming Environment (Zope) is a free, Open Source
75 Python-based application server for building high-performance, dynamic
76 web sites, using a powerful and simple scripting object model and
77 high-performance, integrated object database.
78
79 %description -l es.UTF-8
80 Zope es una aplicación basada en Python, Open Source[tm], para la
81 construcción de sitios dinámicos, usa un modelo de escritura de
82 guiones poderoso y sencillo. Para instalar la aplicación Zope, instale
83 ese paquete y después, Zope-server, para un servidor HTTP integrado
84 simple, Zope-pcgi, para uso con el servidor Apache. Si desea instalar
85 solamente algunas partes de la aplicación Zope, están diponibles otros
86 subpaquetes, usted debe instalar éstos en vez de ese RPM.
87
88 %description -l pl.UTF-8
89 Zope (Z Object Programming Environment - Obiektowe Środowisko
90 Programistyczne Z) jest opartym o Pythona serwerem aplikacji do
91 tworzenia wysoko wydajnych, dynamicznych serwisów WWW, przy użyciu
92 użytecznego i prostego modelu obiektowego skryptów oraz wysoko
93 wydajnej zintegrowanej obiektowej bazy danych.
94
95 %description -l pt_BR.UTF-8
96 Zope é uma aplicação baseada em Python, Open Source[tm], para
97 construção de sites dinâmicos, usando um modelo de scripting poderoso
98 e simples Para instalar o Zope, instale esse pacote e depois, ou o
99 Zope-server, para um servidor HTTP integrado simples, ou Zope-pcgi,
100 para uso com o Apache. Se você quiser instalar apenas algumas partes
101 do Zope, outros sub-pacotes estão disponíveis, e você deveria instalar
102 eles ao invés desse RPM.
103
104 %prep
105 %setup -q -a9 -n %{name}-%{version}-final
106 %patch0 -p1
107 %patch1 -p1
108 %patch2 -p1
109 # how to apply the hotfix?
110 #mv Hotfix_20060705 lib/python/Products
111
112 %build
113 ./configure \
114         --prefix=%{zope_dir} \
115         --with-python=%{__python} \
116         --optimize
117
118 %{__make}
119
120 %install
121 rm -rf $RPM_BUILD_ROOT
122
123 install -d $RPM_BUILD_ROOT{/var/lib/zope/main,/var/run/zope,/var/log/zope/main} \
124         $RPM_BUILD_ROOT{/etc/logrotate.d,/etc/sysconfig,/etc/rc.d/init.d} \
125         $RPM_BUILD_ROOT{%{_sysconfdir}/zope/main,%{_sbindir}} \
126         $RPM_BUILD_ROOT%{zope_dir}/bin \
127         $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
128
129 ln -sfn %{__python} $RPM_BUILD_ROOT%{zope_dir}/bin/python
130
131 %{__make} install \
132         INSTALL_FLAGS="--root $RPM_BUILD_ROOT"
133
134 mv $RPM_BUILD_ROOT%{zope_dir}/bin/zpasswd.py $RPM_BUILD_ROOT%{_sbindir}/zpasswd
135 mv $RPM_BUILD_ROOT%{zope_dir}/skel $RPM_BUILD_ROOT%{_sysconfdir}/zope
136
137 rm -rf $RPM_BUILD_ROOT%{zope_dir}/doc
138 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/zope/skel/log
139 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/zope/skel/bin/{runzope.bat,zopeservice.py}.in
140
141 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/zope
142 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/zope
143 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/zope
144 install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/mkzopeinstance
145 install %{SOURCE5} $RPM_BUILD_ROOT%{_sbindir}/mkzeoinstance
146 install %{SOURCE6} $RPM_BUILD_ROOT%{_sbindir}/runzope
147 install %{SOURCE7} $RPM_BUILD_ROOT%{_sbindir}/zopectl
148 install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}/installzopeproduct
149 install %{SOURCE10} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
150
151 touch $RPM_BUILD_ROOT/var/log/zope/main/event.log
152 touch $RPM_BUILD_ROOT/var/log/zope/main/Z2.log
153
154 %clean
155 rm -rf $RPM_BUILD_ROOT
156
157 %pre
158 %groupadd -g 112 zope
159 %useradd -u 112 -d /var/lib/zope/main -s /bin/false -c "Zope User" -g zope zope
160
161 %post
162 /sbin/chkconfig --add zope
163 # TODO: move this migration to trigger
164 if [ ! -f %{_sysconfdir}/zope/main/zope.conf ] ; then
165         echo "Creating initial 'main' instance..."
166         %{_sbindir}/mkzopeinstance main zope:zope
167         echo "Instance created. Listening on 127.0.0.1:8080, initial user: 'zope' with password: 'zope'"
168 else
169         echo "Old %{_sysconfdir}/zope/zope.conf detected - look at changes about upgrade!" >&2
170 fi
171 was_stopped=0
172 for dir in /var/lib/zope/main /var/lib/zope ; do
173         if [ -f $dir/Data.fs ]; then
174                 echo "Found the database in old location. Migrating..."
175                 if [ -f /var/lock/subsys/zope ]; then
176                         /sbin/service zope stop >&2
177                         was_stopped=1
178                 fi
179                 umask 022
180                 [ -d /var/lib/zope/main ] && cd $dir && mv -f Data* /var/lib/zope/main/var 2>/dev/null
181                 if [ "x$was_stopped" = "x1" ]; then
182                         /sbin/service zope start >&2
183                 fi
184                 echo "Migration completed (new db location is /var/lib/zope/main/var)"
185                 break
186         fi
187 done
188 if [ -f /var/lock/subsys/zope ]; then
189         if [ "x$was_stopped" != "x1" ]; then
190                 /sbin/service zope restart >&2
191         fi
192 else
193         echo "look at %{_sysconfdir}/zope/main/zope.conf" >&2
194         echo "Run then \"/sbin/service zope start\" to start Zope." >&2
195         echo "You may create new Zope instances with mkzopeinstance" >&2
196 fi
197
198 %preun
199 if [ "$1" = "0" ]; then
200         %service zope stop
201         /sbin/chkconfig --del zope
202 fi
203
204 %postun
205 if [ "$1" = "0" ] ; then
206         %userremove zope
207         %groupremove zope
208 fi
209
210 %files
211 %defattr(644,root,root,755)
212 %doc doc/*
213 %attr(754,root,root) /etc/rc.d/init.d/zope
214 %attr(755,root,root) %{_sbindir}/*
215 %{zope_dir}
216 /usr/lib/tmpfiles.d/%{name}.conf
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.036777 seconds and 3 git commands to generate.