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-chef-zero < 2
28 BuildRequires: ruby-chef-zero >= 1.4
29 BuildRequires: ruby-mixlib-authentication >= 1.3.0
30 BuildRequires: ruby-net-ssh-multi >= 1.1.0
31 BuildRequires: ruby-puma < 2
32 BuildRequires: ruby-puma >= 1.6
33 BuildRequires: ruby-rack
34 BuildRequires: ruby-rake
35 #BuildRequires: ruby-rdoc
36 BuildRequires: ruby-rest-client >= 1.0.4
37 BuildRequires: ruby-rspec-core >= 2.12.0
38 BuildRequires: ruby-rspec-expectations >= 2.12.0
39 BuildRequires: ruby-rspec-mocks >= 2.12.0
40 #BuildRequires: ruby-rspec_junit_formatter
41 #BuildRequires: ruby-sdoc
45 Requires: poldek >= 0.30
46 Requires: ruby >= 1:1.9.3.429-4
48 Requires: ruby-highline >= 1.6.9
49 Requires: ruby-json >= 1.4.4
50 Requires: ruby-mixlib-authentication >= 1.3.0
51 Requires: ruby-mixlib-cli >= 1.3.0
52 Requires: ruby-mixlib-config >= 1.1.2
53 Requires: ruby-mixlib-log >= 1.3.0
54 Requires: ruby-mixlib-shellout
55 Requires: ruby-net-ssh >= 2.6
56 Requires: ruby-net-ssh-multi >= 1.1.0
57 Requires: ruby-ohai >= 0.6.0
58 Requires: ruby-rest-client >= 1.0.4
59 Requires: ruby-rubygems
60 Requires: ruby-yajl >= 1.1
62 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 # do not generate python dependency, yum support is optional
65 %define _noautoreqfiles %{ruby_vendorlibdir}/chef/provider/package/yum-dump.py
68 A systems integration framework, built to bring the benefits of
69 configuration management to your entire infrastructure.
72 Summary: knife - Chef Server API client utility
73 Group: Development/Languages
74 Requires: %{name} = %{version}-%{release}
77 Knife is a command-line utility used to manage data on a Chef server
78 through the HTTP(S) API. Knife is organized into groups of subcommands
79 centered around the various object types in Chef. Each category of
80 subcommand is documented in its own manual page.
89 grep --exclude-dir=spec --exclude-dir=distro -r /var/chef . && exit 1
91 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
99 rm -rf $RPM_BUILD_ROOT
100 install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{_bindir},%{_mandir}/man1,%{systemdtmpfilesdir}} \
101 $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments}}}
103 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
104 cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
105 cp -a distro/common/man/* $RPM_BUILD_ROOT%{_mandir}
106 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/README.md
108 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/chef.rb
109 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
112 rm -rf $RPM_BUILD_ROOT
115 %defattr(644,root,root,755)
116 %doc README.md CONTRIBUTING.md
117 %dir %{_sysconfdir}/%{name}
118 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/chef.rb
119 %attr(755,root,root) %{_bindir}/chef-apply
120 %attr(755,root,root) %{_bindir}/chef-client
121 %attr(755,root,root) %{_bindir}/chef-service-manager
122 %attr(755,root,root) %{_bindir}/chef-shell
123 %attr(755,root,root) %{_bindir}/chef-solo
124 %attr(755,root,root) %{_bindir}/shef
125 %{_mandir}/man1/chef-shell.1*
126 %{_mandir}/man8/chef-client.8*
127 %{_mandir}/man8/chef-solo.8*
128 %{ruby_vendorlibdir}/chef.rb
129 %{ruby_vendorlibdir}/chef
130 %exclude %{ruby_vendorlibdir}/chef/knife
131 %exclude %{ruby_vendorlibdir}/chef/application/knife.rb
132 %exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
133 %exclude %{ruby_vendorlibdir}/chef/knife.rb
134 %{systemdtmpfilesdir}/chef.conf
136 %dir /var/lib/%{name}
137 %dir /var/lib/%{name}/roles
138 %dir /var/lib/%{name}/data_bags
139 %dir /var/lib/%{name}/environments
141 %dir /var/cache/%{name}
142 %dir /var/run/%{name}
145 %defattr(644,root,root,755)
146 %attr(755,root,root) %{_bindir}/knife
147 %{ruby_vendorlibdir}/chef/knife.rb
148 %{ruby_vendorlibdir}/chef/knife
149 %{ruby_vendorlibdir}/chef/application/knife.rb
150 %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
151 %{_mandir}/man1/knife-bootstrap.1*
152 %{_mandir}/man1/knife-client.1*
153 %{_mandir}/man1/knife-configure.1*
154 %{_mandir}/man1/knife-cookbook-site.1*
155 %{_mandir}/man1/knife-cookbook.1*
156 %{_mandir}/man1/knife-data-bag.1*
157 %{_mandir}/man1/knife-delete.1*
158 %{_mandir}/man1/knife-deps.1*
159 %{_mandir}/man1/knife-diff.1*
160 %{_mandir}/man1/knife-download.1*
161 %{_mandir}/man1/knife-edit.1*
162 %{_mandir}/man1/knife-environment.1*
163 %{_mandir}/man1/knife-exec.1*
164 %{_mandir}/man1/knife-index-rebuild.1*
165 %{_mandir}/man1/knife-list.1*
166 %{_mandir}/man1/knife-node.1*
167 %{_mandir}/man1/knife-raw.1*
168 %{_mandir}/man1/knife-recipe-list.1*
169 %{_mandir}/man1/knife-role.1*
170 %{_mandir}/man1/knife-search.1*
171 %{_mandir}/man1/knife-show.1*
172 %{_mandir}/man1/knife-ssh.1*
173 %{_mandir}/man1/knife-status.1*
174 %{_mandir}/man1/knife-tag.1*
175 %{_mandir}/man1/knife-upload.1*
176 %{_mandir}/man1/knife-user.1*
177 %{_mandir}/man1/knife-xargs.1*
178 %{_mandir}/man1/knife.1*