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