]>
Commit | Line | Data |
---|---|---|
bb855c6f BZ |
1 | # TODO |
2 | # for man - rst2man.py needed (docutils snap?) | |
add5fc4a | 3 | Summary: A network tool for managing many disparate systems |
bb855c6f | 4 | Name: puppet |
afa94f15 ER |
5 | Version: 3.7.5 |
6 | Release: 1 | |
7e8408a7 | 7 | License: Apache v2.0 |
bb855c6f | 8 | Group: Networking/Admin |
72169967 | 9 | Source0: http://rubygems.org/downloads/%{name}-%{version}.gem |
afa94f15 | 10 | # Source0-md5: c30fdf893061e9c0e02a026dbc382f19 |
a1a906d9 | 11 | Patch0: install-p.patch |
9af5b5eb | 12 | Patch1: ruby19.patch |
add5fc4a | 13 | URL: http://www.puppetlabs.com/ |
bb855c6f | 14 | BuildRequires: docutils |
5c13fcb2 | 15 | BuildRequires: hiera |
7e8408a7 ER |
16 | BuildRequires: rpm-rubyprov |
17 | BuildRequires: rpmbuild(macros) >= 1.656 | |
18 | BuildRequires: ruby-facter >= 1.6 | |
19 | BuildRequires: sed >= 4.0 | |
20 | BuildRequires: which | |
21 | BuildConflicts: ruby-ftools | |
2bc6800e ER |
22 | Provides: group(puppet) |
23 | Provides: user(puppet) | |
24 | Requires(postun): /usr/sbin/groupdel | |
25 | Requires(postun): /usr/sbin/userdel | |
26 | Requires(pre): /bin/id | |
27 | Requires(pre): /usr/bin/getgid | |
28 | Requires(pre): /usr/sbin/groupadd | |
29 | Requires(pre): /usr/sbin/useradd | |
3b53d896 | 30 | Requires: hiera < 3 |
1a387339 | 31 | Requires: hiera >= 1.0 |
3b53d896 ER |
32 | Requires: ruby-facter < 4 |
33 | Requires: ruby-facter >= 2.0 | |
7e8408a7 | 34 | BuildArch: noarch |
bb855c6f BZ |
35 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
36 | ||
fdb59856 ER |
37 | %define schemadir /usr/share/openldap/schema |
38 | ||
bb855c6f | 39 | %description |
add5fc4a ER |
40 | Puppet lets you centrally manage every important aspect of your system |
41 | using a cross-platform specification language that manages all the | |
42 | separate elements normally aggregated in different files, like users, | |
43 | cron jobs, and hosts, along with obviously discrete elements like | |
44 | packages, services, and files. | |
bb855c6f | 45 | |
3badc16c ER |
46 | %package server |
47 | Summary: Server for the puppet system management tool | |
48 | Group: Base | |
49 | Requires: %{name} = %{version}-%{release} | |
12d9a65f | 50 | Requires(post,preun): /sbin/chkconfig |
3badc16c ER |
51 | Requires: rc-scripts |
52 | ||
53 | %description server | |
54 | Provides the central puppet server daemon which provides manifests to | |
55 | clients. The server can also function as a certificate authority and | |
56 | file server. | |
bb855c6f | 57 | |
fdb59856 ER |
58 | %package -n openldap-schema-%{name} |
59 | Summary: Puppet LDAP schema | |
60 | Summary(pl.UTF-8): Schemat LDAP dla Puppet | |
61 | Group: Networking/Daemons | |
62 | Requires(post,postun): sed >= 4.0 | |
63 | Requires: openldap-schema-rfc2739 | |
64 | Requires: openldap-servers | |
65 | Requires: sed >= 4.0 | |
66 | ||
67 | %description -n openldap-schema-%{name} | |
68 | This package contains puppet.schema for openldap. | |
69 | ||
70 | %description -n openldap-schema-%{name} -l pl.UTF-8 | |
71 | Ten pakiet zawiera puppet.schema dla pakietu openldap. | |
72 | ||
73 | %package -n vim-syntax-%{name} | |
5c16f30d ER |
74 | Summary: Vim syntax for puppet .pp files |
75 | Group: Applications/Editors/Vim | |
76 | Requires: vim-rt >= 4:7.2.170 | |
77 | ||
fdb59856 | 78 | %description -n vim-syntax-%{name} |
5c16f30d ER |
79 | Vim syntax for puppet .pp files |
80 | ||
bb855c6f BZ |
81 | %prep |
82 | %setup -q | |
3191db80 AZ |
83 | #%patch0 -p1 |
84 | #%patch1 -p1 | |
bb855c6f | 85 | |
72169967 ER |
86 | %build |
87 | # write .gemspec | |
88 | %__gem_helper spec | |
89 | # why pure? just json will do | |
90 | %{__sed} -i -e 's/json_pure/json/' *.gemspec | |
91 | ||
bb855c6f BZ |
92 | %install |
93 | rm -rf $RPM_BUILD_ROOT | |
add5fc4a | 94 | %{__ruby} install.rb \ |
08d42e39 | 95 | --quick \ |
add5fc4a | 96 | --no-rdoc \ |
7e8408a7 | 97 | --sitelibdir=%{ruby_vendorlibdir} \ |
bb855c6f BZ |
98 | --destdir=$RPM_BUILD_ROOT |
99 | ||
72169967 | 100 | install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name}/{manifests,modules},%{_datadir}/%{name}/modules,%{ruby_specdir}} \ |
dfa863f6 ER |
101 | $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,logrotate.d} \ |
102 | $RPM_BUILD_ROOT%{_localstatedir}/{lib,log,run}/%{name} | |
103 | ||
72169967 ER |
104 | # install gemspec |
105 | cp -p %{name}-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir} | |
106 | ||
dfa863f6 ER |
107 | cp -p ext/redhat/client.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/puppet |
108 | cp -p ext/redhat/client.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppet | |
109 | cp -p ext/redhat/server.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/puppetmaster | |
110 | cp -p ext/redhat/server.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppetmaster | |
111 | cp -p ext/redhat/queue.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppetqueue | |
112 | ||
113 | cp -p ext/redhat/fileserver.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/fileserver.conf | |
114 | cp -p ext/redhat/puppet.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/puppet.conf | |
115 | cp -p ext/redhat/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/puppet | |
116 | ||
117 | # Install the ext/ directory to %{_datadir}/%{name} | |
118 | install -d $RPM_BUILD_ROOT%{_datadir}/%{name} | |
119 | cp -a ext $RPM_BUILD_ROOT%{_datadir}/%{name} | |
17807372 | 120 | |
fdb59856 ER |
121 | install -d $RPM_BUILD_ROOT%{schemadir} |
122 | cp -p ext/ldap/puppet.schema $RPM_BUILD_ROOT%{schemadir} | |
123 | ||
5c16f30d ER |
124 | # Install vim syntax files |
125 | install -d $RPM_BUILD_ROOT%{_datadir}/vim/{ftdetect,syntax} | |
dfa863f6 ER |
126 | mv $RPM_BUILD_ROOT{%{_datadir}/%{name}/ext/vim/ftdetect/puppet.vim,%{_datadir}/vim/ftdetect} |
127 | mv $RPM_BUILD_ROOT{%{_datadir}/%{name}/ext/vim/syntax/puppet.vim,%{_datadir}/vim/syntax} | |
5c16f30d | 128 | |
9afa5e9f ER |
129 | install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} |
130 | cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
131 | ||
dfa863f6 ER |
132 | # emacs and vim bits are installed elsewhere |
133 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/{emacs,vim} | |
134 | ||
fdb59856 ER |
135 | # remove misc packaging artifacts not applicable to rpms or other cruft |
136 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/{gentoo,freebsd,solaris,suse,windows,osx,ips,debian} | |
137 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/{redhat,ldap,systemd} | |
138 | %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml,envpuppet*} | |
dfa863f6 ER |
139 | |
140 | # Rpmlint fixup | |
141 | chmod 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/regexp_nodes/regexp_nodes.rb | |
142 | chmod 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/puppet-load.rb | |
143 | ||
228f2952 ER |
144 | install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir} |
145 | echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ | |
146 | $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf | |
147 | ||
bb855c6f BZ |
148 | %clean |
149 | rm -rf $RPM_BUILD_ROOT | |
150 | ||
2bc6800e ER |
151 | %pre |
152 | %groupadd -g 292 puppet | |
153 | %useradd -u 292 -g puppet -c "Puppet" -d %{_localstatedir}/lib/%{name} puppet | |
154 | ||
155 | %postun | |
156 | if [ "$1" = "0" ]; then | |
157 | %userremove puppet | |
158 | %groupremove puppet | |
159 | fi | |
160 | ||
12d9a65f ER |
161 | %post |
162 | /sbin/chkconfig --add puppet | |
163 | %service puppet restart | |
164 | ||
165 | %preun | |
166 | if [ "$1" = "0" ]; then | |
167 | %service -q puppet stop | |
168 | /sbin/chkconfig --del puppet | |
169 | fi | |
170 | ||
171 | %post server | |
172 | /sbin/chkconfig --add puppetmaster | |
173 | /sbin/chkconfig --add puppetqueue | |
174 | %service puppetmaster restart | |
175 | %service puppetqueue restart | |
176 | ||
177 | %preun server | |
178 | if [ "$1" = "0" ]; then | |
179 | /sbin/chkconfig --del puppetmaster | |
180 | /sbin/chkconfig --del puppetqueue | |
181 | %service -q puppetmaster stop | |
182 | %service -q puppetqueue stop | |
183 | fi | |
184 | ||
fdb59856 ER |
185 | %post -n openldap-schema-%{name} |
186 | %openldap_schema_register %{schemadir}/%{name}.schema -d core | |
187 | %service -q ldap restart | |
188 | ||
189 | %postun -n openldap-schema-%{name} | |
190 | if [ "$1" = "0" ]; then | |
191 | %openldap_schema_unregister %{schemadir}/%{name}.schema | |
192 | %service -q ldap restart | |
193 | fi | |
194 | ||
12d9a65f | 195 | |
bb855c6f BZ |
196 | %files |
197 | %defattr(644,root,root,755) | |
3191db80 | 198 | %doc README.md |
20b9dc2f | 199 | %dir %{_sysconfdir}/%{name} |
17807372 | 200 | %dir %{_sysconfdir}/%{name}/modules |
20b9dc2f | 201 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/auth.conf |
7e8408a7 | 202 | %attr(755,root,root) %{_bindir}/extlookup2hiera |
bb855c6f | 203 | %attr(755,root,root) %{_bindir}/puppet |
7e8408a7 ER |
204 | %{ruby_vendorlibdir}/puppet |
205 | %{ruby_vendorlibdir}/puppet.rb | |
206 | %{ruby_vendorlibdir}/semver.rb | |
5c13fcb2 AM |
207 | %{ruby_vendorlibdir}/puppetx.rb |
208 | %{ruby_vendorlibdir}/puppetx | |
72169967 | 209 | %{ruby_specdir}/%{name}-%{version}.gemspec |
08d42e39 | 210 | %{_mandir}/man5/puppet.conf.5* |
7e8408a7 ER |
211 | %{_mandir}/man8/extlookup2hiera.8* |
212 | %{_mandir}/man8/puppet*.8* | |
dfa863f6 ER |
213 | %exclude %{_mandir}/man8/puppet-ca.8* |
214 | %exclude %{_mandir}/man8/puppet-master.8* | |
9afa5e9f | 215 | %{_examplesdir}/%{name}-%{version} |
08d42e39 | 216 | |
dfa863f6 ER |
217 | %dir %{_datadir}/%{name} |
218 | %{_datadir}/%{name}/modules | |
219 | %{_datadir}/%{name}/ext | |
220 | ||
7e8408a7 ER |
221 | # hiera addons |
222 | %{ruby_vendorlibdir}/hiera/backend/puppet_backend.rb | |
223 | %{ruby_vendorlibdir}/hiera/scope.rb | |
224 | %{ruby_vendorlibdir}/hiera_puppet.rb | |
afa94f15 | 225 | %{ruby_vendorlibdir}/hiera/puppet_function.rb |
7e8408a7 | 226 | |
dfa863f6 ER |
227 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/puppet |
228 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/puppet | |
229 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/puppet.conf | |
230 | %attr(754,root,root) /etc/rc.d/init.d/puppet | |
228f2952 | 231 | %{systemdtmpfilesdir}/puppet.conf |
dfa863f6 | 232 | |
806f39e5 ER |
233 | # These need to be owned by puppet so the server can write to them. |
234 | %dir %attr(755,puppet,puppet) %{_localstatedir}/run/%{name} | |
18ed06ad | 235 | %dir %attr(750,puppet,puppet) %{_localstatedir}/log/%{name} |
806f39e5 ER |
236 | %dir %{_localstatedir}/lib/%{name} |
237 | ||
3badc16c ER |
238 | %files server |
239 | %defattr(644,root,root,755) | |
dfa863f6 ER |
240 | %dir %{_sysconfdir}/%{name}/manifests |
241 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/fileserver.conf | |
242 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/puppetmaster | |
243 | %attr(754,root,root) /etc/rc.d/init.d/puppetmaster | |
244 | %attr(754,root,root) /etc/rc.d/init.d/puppetqueue | |
245 | %{_mandir}/man8/puppet-ca.8* | |
246 | %{_mandir}/man8/puppet-master.8* | |
5c16f30d | 247 | |
fdb59856 ER |
248 | %files -n openldap-schema-%{name} |
249 | %defattr(644,root,root,755) | |
250 | %{schemadir}/*.schema | |
251 | ||
252 | %files -n vim-syntax-%{name} | |
5c16f30d ER |
253 | %defattr(644,root,root,755) |
254 | %{_datadir}/vim/ftdetect/puppet.vim | |
255 | %{_datadir}/vim/syntax/puppet.vim |