1 |
%define name puppet |
2 |
%define version 2.7.6 |
3 |
%define release %mkrel 1 |
4 |
|
5 |
%define ppconfdir conf/redhat |
6 |
|
7 |
Name: %{name} |
8 |
Version: %{version} |
9 |
Release: %{release} |
10 |
Summary: System Automation and Configuration Management Software |
11 |
License: Apache Software License |
12 |
Group: Monitoring |
13 |
URL: http://www.puppetlabs.com/ |
14 |
Source0: http://puppetlabs.com/downloads/puppet/%{name}-%{version}.tar.gz |
15 |
Source100: puppet.init |
16 |
Source101: puppetmaster.init |
17 |
BuildArch: noarch |
18 |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot |
19 |
BuildRequires: ruby facter |
20 |
Requires: facter |
21 |
Requires(post): rpm-helper |
22 |
Requires(preun):rpm-helper |
23 |
|
24 |
%description |
25 |
Puppet lets you centrally manage every important aspect of your system using a |
26 |
cross-platform specification language that manages all the separate elements |
27 |
normally aggregated in different files, like users, cron jobs, and hosts, |
28 |
along with obviously discrete elements like packages, services, and files. |
29 |
|
30 |
This package provide the puppet client daemon. |
31 |
|
32 |
|
33 |
%package server |
34 |
Group: Monitoring |
35 |
Summary: Server for the puppet system management tool |
36 |
Requires: %{name} = %{version} |
37 |
Requires(post): rpm-helper |
38 |
Requires(preun):rpm-helper |
39 |
|
40 |
%description server |
41 |
Provides the central puppet server daemon (puppetmaster) which provides |
42 |
manifests to clients. |
43 |
The server can also function as a certificate authority and file server. |
44 |
|
45 |
%prep |
46 |
%setup -q |
47 |
|
48 |
%build |
49 |
# Use /usr/bin/ruby directly instead of /usr/bin/env ruby in |
50 |
#+ executables. Otherwise, initscripts break since pidof can't |
51 |
#+ find the right process |
52 |
for f in bin/* ; do |
53 |
sed -i -e '1c#!/usr/bin/ruby' $f |
54 |
done |
55 |
|
56 |
%install |
57 |
%{__rm} -rf %{buildroot} |
58 |
|
59 |
ruby install.rb --destdir=%{buildroot} --quick --no-rdoc |
60 |
|
61 |
%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/manifests |
62 |
%{__install} -d -m 0755 %{buildroot}%{_initrddir} |
63 |
%{__install} -d -m 0755 %{buildroot}%{_defaultdocdir}/%{name} |
64 |
%{__install} -d -m 0755 %{buildroot}%{_localstatedir}/lib/%{name} |
65 |
%{__install} -d -m 0755 %{buildroot}%{_var}/run/%{name} |
66 |
%{__install} -d -m 0755 %{buildroot}%{_logdir}/%{name} |
67 |
|
68 |
#%{__find} %{buildroot}%{ruby_sitelibdir}/%{name} -type f -perm +ugo+x -print0 | xargs -0 -r %{__chmod} a-x |
69 |
# |
70 |
%{__install} -Dp -m 0644 %{ppconfdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetd |
71 |
%{__install} -Dp -m 0644 %{ppconfdir}/server.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetmasterd |
72 |
%{__install} -m 755 %{SOURCE100} %{buildroot}%{_initrddir}/puppet |
73 |
%{__install} -m 755 %{SOURCE101} %{buildroot}%{_initrddir}/puppetmaster |
74 |
%{__install} -Dp -m 0644 %{ppconfdir}/fileserver.conf %{buildroot}%{_sysconfdir}/%{name}/fileserver.conf |
75 |
%{__install} -Dp -m 0644 %{ppconfdir}/puppet.conf %{buildroot}%{_sysconfdir}/%{name}/puppet.conf |
76 |
%{__install} -Dp -m 0644 %{ppconfdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet |
77 |
# We need something for these ghosted files, otherwise rpmbuild |
78 |
# will complain loudly. They won't be included in the binary packages |
79 |
touch %{buildroot}%{_sysconfdir}/%{name}/puppetmasterd.conf |
80 |
touch %{buildroot}%{_sysconfdir}/%{name}/puppetca.conf |
81 |
touch %{buildroot}%{_sysconfdir}/%{name}/puppetd.conf |
82 |
|
83 |
## install vim syntax file |
84 |
%{__install} -d -m 755 %{buildroot}%{_datadir}/vim/syntax |
85 |
%{__install} -d -m 755 %{buildroot}%{_datadir}/vim/ftdetect |
86 |
|
87 |
%{__install} -m 644 ext/vim/syntax/puppet.vim %{buildroot}%{_datadir}/vim/syntax |
88 |
%{__install} -m 644 ext/vim/ftdetect/puppet.vim %{buildroot}%{_datadir}/vim/ftdetect |
89 |
|
90 |
## install emacs syntax file |
91 |
%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/emacs/site-start.d |
92 |
%{__install} -d -m 0755 %{buildroot}%{_datadir}/emacs/site-lisp |
93 |
%{__install} -m 0644 ext/emacs/puppet-mode-init.el %{buildroot}%{_sysconfdir}/emacs/site-start.d |
94 |
%{__install} -m 0644 ext/emacs/puppet-mode.el %{buildroot}%{_datadir}/emacs/site-lisp |
95 |
|
96 |
## Install logcheck files |
97 |
%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/logcheck/ignore.d.{server,workstation} |
98 |
%{__install} -m 0644 ext/logcheck/puppet %{buildroot}%{_sysconfdir}/logcheck/ignore.d.server/ |
99 |
%{__install} -m 0644 ext/logcheck/puppet %{buildroot}%{_sysconfdir}/logcheck/ignore.d.workstation/ |
100 |
|
101 |
%pre |
102 |
%_pre_useradd puppet %{_localstatedir}/lib/%{name} /sbin/nologin |
103 |
|
104 |
%post |
105 |
%_post_service puppet |
106 |
|
107 |
%preun |
108 |
%_preun_service puppet |
109 |
|
110 |
|
111 |
%post server |
112 |
%_post_service puppetmaster |
113 |
|
114 |
%preun server |
115 |
%_preun_service puppetmaster |
116 |
|
117 |
|
118 |
%files |
119 |
%doc CHANGELOG LICENSE examples |
120 |
%dir %{_sysconfdir}/puppet |
121 |
%{_bindir}/puppet |
122 |
%{_bindir}/ralsh |
123 |
%{_bindir}/pi |
124 |
%{_bindir}/filebucket |
125 |
%{_bindir}/puppetdoc |
126 |
%{_sbindir}/puppetd |
127 |
%{ruby_sitelibdir}/puppet.rb |
128 |
%{ruby_sitelibdir}/%{name} |
129 |
%{ruby_sitelibdir}/semver.rb |
130 |
%{_initrddir}/puppet |
131 |
|
132 |
%{_mandir}/man8/puppet.* |
133 |
%{_mandir}/man8/ralsh.* |
134 |
%{_mandir}/man8/pi.* |
135 |
%{_mandir}/man8/filebucket.* |
136 |
%{_mandir}/man8/puppetdoc.* |
137 |
%{_mandir}/man8/puppetd.* |
138 |
%{_mandir}/man5/puppet.conf.* |
139 |
%{_mandir}/man8/puppet-* |
140 |
|
141 |
%config(noreplace) %{_sysconfdir}/sysconfig/puppetd |
142 |
%config(noreplace) %{_sysconfdir}/%{name}/puppet.conf |
143 |
%config(noreplace) %{_sysconfdir}/logrotate.d/puppet |
144 |
%ghost %config(noreplace,missingok) %{_sysconfdir}/%{name}/puppetd.conf |
145 |
|
146 |
%{_sysconfdir}/logcheck/ignore.d.workstation/%{name} |
147 |
%{_sysconfdir}/logcheck/ignore.d.server/ |
148 |
%{_sysconfdir}/emacs/site-start.d/puppet-mode-init.el |
149 |
%{_datadir}/emacs/site-lisp/puppet-mode.el |
150 |
%{_datadir}/vim/syntax/puppet.vim |
151 |
%{_datadir}/vim/ftdetect/puppet.vim |
152 |
|
153 |
# These need to be owned by puppet so the server can |
154 |
# write to them |
155 |
%attr(-, %{name}, %{name}) %{_var}/run/%{name} |
156 |
%attr(-, %{name}, %{name}) %{_logdir}/%{name} |
157 |
%attr(-, %{name}, %{name}) %{_localstatedir}/lib/%{name} |
158 |
|
159 |
%files server |
160 |
%{_sbindir}/puppetmasterd |
161 |
%{_sbindir}/puppetca |
162 |
%{_sbindir}/puppetrun |
163 |
%{_sbindir}/puppetqd |
164 |
%{_initrddir}/puppetmaster |
165 |
%config(noreplace) %{_sysconfdir}/%{name}/fileserver.conf |
166 |
%config(noreplace) %{_sysconfdir}/%{name}/auth.conf |
167 |
%dir %{_sysconfdir}/puppet/manifests |
168 |
%config(noreplace) %{_sysconfdir}/sysconfig/puppetmasterd |
169 |
%ghost %config(noreplace,missingok) %{_sysconfdir}/%{name}/puppetca.conf |
170 |
%ghost %config(noreplace,missingok) %{_sysconfdir}/%{name}/puppetmasterd.conf |
171 |
|
172 |
%{_mandir}/man8/puppetca.* |
173 |
%{_mandir}/man8/puppetrun.* |
174 |
%{_mandir}/man8/puppetqd.* |
175 |
%{_mandir}/man8/puppetmasterd.* |
176 |
|
177 |
|