%{!?ruby_sitelib: %define ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")} %define pbuild %{_builddir}/%{name}-%{version} %define binFile %{_bindir}/ace %define initFile %{_initrddir}/ace %define acehome %{_datadir}/ace %define modulehome %{acehome}/modules ############## # Main Module ############## Summary: Appliance Configuration Engine Name: ace Version: 0.0.5 Release: 1%{?dist} Group: Applications/Internet License: LGPLv2+ URL: http://www.thincrust.net Source0: %{url}/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: ruby(abi) = 1.8 BuildRequires: ruby-devel >= 1.8 BuildRequires: ruby Requires: yum Requires: ruby(abi) = 1.8 Requires: puppet Requires: ruby-augeas Requires: /usr/sbin/crond Requires(post): chkconfig Requires(preun): chkconfig %description Boot time configuration engine for appliances. %files %defattr(-,root,root,-) %dir %{ruby_sitelib} %dir %{acehome} %dir %{modulehome} %dir %{modulehome}/appliance_base %dir %{modulehome}/augeas %dir %{modulehome}/firewall %dir %{acehome}/facts %dir %{acehome}/lenses %dir %{acehome}/manifests %dir %{acehome}/tools %{modulehome}/appliance_base/* %{modulehome}/augeas/* %{modulehome}/firewall/* %{acehome}/facts/* %{acehome}/lenses/* %{acehome}/manifests/* %{acehome}/tools/* %{ruby_sitelib}/* %doc %{acehome}/COPYING %{binFile} %{initFile} ############### # Apache Module ############### %package apache Summary: Apache ACE Module Group: Applications/Internet License: LGPLv2+ URL: http://www.thincrust.net BuildArch: noarch Requires: ace Requires: httpd Requires: ruby(abi) = 1.8 %description apache Apache module for the Appliance Configuration Engine %files apache %defattr(-,root,root,-) %dir %{modulehome}/apache %{modulehome}/apache/* %doc %{modulehome}/apache/COPYING ################# # Banners Module ################# %package banners Summary: Simple Banners ACE Module Group: Applications/Internet Requires: ace Requires: ruby(abi) = 1.8 %description banners Login and Console information for appliances %files banners %defattr(-,root,root,-) %dir %{modulehome}/banners %{modulehome}/banners/* %doc %{modulehome}/banners/COPYING #################### # Basic Site Module #################### %package basic-site Summary: Simple Web Site ACE Module Group: Applications/Internet Requires: ace-apache Requires: ruby(abi) = 1.8 %description basic-site Basic informative web site for appliances %files basic-site %defattr(-,root,root,-) %dir %{modulehome}/basic-site %{modulehome}/basic-site/* %doc %{modulehome}/basic-site/COPYING ############## # MySQL Module ############## %package mysql Summary: ACE Mysql module Group: Applications/Internet Requires: ruby(abi) = 1.8 Requires: ace Requires: mysql Requires: mysql-server %description mysql Mysql management for appliances. %files mysql %defattr(-,root,root,-) %dir %{modulehome}/mysql %{modulehome}/mysql/* %doc %{modulehome}/mysql/COPYING ############## # PHP Module ############## %package php Summary: ACE php module Group: Applications/Internet Requires: ruby(abi) = 1.8 Requires: ace Requires: php %description php PHP management for appliances. %files php %defattr(-,root,root,-) %dir %{modulehome}/php %{modulehome}/php/* %doc %{modulehome}/php/COPYING ################# # Postgres Module ################# %package postgres Summary: ACE postgres module Group: Applications/Internet Requires: ruby(abi) = 1.8 Requires: ace Requires: postgresql Requires: postgresql-server %description postgres Postgres database management for appliances. %files postgres %defattr(-,root,root,-) %dir %{modulehome}/postgres %{modulehome}/postgres/* %doc %{modulehome}/postgres/COPYING ############ # SSH Module ############ %package ssh Summary: ACE ssh module Group: Applications/Internet Requires: ruby(abi) = 1.8 Requires: ace Requires: openssh-server %description ssh SSH configuration for appliances %files ssh %defattr(-,root,root,-) %dir %{modulehome}/ssh %{modulehome}/ssh/* %doc %{modulehome}/ssh/COPYING ########################### # Prep, Build, and Install ########################### %prep %setup -q %build %install rm -rf %{buildroot} install -d %{buildroot}/%{acehome} install -d %{buildroot}/%{ruby_sitelib} install -d %{buildroot}/%{_bindir} install -d %{buildroot}/%{_initrddir} cp -pr %{pbuild}/COPYING %{buildroot}/%{acehome} cp -pr %{pbuild}/lib/ace.rb %{buildroot}/%{ruby_sitelib} cp -pr %{pbuild}/lib/ace %{buildroot}/%{ruby_sitelib} cp -pr %{pbuild}/bin/ace %{buildroot}/%{binFile} cp -pr %{pbuild}/bin/ace-init %{buildroot}/%{initFile} cp -pr %{pbuild}/modules %{buildroot}/%{acehome} cp -pr %{pbuild}/COPYING %{buildroot}/%{modulehome}/apache cp -pr %{pbuild}/COPYING %{buildroot}/%{modulehome}/banners cp -pr %{pbuild}/COPYING %{buildroot}/%{modulehome}/basic-site cp -pr %{pbuild}/COPYING %{buildroot}/%{modulehome}/mysql cp -pr %{pbuild}/COPYING %{buildroot}/%{modulehome}/php cp -pr %{pbuild}/COPYING %{buildroot}/%{modulehome}/postgres cp -pr %{pbuild}/COPYING %{buildroot}/%{modulehome}/ssh cp -pr %{pbuild}/facts %{buildroot}/%{acehome} cp -pr %{pbuild}/manifests %{buildroot}/%{acehome} cp -pr %{pbuild}/tools %{buildroot}/%{acehome} cp -pr %{pbuild}/lenses %{buildroot}/%{acehome} %clean rm -rf %{buildroot} %post /sbin/chkconfig --add %{name} %preun if [ $1 = 0 ] ; then /sbin/service ace stop >/dev/null 2>&1 /sbin/chkconfig --del %{name} fi ########### # Changelog ########### %changelog * Tue Jan 07 2009 Bryan Kearney 0.0.5-1 - Status of puppet script is reflected in command line and init script - Executingn 'ace --verbose' now provides real time view of puppet output - Will work with new puppet which includes the augas plugin * Tue Dec 16 2008 Bryan Kearney 0.0.4-1 - Postgres packages did not enforfce dependencies correctly - init script can handle many appliances * Tue Dec 2 2008 Bryan Kearney 0.0.3-7 - Modify the build requires to include the ruby binary * Tue Dec 2 2008 Bryan Kearney 0.0.3-6 - Modify the build requires to get the sitelibdir value * Thu Oct 2 2008 Bryan Kearney 0.0.3-5 - Remove the console to package it later. * Thu Oct 2 2008 Bryan Kearney 0.0.3-4 - Combine all ace packages into a single SRPM. * Wed Sep 24 2008 Bryan Kearney 0.0.3-3 - Comments from David Lutterkort and Bill Nottingham * Fri Sep 19 2008 Bryan Kearney 0.0.3-2 - Submit For Fedora Packaging Process * Thu Sep 18 2008 Bryan Kearney 0.0.3-1 - Begin Fedora Packaging Process * Thu Jul 17 2008 Bryan Kearney 0.0.2-1 - Converted to puppet syntax * Thu Mar 26 2008 Bryan Kearney 0.0.1-1 - Initial packaging