cluster:Cfengine/spec

From Dgiref
Jump to: navigation, search
  1.  
  2. # .sh is added for the dgiref wiki structure compatibility
  3. # and can be removed
  4.  
  5. # $Id: cfengine.spec 6647 2009-01-14 17:05:42Z cmr $
  6. # Authority: dag
  7. # Upstream: Mark Burgess <Mark,Burgess$iu,hio,no>
  8. # Tag: test
  9.  
  10. %{?dtag: %{expand: %%define %dtag 1}}
  11.  
  12. %{?rh7:%define _without_db4 1}
  13. %{?el2:%define _without_db4 1}
  14. %{?rh6:%define _without_db4 1}
  15. %{?el4:%define _without_texinfotex 1}
  16.  
  17. Summary: System administration tool for networks
  18. Name: cfengine
  19. Version: 3.0.2
  20. Release: 1
  21. License: GPL
  22. Group: System Environment/Base
  23. URL: http://www.cfengine.org/
  24.  
  25. Source: http://www.cfengine.org/tarballs/cfengine-%{version}.tar.gz
  26.  
  27. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
  28.  
  29. BuildRequires: bison, flex, m4, openssl-devel 
  30. %{!?_without_db4:BuildRequires: db4-devel}
  31. %{?_without_db4:BuildRequires: db3-devel >= 3.2}
  32.  
  33.  
  34. %description
  35. Cfengine, or the configuration engine is an agent/software robot and a
  36. very high level language for building expert systems to administrate
  37. and configure large computer networks. Cfengine uses the idea of
  38. classes and a primitive form of intelligence to define and automate
  39. the configuration and maintenance of system state, for small to huge
  40. configurations. Cfengine is designed to be a part of a computer immune
  41. system.
  42.  
  43. %package docs
  44. Summary: System administration tool for networks (documentation pack)
  45. Group: System Environment/Base
  46. BuildRequires: tetex-latex, tetex-dvips, texinfo
  47. %{!?_without_texinfotex:BuildRequires: texinfo-tex}
  48.  
  49. %description docs
  50. Full documentation for cfengine
  51.  
  52. %prep
  53. %setup 
  54.  
  55. %{__cat} <<EOF >default.sysconfig
  56. # OPTIONS defines additional command line options to execute the program
  57. # with.  Please see the output of --help for a brief description of the
  58. # possible options availible.
  59. #OPTIONS=""
  60. EOF
  61.  
  62. %{__cat} <<'EOF' >cfenvd.sysv
  63. #!/bin/bash
  64. #
  65. # Init file for the cfengine anomaly detection service
  66. #
  67. # chkconfig: 2345 98 20
  68. # description: cfenvd is an optional anomaly detection service for cfengine.
  69. #
  70. # processname: cfenvd
  71. # pidfile: %{_localstatedir}/run/cfengine
  72.  
  73. # Source function library.
  74. source %{_initrddir}/functions
  75.  
  76. RETVAL=0
  77. prog="cfenvd"
  78. desc="cfengine anomaly detection service"
  79.  
  80. if [ -r /etc/sysconfig/$prog ]; then
  81.     source %{_sysconfdir}/sysconfig/$prog
  82. fi
  83.  
  84. start() {
  85.     echo -n $"Starting $desc ($prog): "
  86.     daemon $prog $OPTIONS
  87.     RETVAL=$?
  88.     echo
  89.     [ $RETVAL -eq 0 ] && touch %{_localstatedir}/lock/subsys/$prog
  90.     return $RETVAL
  91. }
  92.  
  93. stop() {
  94.     echo -n $"Stopping $desc ($prog): "
  95.     killproc $prog
  96.     RETVAL=$?
  97.     echo
  98.     [ $RETVAL -eq 0 ] && rm -f %{_localstatedir}/lock/subsys/$prog
  99.     return $RETVAL
  100. }
  101.  
  102. restart() {
  103.     stop
  104.     start
  105. }
  106.  
  107. case "$1" in
  108.   start)
  109.     start
  110.     ;;
  111.   stop)
  112.     stop
  113.     ;;
  114.   restart)
  115.     restart
  116.     ;;
  117.   condrestart)
  118.     [ -e %{_localstatedir}/lock/subsys/$prog ] && restart
  119.     RETVAL=$?
  120.     ;;
  121.   status)
  122.     status $prog
  123.     RETVAL=$?
  124.     ;;
  125.   *)
  126.     echo $"Usage: $0 {start|stop|restart|condrestart|status}"
  127.     RETVAL=1
  128. esac
  129.  
  130. exit $RETVAL
  131. EOF
  132.  
  133. %{__cat} <<'EOF' >cfexecd.sysv
  134. #!/bin/bash
  135. #
  136. # Init file for the cfengine client daemon
  137. #
  138. # chkconfig: 2345 98 20
  139. # description: cfexecd is scheduler and reporter in cfengine client hosts.
  140. #
  141. # processname: cfexecd
  142. # config: %{_localstatedir}/cfengine/inputs
  143. # pidfile: %{_localstatedir}/run/cfengine
  144.  
  145. # Source function library.
  146. source %{_initrddir}/functions
  147.  
  148. RETVAL=0
  149. prog="cfexecd"
  150. desc="cfengine client daemon"
  151.  
  152. if [ -r /etc/sysconfig/$prog ]; then
  153.     source %{_sysconfdir}/sysconfig/$prog
  154. fi
  155.  
  156. start() {
  157.     echo -n $"Starting $desc ($prog): "
  158.     daemon $prog $OPTIONS
  159.     RETVAL=$?
  160.     echo
  161.     [ $RETVAL -eq 0 ] && touch %{_localstatedir}/lock/subsys/$prog
  162.     return $RETVAL
  163. }
  164.  
  165. stop() {
  166.     echo -n $"Stopping $desc ($prog): "
  167.     killproc $prog
  168.     RETVAL=$?
  169.     echo
  170.     [ $RETVAL -eq 0 ] && rm -f %{_localstatedir}/lock/subsys/$prog
  171.     return $RETVAL
  172. }
  173.  
  174. restart() {
  175.     stop
  176.     start
  177. }
  178.  
  179. case "$1" in
  180.   start)
  181.     start
  182.     ;;
  183.   stop)
  184.     stop
  185.     ;;
  186.   restart)
  187.     restart
  188.     ;;
  189.   condrestart)
  190.     [ -e %{_localstatedir}/lock/subsys/$prog ] && restart
  191.     RETVAL=$?
  192.     ;;
  193.   status)
  194.     status $prog
  195.     RETVAL=$?
  196.     ;;
  197.   *)
  198.     echo $"Usage: $0 {start|stop|restart|condrestart|status}"
  199.     RETVAL=1
  200. esac
  201.  
  202. exit $RETVAL
  203. EOF
  204.  
  205. %{__cat} <<'EOF' >cfservd.sysv
  206. #!/bin/bash
  207. #
  208. # Init file for the cfengine server daemon
  209. #
  210. # chkconfig: 2345 96 20
  211. # description: cfservd is responsible for giving out configuration files to
  212. #              those cfengine clients, who wish to update their configs.
  213. #
  214. # processname: cfservd
  215. # config: %{_localstatedir}/cfengine/masterfiles
  216. # pidfile: %{_localstatedir}/run/cfengine
  217.  
  218. # Source function library.
  219. source %{_initrddir}/functions
  220.  
  221. RETVAL=0
  222. prog="cf-serverd"
  223. desc="cfengine server daemon"
  224.  
  225. if [ -r /etc/sysconfig/$prog ]; then
  226.     source %{_sysconfdir}/sysconfig/$prog
  227. fi
  228.  
  229. start() {
  230.     echo -n $"Starting $desc ($prog): "
  231.     if [ ! -f %{_localstatedir}/cfengine/ppkeys/localhost.priv ]; then
  232.         %{_sbindir}/cfkey
  233.     fi
  234.     daemon $prog $OPTIONS
  235.     RETVAL=$?
  236.     echo
  237.     [ $RETVAL -eq 0 ] && touch %{_localstatedir}/lock/subsys/$prog
  238.     return $RETVAL
  239. }
  240.  
  241. stop() {
  242.     echo -n $"Stopping $desc ($prog): "
  243.     killproc $prog
  244.     RETVAL=$?
  245.     echo
  246.     [ $RETVAL -eq 0 ] && rm -f %{_localstatedir}/lock/subsys/$prog
  247.     return $RETVAL
  248. }
  249.  
  250. restart() {
  251.     stop
  252.     start
  253. }
  254.  
  255. case "$1" in
  256.   start)
  257.     start
  258.     ;;
  259.   stop)
  260.     stop
  261.     ;;
  262.   restart)
  263.     restart
  264.     ;;
  265.   condrestart)
  266.     [ -e %{_localstatedir}/lock/subsys/$prog ] && restart
  267.     RETVAL=$?
  268.     ;;
  269.   status)
  270.     status $prog
  271.     RETVAL=$?
  272.     ;;
  273.   *)
  274.     echo $"Usage: $0 {start|stop|restart|condrestart|status}"
  275.     RETVAL=1
  276. esac
  277.  
  278. exit $RETVAL
  279. EOF
  280.  
  281. %build
  282. %configure BERKELEY_DB_LIB="-ldb" \
  283.     --program-prefix="%{?_program_prefix}" \
  284.      --docdir=%{_defaultdocdir}/%{name}-%{version}
  285. %{__make} %{?_smp_mflags}
  286.  
  287. %install
  288. %{__rm} -rf %{buildroot}
  289. %{__install} -d -m0755 %{buildroot}%{_sbindir}
  290. %{__install} -d -m0755 %{buildroot}%{_datadir}/cfengine/
  291. %{__install} -d -m0755 %{buildroot}%{_localstatedir}/cfengine/{bin,inputs}/
  292. %{__make} install DESTDIR="%{buildroot}" 
  293. %{__install} -Dp -m0755 cfenvd.sysv %{buildroot}%{_initrddir}/cfenvd
  294. %{__install} -Dp -m0755 cfexecd.sysv %{buildroot}%{_initrddir}/cfexecd
  295. %{__install} -Dp -m0755 cfservd.sysv %{buildroot}%{_initrddir}/cfservd
  296. %{__install} -Dp -m0644 default.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/cfenvd
  297. %{__install} -Dp -m0644 default.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/cfexecd
  298. %{__install} -Dp -m0644 default.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/cfservd
  299. %{__ln_s} -f %{_sbindir}/cfagent %{buildroot}%{_localstatedir}/cfengine/bin/
  300.  
  301. ### Clean up buildroot
  302. %{__rm} -f %{buildroot}%{_infodir}/dir
  303.  
  304. %post
  305. %{_sbindir}/cfkey &>/dev/null || :
  306. echo "cfengine tutorials see on www.cfengine.org"
  307.  
  308. if [ $1 -eq 1 ]; then
  309.     chkconfig --add cfenvd
  310.     chkconfig --add cfexecd
  311.     chkconfig --add cfservd
  312. fi
  313.  
  314. %preun
  315. echo "thank you for using cfengine"
  316.  
  317. if [ $1 -eq 0 ]; then
  318.     chkconfig --del cfenvd
  319.     chkconfig --del cfexecd
  320.     chkconfig --del cfservd
  321. fi
  322.  
  323. %clean
  324. %{__rm} -rf %{buildroot}
  325.  
  326. %files docs
  327. %doc docs/cf3-Reference.pdf
  328.  
  329.  
  330. %files
  331. %defattr(-, root, root, 0755)
  332. %doc AUTHORS ChangeLog COPYING NEWS README TODO
  333. %doc %{_mandir}/man8/cf-agent.8*
  334. %doc %{_mandir}/man8/cf-execd.8*
  335. %doc %{_mandir}/man8/cf-key.8*
  336. %doc %{_mandir}/man8/cf-know.8*
  337. %doc %{_mandir}/man8/cf-monitord.8*
  338. %doc %{_mandir}/man8/cf-promises.8*
  339. %doc %{_mandir}/man8/cf-report.8*
  340. %doc %{_mandir}/man8/cf-runagent.8*
  341. %doc %{_mandir}/man8/cf-serverd.8*
  342. %config(noreplace) %{_sysconfdir}/sysconfig/cfexecd
  343. %config(noreplace) %{_sysconfdir}/sysconfig/cfenvd
  344. %config(noreplace) %{_sysconfdir}/sysconfig/cfservd
  345. %config %{_initrddir}/cfenvd
  346. %config %{_initrddir}/cfexecd
  347. %config %{_initrddir}/cfservd
  348. %{_sbindir}/cf-agent
  349. %{_sbindir}/cf-execd
  350. %{_sbindir}/cf-key
  351. %{_sbindir}/cf-know
  352. %{_sbindir}/cf-monitord
  353. %{_sbindir}/cf-promises
  354. %{_sbindir}/cf-report
  355. %{_sbindir}/cf-runagent
  356. %{_sbindir}/cf-serverd
  357. %{_localstatedir}/cfengine/
  358. %{_libdir}/libpromises.a
  359. %{_libdir}/libpromises.la
  360. %exclude %{_datadir}/cfengine/
  361.  
  362. %changelog
  363. * Mon Aug 24 2009 Chritsoph Maser <cmr@financial.com> - 3.0.2
  364. - Update to version 3.0.2.
  365.  
  366. * Tue May 12 2009 Chritsoph Maser <cmr@financial.com> - 3.0.1
  367. - Bump version: 3.0.1
  368.  
  369. * Wed Apr 15 2009 Chritsoph Maser <cmr@financial.com> - 3.0.1b6-1
  370. - Bump version: 3.0.1b6
  371.  
  372. * Mon Mar 30 2009 Chritsoph Maser <cmr@financial.com> - 3.0.1b5-1
  373. - update to version 3.0.1b5
  374.  
  375. * Thu Mar 05 2009 Chritsoph Maser <cmr@financial.com> - 3.0.1b4-1
  376. - initial cfengine 3 build
  377.  
  378. * Wed Jan 14 2009 Christoph Maser <cmr@financial.com> - 2.2.9-1
  379. - Updated to release 2.2.9.
  380. - Use --with-docs on configure
  381. - subpackage for ps/pdf/html docs
  382.  
  383. * Wed Oct 08 2008 Dag Wieers <dag@wieers.com> - 2.2.8-1
  384. - Updated to release 2.2.8.
  385.  
  386. * Mon Oct 06 2008 Dag Wieers <dag@wieers.com> - 2.2.6-2
  387. - Rebuild without info-page commands.
  388.  
  389. * Mon Oct 06 2008 Dag Wieers <dag@wieers.com> - 2.2.6-1
  390. - Updated to release 2.2.6.
  391.  
  392. * Fri Dec 28 2007 Dag Wieers <dag@wieers.com> - 2.2.3-1
  393. - Updated to release 2.2.3.
  394.  
  395. * Tue Oct 02 2007 Dag Wieers <dag@wieers.com> - 2.2.2-1
  396. - Updated to release 2.2.2.
  397.  
  398. * Sat Jun 02 2007 Dag Wieers <dag@wieers.com> - 2.2.1-1
  399. - Updated to release 2.2.1.
  400.  
  401. * Wed May 02 2007 Dag Wieers <dag@wieers.com> - 2.2.0-1
  402. - Updated to release 2.2.0.
  403.  
  404. * Wed Jan 31 2007 Dag Wieers <dag@wieers.com> - 2.1.22-1
  405. - Updated to release 2.1.22.
  406.  
  407. * Mon Dec 18 2006 Dag Wieers <dag@wieers.com> - 2.1.21-1
  408. - Updated to release 2.1.21.
  409.  
  410. * Fri Apr 21 2006 Dries Verachtert <dries@ulyssis.org> - 2.1.20-1
  411. - Updated to release 2.1.20.
  412.  
  413. * Tue Jan 03 2006 Dag Wieers <dag@wieers.com> - 2.1.18-1
  414. - Updated to release 2.1.18.
  415.  
  416. * Tue Nov 15 2005 Dries Verachtert <dries@ulyssis.org> - 2.1.17-1
  417. - Updated to release 2.1.17.
  418.  
  419. * Mon Jul 11 2005 Dag Wieers <dag@wieers.com> - 2.1.15-1
  420. - Updated to release 2.1.15.
  421.  
  422. * Sat Apr 09 2005 Dag Wieers <dag@wieers.com> - 2.1.14-1
  423. - Added sysconfig files for sysv scripts. (Nathan R. Hruby)
  424. - Updated to release 2.1.14.
  425.  
  426. * Wed Mar 30 2005 Dag Wieers <dag@wieers.com> - 2.1.13-1
  427. - Updated to release 2.1.13.
  428.  
  429. * Mon Nov 01 2004 Dag Wieers <dag@wieers.com> - 2.1.11-1
  430. - Updated to release 2.1.11.
  431.  
  432. * Thu Sep 02 2004 Dag Wieers <dag@wieers.com> - 2.1.10-1
  433. - Updated to release 2.1.10.
  434.  
  435. * Wed Aug 11 2004 Dag Wieers <dag@wieers.com> - 2.1.9-1
  436. - Updated to release 2.1.9.
  437.  
  438. * Sun Aug 08 2004 Dag Wieers <dag@wieers.com> - 2.1.8-1
  439. - Updated to release 2.1.8.
  440.  
  441. * Tue Jun 15 2004 Dag Wieers <dag@wieers.com> - 2.1.6-1
  442. - Updated to release 2.1.6.
  443.  
  444. * Wed Apr 28 2004 Dag Wieers <dag@wieers.com> - 2.1.5-2
  445. - Removed the %%{_infodir}/dir from the buildroot. (Shawn Ashlee)
  446.  
  447. * Mon Apr 26 2004 Dag Wieers <dag@wieers.com> - 2.1.5-1
  448. - Updated to release 2.1.5.
  449. - Fixed problem with info-files and added cfenvd sysv script. (James Wilkinson)
  450.  
  451. * Sat Jan 31 2004 Dag Wieers <dag@wieers.com> - 2.1.1-0
  452. - Updated to release 2.1.1.
  453.  
  454. * Wed Sep 03 2003 Dag Wieers <dag@wieers.com> - 2.0.6-3
  455. - Added --program-prefix for RH73. (Soren Roug)
  456.  
  457. * Thu Jun 12 2003 Dag Wieers <dag@wieers.com> - 2.0.6-2
  458. - Fix install-info and moved documentation. (Terje Rosten)
  459.  
  460. * Fri Apr 25 2003 Dag Wieers <dag@wieers.com> - 2.0.6-0
  461. - Initial package. (using DAR)
  download administrator's script: administrator's script