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