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