]> git.pld-linux.org Git - packages/puppet.git/blame - puppet.spec
up to 3.7.5
[packages/puppet.git] / puppet.spec
CommitLineData
bb855c6f
BZ
1# TODO
2# for man - rst2man.py needed (docutils snap?)
add5fc4a 3Summary: A network tool for managing many disparate systems
bb855c6f 4Name: puppet
afa94f15
ER
5Version: 3.7.5
6Release: 1
7e8408a7 7License: Apache v2.0
bb855c6f 8Group: Networking/Admin
72169967 9Source0: http://rubygems.org/downloads/%{name}-%{version}.gem
afa94f15 10# Source0-md5: c30fdf893061e9c0e02a026dbc382f19
a1a906d9 11Patch0: install-p.patch
9af5b5eb 12Patch1: ruby19.patch
add5fc4a 13URL: http://www.puppetlabs.com/
bb855c6f 14BuildRequires: docutils
5c13fcb2 15BuildRequires: hiera
7e8408a7
ER
16BuildRequires: rpm-rubyprov
17BuildRequires: rpmbuild(macros) >= 1.656
18BuildRequires: ruby-facter >= 1.6
19BuildRequires: sed >= 4.0
20BuildRequires: which
21BuildConflicts: ruby-ftools
2bc6800e
ER
22Provides: group(puppet)
23Provides: user(puppet)
24Requires(postun): /usr/sbin/groupdel
25Requires(postun): /usr/sbin/userdel
26Requires(pre): /bin/id
27Requires(pre): /usr/bin/getgid
28Requires(pre): /usr/sbin/groupadd
29Requires(pre): /usr/sbin/useradd
3b53d896 30Requires: hiera < 3
1a387339 31Requires: hiera >= 1.0
3b53d896
ER
32Requires: ruby-facter < 4
33Requires: ruby-facter >= 2.0
7e8408a7 34BuildArch: noarch
bb855c6f
BZ
35BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
fdb59856
ER
37%define schemadir /usr/share/openldap/schema
38
bb855c6f 39%description
add5fc4a
ER
40Puppet lets you centrally manage every important aspect of your system
41using a cross-platform specification language that manages all the
42separate elements normally aggregated in different files, like users,
43cron jobs, and hosts, along with obviously discrete elements like
44packages, services, and files.
bb855c6f 45
3badc16c
ER
46%package server
47Summary: Server for the puppet system management tool
48Group: Base
49Requires: %{name} = %{version}-%{release}
12d9a65f 50Requires(post,preun): /sbin/chkconfig
3badc16c
ER
51Requires: rc-scripts
52
53%description server
54Provides the central puppet server daemon which provides manifests to
55clients. The server can also function as a certificate authority and
56file server.
bb855c6f 57
fdb59856
ER
58%package -n openldap-schema-%{name}
59Summary: Puppet LDAP schema
60Summary(pl.UTF-8): Schemat LDAP dla Puppet
61Group: Networking/Daemons
62Requires(post,postun): sed >= 4.0
63Requires: openldap-schema-rfc2739
64Requires: openldap-servers
65Requires: sed >= 4.0
66
67%description -n openldap-schema-%{name}
68This package contains puppet.schema for openldap.
69
70%description -n openldap-schema-%{name} -l pl.UTF-8
71Ten pakiet zawiera puppet.schema dla pakietu openldap.
72
73%package -n vim-syntax-%{name}
5c16f30d
ER
74Summary: Vim syntax for puppet .pp files
75Group: Applications/Editors/Vim
76Requires: vim-rt >= 4:7.2.170
77
fdb59856 78%description -n vim-syntax-%{name}
5c16f30d
ER
79Vim 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
93rm -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 100install -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
105cp -p %{name}-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir}
106
dfa863f6
ER
107cp -p ext/redhat/client.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/puppet
108cp -p ext/redhat/client.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppet
109cp -p ext/redhat/server.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/puppetmaster
110cp -p ext/redhat/server.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppetmaster
111cp -p ext/redhat/queue.init $RPM_BUILD_ROOT/etc/rc.d/init.d/puppetqueue
112
113cp -p ext/redhat/fileserver.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/fileserver.conf
114cp -p ext/redhat/puppet.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/puppet.conf
115cp -p ext/redhat/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/puppet
116
117# Install the ext/ directory to %{_datadir}/%{name}
118install -d $RPM_BUILD_ROOT%{_datadir}/%{name}
119cp -a ext $RPM_BUILD_ROOT%{_datadir}/%{name}
17807372 120
fdb59856
ER
121install -d $RPM_BUILD_ROOT%{schemadir}
122cp -p ext/ldap/puppet.schema $RPM_BUILD_ROOT%{schemadir}
123
5c16f30d
ER
124# Install vim syntax files
125install -d $RPM_BUILD_ROOT%{_datadir}/vim/{ftdetect,syntax}
dfa863f6
ER
126mv $RPM_BUILD_ROOT{%{_datadir}/%{name}/ext/vim/ftdetect/puppet.vim,%{_datadir}/vim/ftdetect}
127mv $RPM_BUILD_ROOT{%{_datadir}/%{name}/ext/vim/syntax/puppet.vim,%{_datadir}/vim/syntax}
5c16f30d 128
9afa5e9f
ER
129install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
130cp -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
141chmod 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/regexp_nodes/regexp_nodes.rb
142chmod 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/ext/puppet-load.rb
143
228f2952
ER
144install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir}
145echo "D /var/run/%{name} 0755 %{name} %{name} -" > \
146 $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
147
bb855c6f
BZ
148%clean
149rm -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
156if [ "$1" = "0" ]; then
157 %userremove puppet
158 %groupremove puppet
159fi
160
12d9a65f
ER
161%post
162/sbin/chkconfig --add puppet
163%service puppet restart
164
165%preun
166if [ "$1" = "0" ]; then
167 %service -q puppet stop
168 /sbin/chkconfig --del puppet
169fi
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
178if [ "$1" = "0" ]; then
179 /sbin/chkconfig --del puppetmaster
180 /sbin/chkconfig --del puppetqueue
181 %service -q puppetmaster stop
182 %service -q puppetqueue stop
183fi
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}
190if [ "$1" = "0" ]; then
191 %openldap_schema_unregister %{schemadir}/%{name}.schema
192 %service -q ldap restart
193fi
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
This page took 0.098062 seconds and 4 git commands to generate.