/[packages]/cauldron/puppet/current/SPECS/puppet.spec
ViewVC logotype

Contents of /cauldron/puppet/current/SPECS/puppet.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 404859 - (show annotations) (download)
Sun Mar 24 15:20:47 2013 UTC (11 years ago) by colin
File size: 7011 byte(s)
Add systemd requires and general post/pre fixes (mga#9302)
1 %define name puppet
2 %define version 2.7.20
3 %define release %mkrel 4
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.service
16 Source101: puppetmaster.service
17 Source102: %{name}-tmpfiles.conf
18 BuildArch: noarch
19 BuildRequires: ruby facter
20 Requires: facter
21 Suggests: vim-puppet
22 Suggests: emacs-puppet
23 Requires(post): systemd >= %{systemd_required_version}
24 Requires(pre): rpm-helper
25 Requires(post): rpm-helper
26 Requires(preun):rpm-helper
27
28 %description
29 Puppet lets you centrally manage every important aspect of your system using a
30 cross-platform specification language that manages all the separate elements
31 normally aggregated in different files, like users, cron jobs, and hosts,
32 along with obviously discrete elements like packages, services, and files.
33
34 This package provide the puppet client daemon.
35
36
37 %package server
38 Group: Monitoring
39 Summary: Server for the puppet system management tool
40 Requires: %{name} = %{version}
41 Requires(post): rpm-helper
42 Requires(preun):rpm-helper
43
44 %description server
45 Provides the central puppet server daemon (puppetmaster) which provides
46 manifests to clients.
47 The server can also function as a certificate authority and file server.
48
49 %package -n vim-puppet
50 Group: Editors
51 Summary: Syntax highlighting for puppet manifests in vim
52
53 %description -n vim-puppet
54 The vim-puppet package provides filetype detection and syntax highlighting for
55 puppet manifests (files ending with ".pp").
56
57 %package -n emacs-puppet
58 Group: Editors
59 Summary: Syntax highlighting for puppet manifests in emacs
60
61 %description -n emacs-puppet
62 The emacs-puppet package provides filetype detection and syntax highlighting for
63 puppet manifests (files ending with ".pp").
64
65 %prep
66 %setup -q
67
68 %build
69 # Use /usr/bin/ruby directly instead of /usr/bin/env ruby in
70 #+ executables. Otherwise, initscripts break since pidof can't
71 #+ find the right process
72 for f in bin/* ; do
73 sed -i -e '1c#!/usr/bin/ruby' $f
74 done
75
76 %install
77 %{__rm} -rf %{buildroot}
78
79 ruby install.rb --destdir=%{buildroot} --quick --no-rdoc
80
81 %{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/manifests
82 %{__install} -d -m 0755 %{buildroot}%{_defaultdocdir}/%{name}
83 %{__install} -d -m 0755 %{buildroot}%{_localstatedir}/lib/%{name}
84 %{__install} -D -p -m 0644 %{SOURCE102} %{buildroot}%{_tmpfilesdir}/%{name}.conf
85 %{__install} -d -m 0755 %{buildroot}%{_logdir}/%{name}
86
87 #%{__find} %{buildroot}%{ruby_sitelibdir}/%{name} -type f -perm +ugo+x -print0 | xargs -0 -r %{__chmod} a-x
88 #
89 %{__install} -Dp -m 0644 %{ppconfdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetd
90 %{__install} -Dp -m 0644 %{ppconfdir}/server.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetmasterd
91 %{__install} -Dp -m 0644 %{ppconfdir}/fileserver.conf %{buildroot}%{_sysconfdir}/%{name}/fileserver.conf
92 %{__install} -Dp -m 0644 %{ppconfdir}/puppet.conf %{buildroot}%{_sysconfdir}/%{name}/puppet.conf
93 %{__install} -Dp -m 0644 %{ppconfdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet
94 # We need something for these ghosted files, otherwise rpmbuild
95 # will complain loudly. They won't be included in the binary packages
96 touch %{buildroot}%{_sysconfdir}/%{name}/puppetmasterd.conf
97 touch %{buildroot}%{_sysconfdir}/%{name}/puppetca.conf
98 touch %{buildroot}%{_sysconfdir}/%{name}/puppetd.conf
99
100 # systemd
101 %{__install} -d -m 0755 %{buildroot}%{_unitdir}
102 %{__install} -m 755 %{SOURCE100} %{buildroot}%{_unitdir}/puppet.service
103 %{__install} -m 755 %{SOURCE101} %{buildroot}%{_unitdir}/puppetmaster.service
104
105 ## install vim syntax file
106 %{__install} -d -m 755 %{buildroot}%{_datadir}/vim/syntax
107 %{__install} -d -m 755 %{buildroot}%{_datadir}/vim/ftdetect
108
109 %{__install} -m 644 ext/vim/syntax/puppet.vim %{buildroot}%{_datadir}/vim/syntax
110 %{__install} -m 644 ext/vim/ftdetect/puppet.vim %{buildroot}%{_datadir}/vim/ftdetect
111
112 ## install emacs syntax file
113 %{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/emacs/site-start.d
114 %{__install} -d -m 0755 %{buildroot}%{_datadir}/emacs/site-lisp
115 %{__install} -m 0644 ext/emacs/puppet-mode-init.el %{buildroot}%{_sysconfdir}/emacs/site-start.d
116 %{__install} -m 0644 ext/emacs/puppet-mode.el %{buildroot}%{_datadir}/emacs/site-lisp
117
118 ## Install logcheck files
119 %{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/logcheck/ignore.d.{server,workstation}
120 %{__install} -m 0644 ext/logcheck/puppet %{buildroot}%{_sysconfdir}/logcheck/ignore.d.server/
121 %{__install} -m 0644 ext/logcheck/puppet %{buildroot}%{_sysconfdir}/logcheck/ignore.d.workstation/
122
123 %pre
124 %_pre_useradd puppet %{_localstatedir}/lib/%{name} /sbin/nologin
125
126 %post
127 %_tmpfilescreate %{name}
128 %_post_service puppet
129
130 %preun
131 %_preun_service puppet
132
133 %post server
134 %_post_service puppetmaster
135
136 %preun server
137 %_preun_service puppetmaster
138
139 %files
140 %doc CHANGELOG LICENSE examples
141 %dir %{_sysconfdir}/puppet
142 %{_bindir}/puppet
143 %{_bindir}/ralsh
144 %{_bindir}/pi
145 %{_bindir}/filebucket
146 %{_bindir}/puppetdoc
147 %{_sbindir}/puppetd
148 %{ruby_sitelibdir}/puppet.rb
149 %{ruby_sitelibdir}/%{name}
150 %{ruby_sitelibdir}/semver.rb
151 %{_unitdir}/puppet.service
152 %{_tmpfilesdir}/%{name}.conf
153
154 %{_mandir}/man8/puppet.*
155 %{_mandir}/man8/ralsh.*
156 %{_mandir}/man8/pi.*
157 %{_mandir}/man8/filebucket.*
158 %{_mandir}/man8/puppetdoc.*
159 %{_mandir}/man8/puppetd.*
160 %{_mandir}/man5/puppet.conf.*
161 %{_mandir}/man8/puppet-*
162
163 %config(noreplace) %{_sysconfdir}/sysconfig/puppetd
164 %config(noreplace) %{_sysconfdir}/%{name}/puppet.conf
165 %config(noreplace) %{_sysconfdir}/logrotate.d/puppet
166 %ghost %config(noreplace,missingok) %{_sysconfdir}/%{name}/puppetd.conf
167
168 %{_sysconfdir}/logcheck/ignore.d.workstation/%{name}
169 %{_sysconfdir}/logcheck/ignore.d.server/
170
171 # These need to be owned by puppet so the server can
172 # write to them
173 %attr(-, %{name}, %{name}) %{_logdir}/%{name}
174 %attr(-, %{name}, %{name}) %{_localstatedir}/lib/%{name}
175
176 %files server
177 %{_sbindir}/puppetmasterd
178 %{_sbindir}/puppetca
179 %{_sbindir}/puppetrun
180 %{_sbindir}/puppetqd
181 %{_unitdir}/puppetmaster.service
182 %config(noreplace) %{_sysconfdir}/%{name}/fileserver.conf
183 %config(noreplace) %{_sysconfdir}/%{name}/auth.conf
184 %dir %{_sysconfdir}/puppet/manifests
185 %config(noreplace) %{_sysconfdir}/sysconfig/puppetmasterd
186 %ghost %config(noreplace,missingok) %{_sysconfdir}/%{name}/puppetca.conf
187 %ghost %config(noreplace,missingok) %{_sysconfdir}/%{name}/puppetmasterd.conf
188
189 %{_mandir}/man8/puppetca.*
190 %{_mandir}/man8/puppetrun.*
191 %{_mandir}/man8/puppetqd.*
192 %{_mandir}/man8/puppetmasterd.*
193
194 %files -n vim-puppet
195 %{_datadir}/vim/syntax/puppet.vim
196 %{_datadir}/vim/ftdetect/puppet.vim
197
198 %files -n emacs-puppet
199 %{_sysconfdir}/emacs/site-start.d/puppet-mode-init.el
200 %{_datadir}/emacs/site-lisp/puppet-mode.el

  ViewVC Help
Powered by ViewVC 1.1.30