]>
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 |
5c13fcb2 AM |
5 | Version: 3.7.3 |
6 | Release: 0.1 | |
7e8408a7 | 7 | License: Apache v2.0 |
bb855c6f | 8 | Group: Networking/Admin |
add5fc4a | 9 | Source0: http://puppetlabs.com/downloads/puppet/%{name}-%{version}.tar.gz |
5c13fcb2 | 10 | # Source0-md5: cc294da1d51df07bcc7f6cf78bd90ce0 |
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 | |
1a387339 ER |
30 | Requires: hiera < 2 |
31 | Requires: hiera >= 1.0 | |
7e8408a7 ER |
32 | Requires: ruby-facter < 2 |
33 | Requires: ruby-facter >= 1.6 | |
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 | |
bb855c6f BZ |
86 | %install |
87 | rm -rf $RPM_BUILD_ROOT | |
add5fc4a | 88 | %{__ruby} install.rb \ |
08d42e39 | 89 | --quick \ |
add5fc4a | 90 | --no-rdoc \ |
7e8408a7 | 91 | --sitelibdir=%{ruby_vendorlibdir} \ |
bb855c6f BZ |
92 | --destdir=$RPM_BUILD_ROOT |
93 | ||
dfa863f6 ER |
94 | install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name}/{manifests,modules},%{_datadir}/%{name}/modules} \ |
95 | $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,logrotate.d} \ | |
96 | $RPM_BUILD_ROOT%{_localstatedir}/{lib,log,run}/%{name} | |
97 | ||
98 | cp -p ext/redhat/client.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/puppet | |
99 | cp -p ext/redhat/client.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppet | |
100 | cp -p ext/redhat/server.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/puppetmaster | |
101 | cp -p ext/redhat/server.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppetmaster | |
102 | cp -p ext/redhat/queue.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppetqueue | |
103 | ||
104 | cp -p ext/redhat/fileserver.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/fileserver.conf | |
105 | cp -p ext/redhat/puppet.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/puppet.conf | |
106 | cp -p ext/redhat/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/puppet | |
107 | ||
108 | # Install the ext/ directory to %{_datadir}/%{name} | |
109 | install -d $RPM_BUILD_ROOT%{_datadir}/%{name} | |
110 | cp -a ext $RPM_BUILD_ROOT%{_datadir}/%{name} | |
17807372 | 111 | |
fdb59856 ER |
112 | install -d $RPM_BUILD_ROOT%{schemadir} |
113 | cp -p ext/ldap/puppet.schema $RPM_BUILD_ROOT%{schemadir} | |
114 | ||
5c16f30d ER |
115 | # Install vim syntax files |
116 | install -d $RPM_BUILD_ROOT%{_datadir}/vim/{ftdetect,syntax} | |
dfa863f6 ER |
117 | mv $RPM_BUILD_ROOT{%{_datadir}/%{name}/ext/vim/ftdetect/puppet.vim,%{_datadir}/vim/ftdetect} |
118 | mv $RPM_BUILD_ROOT{%{_datadir}/%{name}/ext/vim/syntax/puppet.vim,%{_datadir}/vim/syntax} | |
5c16f30d | 119 | |
9afa5e9f ER |
120 | install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} |
121 | cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
122 | ||
dfa863f6 ER |
123 | # emacs and vim bits are installed elsewhere |
124 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/{emacs,vim} | |
125 | ||
fdb59856 ER |
126 | # remove misc packaging artifacts not applicable to rpms or other cruft |
127 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/{gentoo,freebsd,solaris,suse,windows,osx,ips,debian} | |
128 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/{redhat,ldap,systemd} | |
129 | %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml,envpuppet*} | |
dfa863f6 ER |
130 | |
131 | # Rpmlint fixup | |
132 | chmod 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/regexp_nodes/regexp_nodes.rb | |
133 | chmod 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/puppet-load.rb | |
134 | ||
228f2952 ER |
135 | install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir} |
136 | echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ | |
137 | $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf | |
138 | ||
bb855c6f BZ |
139 | %clean |
140 | rm -rf $RPM_BUILD_ROOT | |
141 | ||
2bc6800e ER |
142 | %pre |
143 | %groupadd -g 292 puppet | |
144 | %useradd -u 292 -g puppet -c "Puppet" -d %{_localstatedir}/lib/%{name} puppet | |
145 | ||
146 | %postun | |
147 | if [ "$1" = "0" ]; then | |
148 | %userremove puppet | |
149 | %groupremove puppet | |
150 | fi | |
151 | ||
12d9a65f ER |
152 | %post |
153 | /sbin/chkconfig --add puppet | |
154 | %service puppet restart | |
155 | ||
156 | %preun | |
157 | if [ "$1" = "0" ]; then | |
158 | %service -q puppet stop | |
159 | /sbin/chkconfig --del puppet | |
160 | fi | |
161 | ||
162 | %post server | |
163 | /sbin/chkconfig --add puppetmaster | |
164 | /sbin/chkconfig --add puppetqueue | |
165 | %service puppetmaster restart | |
166 | %service puppetqueue restart | |
167 | ||
168 | %preun server | |
169 | if [ "$1" = "0" ]; then | |
170 | /sbin/chkconfig --del puppetmaster | |
171 | /sbin/chkconfig --del puppetqueue | |
172 | %service -q puppetmaster stop | |
173 | %service -q puppetqueue stop | |
174 | fi | |
175 | ||
fdb59856 ER |
176 | %post -n openldap-schema-%{name} |
177 | %openldap_schema_register %{schemadir}/%{name}.schema -d core | |
178 | %service -q ldap restart | |
179 | ||
180 | %postun -n openldap-schema-%{name} | |
181 | if [ "$1" = "0" ]; then | |
182 | %openldap_schema_unregister %{schemadir}/%{name}.schema | |
183 | %service -q ldap restart | |
184 | fi | |
185 | ||
12d9a65f | 186 | |
bb855c6f BZ |
187 | %files |
188 | %defattr(644,root,root,755) | |
3191db80 | 189 | %doc README.md |
20b9dc2f | 190 | %dir %{_sysconfdir}/%{name} |
17807372 | 191 | %dir %{_sysconfdir}/%{name}/modules |
20b9dc2f | 192 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/auth.conf |
7e8408a7 | 193 | %attr(755,root,root) %{_bindir}/extlookup2hiera |
bb855c6f | 194 | %attr(755,root,root) %{_bindir}/puppet |
7e8408a7 ER |
195 | %{ruby_vendorlibdir}/puppet |
196 | %{ruby_vendorlibdir}/puppet.rb | |
197 | %{ruby_vendorlibdir}/semver.rb | |
5c13fcb2 AM |
198 | %{ruby_vendorlibdir}/puppetx.rb |
199 | %{ruby_vendorlibdir}/puppetx | |
08d42e39 | 200 | %{_mandir}/man5/puppet.conf.5* |
7e8408a7 ER |
201 | %{_mandir}/man8/extlookup2hiera.8* |
202 | %{_mandir}/man8/puppet*.8* | |
dfa863f6 ER |
203 | %exclude %{_mandir}/man8/puppet-ca.8* |
204 | %exclude %{_mandir}/man8/puppet-master.8* | |
9afa5e9f | 205 | %{_examplesdir}/%{name}-%{version} |
08d42e39 | 206 | |
dfa863f6 ER |
207 | %dir %{_datadir}/%{name} |
208 | %{_datadir}/%{name}/modules | |
209 | %{_datadir}/%{name}/ext | |
210 | ||
7e8408a7 ER |
211 | # hiera addons |
212 | %{ruby_vendorlibdir}/hiera/backend/puppet_backend.rb | |
213 | %{ruby_vendorlibdir}/hiera/scope.rb | |
214 | %{ruby_vendorlibdir}/hiera_puppet.rb | |
215 | ||
dfa863f6 ER |
216 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/puppet |
217 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/puppet | |
218 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/puppet.conf | |
219 | %attr(754,root,root) /etc/rc.d/init.d/puppet | |
228f2952 | 220 | %{systemdtmpfilesdir}/puppet.conf |
dfa863f6 | 221 | |
806f39e5 ER |
222 | # These need to be owned by puppet so the server can write to them. |
223 | %dir %attr(755,puppet,puppet) %{_localstatedir}/run/%{name} | |
18ed06ad | 224 | %dir %attr(750,puppet,puppet) %{_localstatedir}/log/%{name} |
806f39e5 ER |
225 | %dir %{_localstatedir}/lib/%{name} |
226 | ||
3badc16c ER |
227 | %files server |
228 | %defattr(644,root,root,755) | |
dfa863f6 ER |
229 | %dir %{_sysconfdir}/%{name}/manifests |
230 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/fileserver.conf | |
231 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/puppetmaster | |
232 | %attr(754,root,root) /etc/rc.d/init.d/puppetmaster | |
233 | %attr(754,root,root) /etc/rc.d/init.d/puppetqueue | |
234 | %{_mandir}/man8/puppet-ca.8* | |
235 | %{_mandir}/man8/puppet-master.8* | |
5c16f30d | 236 | |
fdb59856 ER |
237 | %files -n openldap-schema-%{name} |
238 | %defattr(644,root,root,755) | |
239 | %{schemadir}/*.schema | |
240 | ||
241 | %files -n vim-syntax-%{name} | |
5c16f30d ER |
242 | %defattr(644,root,root,755) |
243 | %{_datadir}/vim/ftdetect/puppet.vim | |
244 | %{_datadir}/vim/syntax/puppet.vim |