Ticket #855: bcfg2.spec

File bcfg2.spec, 11.7 KB (added by somekool <[email protected]…>, 12 years ago)

SPEC file

Line 
1%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
2
3#define pre 3
4
5Name:             bcfg2
6Version:          0.9.6
7Release:          7%{?pre:.pre%{pre}}%{?dist}
8Summary:          Configuration management system
9
10Group:            Applications/System
11License:          BSD
12URL:              http://trac.mcs.anl.gov/projects/bcfg2
13Source0:          ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-%{version}%{?pre:pre%{pre}}.tar.gz
14Source1:          bcfg2_nodes.pl
15#RH3/python2.3 only
16#Source2:          bcfg2-py23-force.patch
17Patch0:           bcfg2-0.9.6-r4990.patch
18Patch1:           mysql-timeout-bcfg2-0-9-6.patch
19Patch2:           bcfg2-chkconfig.patch
20Patch3:           bcfg2-action-always.patch
21
22BuildRoot:        %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
23
24BuildArch:        noarch
25
26%if 0%{?fedora} >= 8
27BuildRequires: python-setuptools-devel
28%else
29BuildRequires: python-setuptools
30%endif
31
32Requires:         python-lxml
33Requires(post):   /sbin/chkconfig
34Requires(preun):  /sbin/chkconfig
35Requires(preun):  /sbin/service
36Requires(postun): /sbin/service
37
38%description
39Bcfg2 helps system administrators produce a consistent, reproducible,
40and verifiable description of their environment, and offers
41visualization and reporting tools to aid in day-to-day administrative
42tasks. It is the fifth generation of configuration management tools
43developed in the Mathematics and Computer Science Division of Argonne
44National Laboratory.
45
46It is based on an operational model in which the specification can be
47used to validate and optionally change the state of clients, but in a
48feature unique to bcfg2 the client's response to the specification can
49also be used to assess the completeness of the specification. Using
50this feature, bcfg2 provides an objective measure of how good a job an
51administrator has done in specifying the configuration of client
52systems. Bcfg2 is therefore built to help administrators construct an
53accurate, comprehensive specification.
54
55Bcfg2 has been designed from the ground up to support gentle
56reconciliation between the specification and current client states. It
57is designed to gracefully cope with manual system modifications.
58
59Finally, due to the rapid pace of updates on modern networks, client
60systems are constantly changing; if required in your environment,
61Bcfg2 can enable the construction of complex change management and
62deployment strategies.
63
64%package server
65Summary:          Configuration management server
66Group:            System Environment/Daemons
67Requires:         bcfg2 = %{version}-%{release}
68Requires:         /usr/sbin/sendmail
69Requires:         /usr/bin/openssl
70Requires:         gamin-python
71Requires:         redhat-lsb
72Requires(post):   /sbin/chkconfig
73Requires(preun):  /sbin/chkconfig
74Requires(preun):  /sbin/service
75Requires(postun): /sbin/service
76
77%description server
78Configuration management server
79
80%prep
81%setup -q -n %{name}-%{version}%{?pre:pre%{pre}}
82%patch0 -p1 -R
83%patch1 -p0
84%patch2 -p0
85%patch3 -p0
86
87# fixup some paths
88%{__perl} -pi -e '[email protected]/etc/[email protected]%{_sysconfdir}/[email protected]' debian/buildsys/common/bcfg2.init
89%{__perl} -pi -e '[email protected]/etc/[email protected]%{_sysconfdir}/[email protected]' tools/bcfg2-cron
90
91%{__perl} -pi -e '[email protected]/usr/lib/[email protected]%{_libexecdir}@g' debian/bcfg2.cron.daily
92%{__perl} -pi -e '[email protected]/usr/lib/[email protected]%{_libexecdir}@g' debian/bcfg2.cron.hourly
93
94# don't start servers by default
95%{__perl} -pi -e '[email protected]: (\d+)@chkconfig: [email protected]' debian/buildsys/common/bcfg2.init
96%{__perl} -pi -e '[email protected]: (\d+)@chkconfig: [email protected]' debian/buildsys/common/bcfg2-server.init
97
98# get rid of extraneous shebangs
99for f in `find src/lib -name \*.py`
100do
101        %{__sed} -i -e '/^#!/,1d' $f
102done
103
104%build
105%{__python} -c 'import setuptools; execfile("setup.py")' build
106
107%install
108rm -rf %{buildroot}
109%{__python} -c 'import setuptools; execfile("setup.py")' install --skip-build --root %{buildroot}
110
111mkdir -p %{buildroot}%{_sbindir}
112mkdir -p %{buildroot}%{_initrddir}
113mkdir -p %{buildroot}%{_sysconfdir}/cron.daily
114mkdir -p %{buildroot}%{_sysconfdir}/cron.hourly
115mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
116mkdir -p %{buildroot}%{_libexecdir}
117mkdir -p %{buildroot}%{_var}/lib/bcfg2
118mkdir -p %{buildroot}%{_var}/cache/bcfg2
119mkdir -p %{buildroot}/usr/local/sbin
120
121mv %{buildroot}%{_bindir}/bcfg2* %{buildroot}%{_sbindir}
122
123install -m 755 redhat/scripts/bcfg2.init %{buildroot}%{_initrddir}/bcfg2
124install -m 755 redhat/scripts/bcfg2-server.init %{buildroot}%{_initrddir}/bcfg2-server
125install -m 755 debian/bcfg2.cron.daily %{buildroot}%{_sysconfdir}/cron.daily/bcfg2
126install -m 755 debian/bcfg2.cron.hourly %{buildroot}%{_sysconfdir}/cron.hourly/bcfg2
127install -m 755 tools/bcfg2-cron %{buildroot}%{_libexecdir}/bcfg2-cron
128
129install -m 644 debian/bcfg2.default %{buildroot}%{_sysconfdir}/sysconfig/bcfg2
130
131install -m 755  %{SOURCE1} %{buildroot}/usr/local/sbin
132#RH3/python2.3 only
133#install -m 644  %{SOURCE2} %{buildroot}/var/lib/bcfg2
134
135touch %{buildroot}%{_sysconfdir}/bcfg2.conf
136touch %{buildroot}%{_sysconfdir}/bcfg2.key
137
138%clean
139rm -rf %{buildroot}
140
141%post
142#/sbin/chkconfig --add bcfg2
143#RH3/python2.3 only
144#V3=`egrep -q "(release 3|3\.\d*)" < /etc/redhat-release; echo $?`
145#if [ $V3 = 0 ]
146#then
147#   patch /usr/sbin/bcfg2 /var/lib/bcfg2/bcfg2-py23-force.patch
148#fi
149
150%preun
151if [ $1 = 0 ]; then
152        /sbin/service bcfg2 stop >/dev/null 2>&1 || :
153        /sbin/chkconfig --del bcfg2
154fi
155
156%postun
157if [ "$1" -ge "1" ]; then
158        /sbin/service bcfg2 condrestart >/dev/null 2>&1 || :
159fi
160
161%post server
162/sbin/chkconfig --add bcfg2-server
163
164%preun server
165if [ $1 = 0 ]; then
166        /sbin/service bcfg2-server stop >/dev/null 2>&1 || :
167        /sbin/chkconfig --del bcfg2-server
168fi
169
170%postun server
171if [ "$1" -ge "1" ]; then
172        /sbin/service bcfg2-server condrestart >/dev/null 2>&1 || :
173fi
174
175%files
176%defattr(-,root,root,-)
177%doc AUTHORS ChangeLog examples COPYRIGHT README
178
179%ghost %attr(600,root,root) %config(noreplace) %{_sysconfdir}/bcfg2.conf
180
181%config(noreplace) %{_sysconfdir}/sysconfig/bcfg2
182%{_sysconfdir}/cron.daily/bcfg2
183%{_sysconfdir}/cron.hourly/bcfg2
184
185%{_initrddir}/bcfg2
186
187%{python_sitelib}/Bcfg2*.egg-info
188%dir %{python_sitelib}/Bcfg2
189%{python_sitelib}/Bcfg2/__init__.*
190%{python_sitelib}/Bcfg2/Client
191%{python_sitelib}/Bcfg2/Component.*
192%{python_sitelib}/Bcfg2/Daemon.*
193%{python_sitelib}/Bcfg2/Logger.*
194%{python_sitelib}/Bcfg2/Options.*
195%{python_sitelib}/Bcfg2/Proxy.*
196%{python_sitelib}/Bcfg2/tlslite
197
198%{_sbindir}/bcfg2
199%{_mandir}/man1/bcfg2.1*
200%{_mandir}/man5/bcfg2.conf.5*
201
202%{_libexecdir}/bcfg2-cron
203
204%dir %{_var}/cache/bcfg2
205#RH3/python2.3 only
206#%{_var}/lib/bcfg2/bcfg2-py23-force.patch
207
208%files server
209%defattr(-,root,root,-)
210
211%ghost %attr(600,root,root) %config(noreplace) %{_sysconfdir}/bcfg2.key
212
213%{_initrddir}/bcfg2-server
214
215%{python_sitelib}/Bcfg2/Server
216
217%{_datadir}/bcfg2
218
219%{_sbindir}/bcfg2-admin
220%{_sbindir}/bcfg2-build-reports
221%{_sbindir}/bcfg2-info
222%{_sbindir}/bcfg2-ping-sweep
223%{_sbindir}/bcfg2-repo-validate
224%{_sbindir}/bcfg2-remote
225%{_sbindir}/bcfg2-reports
226%{_sbindir}/bcfg2-server
227/usr/local/sbin/bcfg2_nodes.pl
228
229%{_mandir}/man8/bcfg2-admin.8*
230%{_mandir}/man8/bcfg2-build-reports.8*
231%{_mandir}/man8/bcfg2-info.8*
232%{_mandir}/man8/bcfg2-repo-validate.8*
233%{_mandir}/man8/bcfg2-remote.8*
234%{_mandir}/man8/bcfg2-server.8*
235
236%dir %{_var}/lib/bcfg2
237
238%changelog
239* Tue Mar 02 2010 Mathieu Jobin <[email protected]> - 0.9.6-7
240- patch chkconfig.py to properly handle supervised option.
241- patch for action with when=always to not run in bundle mode.
242
243* Wed Jan 13 2010 Mathieu Jobin <[email protected]> - 0.9.6-6
244- Rebuild for Centos5, remove stuff about python 2.3 (this should be redone properly so that it applies only to RH3 hosts)
245- include bcfg2_nodes.pl to bcfg2-server rpm
246
247* Tue Jul 28 2009 Mathieu Jobin <[email protected]> - 0.9.6-5
248- patch bcfg2-server for mysql performance issues
249
250* Fri Jun 19 2009 Mathieu Jobin <[email protected]> - 0.9.6-4 (again)
251- remove chkconfig --add and make sure files are installed in proper directory
252
253* Mon Jun 01 2009 Michel Belleau <[email protected]> - 0.9.6-4
254- patch bcfg2-client for proper logging to /var/log/messages
255
256* Tue Mar 24 2009 Michel Belleau <[email protected]> - 0.9.6-3
257- Patch for RH3 and python 2.3.
258
259* Mon Jan 26 2009 Carol Tardif <[email protected]> - 0.9.6-1
260- Correct initscripts.
261
262* Tue Nov 18 2008 Jeffrey C. Ollie <[email protected]> - 0.9.6-1
263- Update to 0.9.6 final.
264
265* Tue Oct 14 2008 Jeffrey C. Ollie <[email protected]> - 0.9.6-0.8.pre3
266- Update to 0.9.6pre3
267
268* Sat Aug  9 2008 Jeffrey C. Ollie <[email protected]> - 0.9.6-0.2.pre2
269- Update to 0.9.6pre2
270
271* Wed May 28 2008 Jeffrey C. Ollie <[email protected]> - 0.9.6-0.1.pre1
272- Update to 0.9.6pre1
273
274* Fri Feb 15 2008 Jeffrey C. Ollie <[email protected]> - 0.9.5.7-1
275- Update to 0.9.5.7.
276
277* Fri Feb 15 2008 Jeffrey C. Ollie <[email protected]> - 0.9.5.7-1
278- Update to 0.9.5.7.
279
280* Fri Jan 11 2008 Jeffrey C. Ollie <[email protected]> - 0.9.5.5-1
281- Update to 0.9.5.5
282- More egg-info entries.
283
284* Wed Jan  9 2008 Jeffrey C. Ollie <[email protected]> - 0.9.5.4-1
285- Update to 0.9.5.4.
286
287* Tue Jan  8 2008 Jeffrey C. Ollie <[email protected]> - 0.9.5.3-1
288- Update to 0.9.5.3
289- Package egg-info files.
290
291* Mon Nov 12 2007 Jeffrey C. Ollie <[email protected]> - 0.9.5.2-1
292- Update to 0.9.5.2
293
294* Mon Nov 12 2007 Jeffrey C. Ollie <[email protected]> - 0.9.5-2
295- Fix oops.
296
297* Mon Nov 12 2007 Jeffrey C. Ollie <[email protected]> - 0.9.5-1
298- Update to 0.9.5 final.
299
300* Mon Nov 05 2007 Jeffrey C. Ollie <[email protected]> - 0.9.5-0.5.pre7
301- Commit new patches to CVS.
302
303* Mon Nov 05 2007 Jeffrey C. Ollie <[email protected]> - 0.9.5-0.4.pre7
304- Update to 0.9.5pre7
305
306* Wed Jun 27 2007 Jeffrey C. Ollie <[email protected]> - 0.9.4-4
307- Oops, apply right patch
308
309* Wed Jun 27 2007 Jeffrey C. Ollie <[email protected]> - 0.9.4-3
310- Add patch to fix YUMng problem
311
312* Mon Jun 25 2007 Jeffrey C. Ollie <[email protected]> - 0.9.4-2
313- Bump revision and rebuild
314
315* Mon Jun 25 2007 Jeffrey C. Ollie <[email protected]> - 0.9.4-1
316- Update to 0.9.4 final
317
318* Thu Jun 21 2007 Jeffrey C. Ollie <[email protected]> - 0.9.4-0.1.pre4
319- Update to 0.9.4pre4
320
321* Thu Jun 14 2007 Jeffrey C. Ollie <[email protected]> - 0.9.4-0.1.pre3
322- Update to 0.9.4pre3
323
324* Tue Jun 12 2007 Jeffrey C. Ollie <[email protected]> - 0.9.4-0.1.pre2
325- Update to 0.9.4pre2
326
327* Tue May 22 2007 Jeffrey C. Ollie <[email protected]> - 0.9.3-2
328- Drop requires on pyOpenSSL
329- Add requires on redhat-lsb
330- (Fixes #240871)
331
332* Mon Apr 30 2007 Jeffrey C. Ollie <[email protected]> - 0.9.3-1
333- Update to 0.9.3
334
335* Tue Mar 20 2007 Jeffrey C. Ollie <[email protected]> - 0.9.2-4
336- Server needs pyOpenSSL
337
338* Wed Feb 28 2007 Jeffrey C. Ollie <[email protected]> - 0.9.2-3
339- Don't forget %%dir
340
341* Wed Feb 28 2007 Jeffrey C. Ollie <[email protected]> - 0.9.2-2
342- Fix #230478
343
344* Mon Feb 19 2007 Jeffrey C. Ollie <[email protected]> - 0.9.2-1
345- Update to 0.9.2
346
347* Thu Feb  8 2007 Jeffrey C. Ollie <[email protected]> - 0.9.1-1.d
348- Update to 0.9.1d
349
350* Tue Jan  9 2007 Jeffrey C. Ollie <[email protected]> - 0.8.7.3-2
351- Merge client back into base package.
352
353* Wed Dec 27 2006 Jeffrey C. Ollie <[email protected]> - 0.8.7.3-1
354- Update to 0.8.7.3
355
356* Fri Dec 22 2006 Jeffrey C. Ollie <[email protected]> - 0.8.7.1-5
357- Server needs client library files too so put them in main package
358
359* Wed Dec 20 2006 Jeffrey C. Ollie <[email protected]> - 0.8.7.1-4
360- Yes, actually we need to require openssl
361
362* Wed Dec 20 2006 Jeffrey C. Ollie <[email protected]> - 0.8.7.1-3
363- Don't generate SSL cert in post script, it only needs to be done on
364  the server and is handled by the bcfg2-admin tool.
365- Move the /etc/bcfg2.key file to the server package
366- Don't install a sample copy of the config file, just ghost it
367- Require gamin-python for the server package
368- Don't require openssl
369- Make the client a separate package so you don't have to have the
370  client if you don't want it
371
372* Wed Dec 20 2006 Jeffrey C. Ollie <[email protected]> - 0.8.7.1-2
373- Add more documentation
374
375* Mon Dec 18 2006 Jeffrey C. Ollie <[email protected]> - 0.8.7.1-1
376- First version for Fedora Extras