3 %bcond_with tests # build without tests
5 Summary: A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure
10 Group: Development/Languages
11 Source0: http://rubygems.org/downloads/%{name}-%{version}.gem
12 # Source0-md5: 7d3c2e8b98ec8df050d92686f1429d8f
14 Source2: %{name}.tmpfiles
15 Patch0: platform-pld.patch
17 Patch2: https://github.com/glensc/chef/compare/poldek.patch
18 # Patch2-md5: 5a0fc35de33910b41cba4e87dcb4bf9a
19 Patch3: https://github.com/glensc/chef/compare/pld-knife-boostrap.patch
20 # Patch3-md5: bfc884469fad7b5aa46341402be5fccd
21 URL: http://wiki.opscode.com/display/chef
22 BuildRequires: rpm-rubyprov
23 BuildRequires: rpmbuild(macros) >= 1.656
24 BuildRequires: sed >= 4.0
26 BuildRequires: ruby-abstract
27 BuildRequires: ruby-mixlib-authentication >= 1.3.0
28 BuildRequires: ruby-net-ssh-multi >= 1.1.0
29 BuildRequires: ruby-rack
30 BuildRequires: ruby-rake
31 #BuildRequires: ruby-rdoc
32 BuildRequires: ruby-rest-client >= 1.0.4
33 BuildRequires: ruby-rspec-core < 2.14
34 BuildRequires: ruby-rspec-core >= 2.13.0
35 BuildRequires: ruby-rspec-expectations < 2.14
36 BuildRequires: ruby-rspec-expectations >= 2.13.0
37 BuildRequires: ruby-rspec-mocks < 2.14
38 BuildRequires: ruby-rspec-mocks >= 2.13.0
39 #BuildRequires: ruby-rspec_junit_formatter
40 #BuildRequires: ruby-sdoc
42 Requires: chef-zero < 2
43 Requires: chef-zero >= 1.6
44 Requires: chef-zero >= 1.6.2
46 Requires: poldek >= 0.30
47 Requires: ruby >= 1:1.9.3.429-4
48 Requires: ruby-diff-lcs < 2
49 Requires: ruby-diff-lcs >= 1.2
50 Requires: ruby-diff-lcs >= 1.2.4
52 Requires: ruby-highline >= 1.6.9
53 Requires: ruby-json >= 1.4.4
54 Requires: ruby-mime-types < 2
55 Requires: ruby-mime-types >= 1.16
56 Requires: ruby-mixlib-authentication >= 1.3.0
57 Requires: ruby-mixlib-cli >= 1.3.0
58 Requires: ruby-mixlib-config < 3
59 Requires: ruby-mixlib-config >= 2.0
60 Requires: ruby-mixlib-log >= 1.3.0
61 Requires: ruby-mixlib-shellout >= 1.2
62 Requires: ruby-net-ssh >= 2.6
63 Requires: ruby-net-ssh-multi >= 1.1.0
64 Requires: ruby-ohai < 7
65 Requires: ruby-ohai >= 6.0
66 Requires: ruby-pry < 1
67 Requires: ruby-pry >= 0.9
68 Requires: ruby-puma < 2
69 Requires: ruby-puma >= 1.6
70 Requires: ruby-rest-client >= 1.0.4
71 Requires: ruby-rubygems
72 Requires: ruby-yajl >= 1.1
74 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76 # do not generate python dependency, yum support is optional
77 %define _noautoreqfiles %{ruby_vendorlibdir}/chef/provider/package/yum-dump.py
80 A systems integration framework, built to bring the benefits of
81 configuration management to your entire infrastructure.
84 Summary: knife - Chef Server API client utility
85 Group: Development/Languages
86 Requires: %{name} = %{version}-%{release}
89 Knife is a command-line utility used to manage data on a Chef server
90 through the HTTP(S) API. Knife is organized into groups of subcommands
91 centered around the various object types in Chef. Each category of
92 subcommand is documented in its own manual page.
101 grep --exclude-dir=spec --exclude-dir=distro -r /var/chef . && exit 1
103 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
111 rm -rf $RPM_BUILD_ROOT
112 install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{_bindir},%{_mandir}/man1,%{systemdtmpfilesdir}} \
113 $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments}}}
115 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
116 cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
117 cp -a distro/common/man/* $RPM_BUILD_ROOT%{_mandir}
118 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/README.md
120 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/chef.rb
121 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
124 rm -rf $RPM_BUILD_ROOT
127 %defattr(644,root,root,755)
128 %doc README.md CONTRIBUTING.md
129 %dir %{_sysconfdir}/%{name}
130 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/chef.rb
131 %attr(755,root,root) %{_bindir}/chef-apply
132 %attr(755,root,root) %{_bindir}/chef-client
133 %attr(755,root,root) %{_bindir}/chef-service-manager
134 %attr(755,root,root) %{_bindir}/chef-shell
135 %attr(755,root,root) %{_bindir}/chef-solo
136 %attr(755,root,root) %{_bindir}/shef
137 %{_mandir}/man1/chef-shell.1*
138 %{_mandir}/man8/chef-client.8*
139 %{_mandir}/man8/chef-solo.8*
140 %{ruby_vendorlibdir}/chef.rb
141 %{ruby_vendorlibdir}/chef
142 %exclude %{ruby_vendorlibdir}/chef/knife
143 %exclude %{ruby_vendorlibdir}/chef/application/knife.rb
144 %exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
145 %exclude %{ruby_vendorlibdir}/chef/knife.rb
146 %{systemdtmpfilesdir}/chef.conf
148 %dir /var/lib/%{name}
149 %dir /var/lib/%{name}/roles
150 %dir /var/lib/%{name}/data_bags
151 %dir /var/lib/%{name}/environments
153 %dir /var/cache/%{name}
154 %dir /var/run/%{name}
157 %defattr(644,root,root,755)
158 %attr(755,root,root) %{_bindir}/knife
159 %{ruby_vendorlibdir}/chef/knife.rb
160 %{ruby_vendorlibdir}/chef/knife
161 %{ruby_vendorlibdir}/chef/application/knife.rb
162 %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
163 %{_mandir}/man1/knife-bootstrap.1*
164 %{_mandir}/man1/knife-client.1*
165 %{_mandir}/man1/knife-configure.1*
166 %{_mandir}/man1/knife-cookbook-site.1*
167 %{_mandir}/man1/knife-cookbook.1*
168 %{_mandir}/man1/knife-data-bag.1*
169 %{_mandir}/man1/knife-delete.1*
170 %{_mandir}/man1/knife-deps.1*
171 %{_mandir}/man1/knife-diff.1*
172 %{_mandir}/man1/knife-download.1*
173 %{_mandir}/man1/knife-edit.1*
174 %{_mandir}/man1/knife-environment.1*
175 %{_mandir}/man1/knife-exec.1*
176 %{_mandir}/man1/knife-index-rebuild.1*
177 %{_mandir}/man1/knife-list.1*
178 %{_mandir}/man1/knife-node.1*
179 %{_mandir}/man1/knife-raw.1*
180 %{_mandir}/man1/knife-recipe-list.1*
181 %{_mandir}/man1/knife-role.1*
182 %{_mandir}/man1/knife-search.1*
183 %{_mandir}/man1/knife-show.1*
184 %{_mandir}/man1/knife-ssh.1*
185 %{_mandir}/man1/knife-status.1*
186 %{_mandir}/man1/knife-tag.1*
187 %{_mandir}/man1/knife-upload.1*
188 %{_mandir}/man1/knife-user.1*
189 %{_mandir}/man1/knife-xargs.1*
190 %{_mandir}/man1/knife.1*