]> git.pld-linux.org Git - packages/puppet.git/blob - puppet.spec
- up to 3.7.3
[packages/puppet.git] / puppet.spec
1 # TODO
2 # for man - rst2man.py needed (docutils snap?)
3 Summary:        A network tool for managing many disparate systems
4 Name:           puppet
5 Version:        3.7.3
6 Release:        0.1
7 License:        Apache v2.0
8 Group:          Networking/Admin
9 Source0:        http://puppetlabs.com/downloads/puppet/%{name}-%{version}.tar.gz
10 # Source0-md5:  cc294da1d51df07bcc7f6cf78bd90ce0
11 Patch0:         install-p.patch
12 Patch1:         ruby19.patch
13 URL:            http://www.puppetlabs.com/
14 BuildRequires:  docutils
15 BuildRequires:  hiera
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
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
30 Requires:       hiera < 2
31 Requires:       hiera >= 1.0
32 Requires:       ruby-facter < 2
33 Requires:       ruby-facter >= 1.6
34 BuildArch:      noarch
35 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
37 %define         schemadir       /usr/share/openldap/schema
38
39 %description
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.
45
46 %package server
47 Summary:        Server for the puppet system management tool
48 Group:          Base
49 Requires:       %{name} = %{version}-%{release}
50 Requires(post,preun):   /sbin/chkconfig
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.
57
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}
74 Summary:        Vim syntax for puppet .pp files
75 Group:          Applications/Editors/Vim
76 Requires:       vim-rt >= 4:7.2.170
77
78 %description -n vim-syntax-%{name}
79 Vim syntax for puppet .pp files
80
81 %prep
82 %setup -q
83 #%patch0 -p1
84 #%patch1 -p1
85
86 %install
87 rm -rf $RPM_BUILD_ROOT
88 %{__ruby} install.rb \
89         --quick \
90         --no-rdoc \
91         --sitelibdir=%{ruby_vendorlibdir} \
92         --destdir=$RPM_BUILD_ROOT
93
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}
111
112 install -d $RPM_BUILD_ROOT%{schemadir}
113 cp -p ext/ldap/puppet.schema $RPM_BUILD_ROOT%{schemadir}
114
115 # Install vim syntax files
116 install -d $RPM_BUILD_ROOT%{_datadir}/vim/{ftdetect,syntax}
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}
119
120 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
121 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
122
123 # emacs and vim bits are installed elsewhere
124 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/{emacs,vim}
125
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*}
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
135 install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir}
136 echo "D /var/run/%{name} 0755 %{name} %{name} -" > \
137     $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
138
139 %clean
140 rm -rf $RPM_BUILD_ROOT
141
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
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
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
186
187 %files
188 %defattr(644,root,root,755)
189 %doc README.md
190 %dir %{_sysconfdir}/%{name}
191 %dir %{_sysconfdir}/%{name}/modules
192 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/auth.conf
193 %attr(755,root,root) %{_bindir}/extlookup2hiera
194 %attr(755,root,root) %{_bindir}/puppet
195 %{ruby_vendorlibdir}/puppet
196 %{ruby_vendorlibdir}/puppet.rb
197 %{ruby_vendorlibdir}/semver.rb
198 %{ruby_vendorlibdir}/puppetx.rb
199 %{ruby_vendorlibdir}/puppetx
200 %{_mandir}/man5/puppet.conf.5*
201 %{_mandir}/man8/extlookup2hiera.8*
202 %{_mandir}/man8/puppet*.8*
203 %exclude %{_mandir}/man8/puppet-ca.8*
204 %exclude %{_mandir}/man8/puppet-master.8*
205 %{_examplesdir}/%{name}-%{version}
206
207 %dir %{_datadir}/%{name}
208 %{_datadir}/%{name}/modules
209 %{_datadir}/%{name}/ext
210
211 # hiera addons
212 %{ruby_vendorlibdir}/hiera/backend/puppet_backend.rb
213 %{ruby_vendorlibdir}/hiera/scope.rb
214 %{ruby_vendorlibdir}/hiera_puppet.rb
215
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
220 %{systemdtmpfilesdir}/puppet.conf
221
222 # These need to be owned by puppet so the server can write to them.
223 %dir %attr(755,puppet,puppet) %{_localstatedir}/run/%{name}
224 %dir %attr(750,puppet,puppet) %{_localstatedir}/log/%{name}
225 %dir %{_localstatedir}/lib/%{name}
226
227 %files server
228 %defattr(644,root,root,755)
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*
236
237 %files -n openldap-schema-%{name}
238 %defattr(644,root,root,755)
239 %{schemadir}/*.schema
240
241 %files -n vim-syntax-%{name}
242 %defattr(644,root,root,755)
243 %{_datadir}/vim/ftdetect/puppet.vim
244 %{_datadir}/vim/syntax/puppet.vim
This page took 0.135883 seconds and 3 git commands to generate.