]> git.pld-linux.org Git - packages/chef.git/blob - chef.spec
up to 11.14.6, allow shellout 2.0
[packages/chef.git] / chef.spec
1 # NOTE:
2 # - check releases here: https://github.com/opscode/chef/releases
3
4 # Conditional build:
5 %bcond_with     tests           # build without tests
6
7 Summary:        A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure
8 Name:           chef
9 Version:        11.14.6
10 Release:        1
11 License:        Apache v2.0
12 Group:          Networking/Admin
13 Source0:        http://rubygems.org/downloads/%{name}-%{version}.gem
14 # Source0-md5:  0a7dbf9c3b7b9e285de034031faf008f
15 Source1:        %{name}.rb
16 Source2:        %{name}.tmpfiles
17 Source3:        https://raw.github.com/stevendanna/knife-hacks/master/shell/knife_completion.sh
18 # Source3-md5:  a4c1e41370be8088a59ddb3b2e7ea397
19 Patch0:         platform-pld.patch
20 Patch1:         FHS.patch
21 Patch2:         poldek.patch
22 Patch3:         https://github.com/glensc/chef/compare/pld-knife-boostrap.patch
23 # Patch3-md5:   8ff0fdfde6dc90018698775bf8f13062
24 URL:            https://wiki.opscode.com/display/chef/
25 BuildRequires:  rpm-rubyprov
26 BuildRequires:  rpmbuild(macros) >= 1.673
27 BuildRequires:  sed >= 4.0
28 %if %{with tests}
29 BuildRequires:  ruby-rack
30 BuildRequires:  ruby-rake
31 BuildRequires:  ruby-rspec-core < 2.15
32 BuildRequires:  ruby-rspec-core >= 2.14.0
33 BuildRequires:  ruby-rspec-expectations < 2.15
34 BuildRequires:  ruby-rspec-expectations >= 2.14.0
35 BuildRequires:  ruby-rspec-mocks < 2.15
36 BuildRequires:  ruby-rspec-mocks >= 2.14.0
37 BuildRequires:  ruby-rspec_junit_formatter
38 %endif
39 Requires:       lsb-release
40 Requires:       poldek >= 0.30
41 Requires:       ruby >= 1:1.9.3.429-4
42 Requires:       ruby-diff-lcs < 2
43 Requires:       ruby-diff-lcs >= 1.2.4
44 Requires:       ruby-erubis < 3
45 Requires:       ruby-erubis >= 2.7.0-3
46 Requires:       ruby-highline < 2
47 Requires:       ruby-highline >= 1.6.9
48 Requires:       ruby-json <= 1.8.1
49 Requires:       ruby-json >= 1.4.4
50 Requires:       ruby-mime-types < 2
51 Requires:       ruby-mime-types >= 1.16
52 Requires:       ruby-mixlib-authentication < 2
53 Requires:       ruby-mixlib-authentication >= 1.3.0-2
54 Requires:       ruby-mixlib-cli < 2
55 Requires:       ruby-mixlib-cli >= 1.4
56 Requires:       ruby-mixlib-config < 3
57 Requires:       ruby-mixlib-config >= 2.0
58 Requires:       ruby-mixlib-log < 2
59 Requires:       ruby-mixlib-log >= 1.6.0-2
60 Requires:       ruby-mixlib-shellout >= 1.4
61 Requires:       ruby-net-ssh < 3
62 Requires:       ruby-net-ssh >= 2.6
63 Requires:       ruby-net-ssh-multi < 2
64 Requires:       ruby-net-ssh-multi >= 1.1
65 Requires:       ruby-ohai < 8
66 Requires:       ruby-ohai >= 6.0
67 Requires:       ruby-rest-client < 1.7.0
68 Requires:       ruby-rest-client >= 1.0.4
69 Requires:       ruby-rubygems
70 Requires:       ruby-yajl < 2
71 Requires:       ruby-yajl >= 1.1
72 Suggests:       chef-zero >= 2.0
73 BuildArch:      noarch
74 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75
76 # do not generate python dependency, yum support is optional
77 %define         _noautoreqfiles %{ruby_vendorlibdir}/chef/provider/package/yum-dump.py
78
79 %description
80 A systems integration framework, built to bring the benefits of
81 configuration management to your entire infrastructure.
82
83 %package -n bash-completion-knife
84 Summary:        bash-completion for knife
85 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla knifea
86 Group:          Applications/Shells
87 Requires:       %{name} >= 0.10
88 Requires:       bash-completion >= 2.0
89
90 %description -n bash-completion-knife
91 This package provides bash-completion for knife.
92
93 %description -n bash-completion-knife -l pl.UTF-8
94 Pakiet ten dostarcza bashowe uzupełnianie nazw dla knifea.
95
96 %package -n knife
97 Summary:        knife - Chef Server API client utility
98 Group:          Networking/Admin
99 Requires:       %{name} = %{version}-%{release}
100
101 %description -n knife
102 Knife is a command-line utility used to manage data on a Chef server
103 through the HTTP(S) API. Knife is organized into groups of subcommands
104 centered around the various object types in Chef. Each category of
105 subcommand is documented in its own manual page.
106
107 %prep
108 %setup -q
109 gzip -d metadata
110 %patch0 -p1
111 %patch1 -p1
112 %patch2 -p1
113 %patch3 -p1
114
115 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
116
117 # cleanup backups after patching
118 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
119
120 grep --exclude-dir=spec --exclude-dir=distro -r /var/chef . && exit 1
121
122 %build
123 %if %{with tests}
124 rspec spec
125 %endif
126
127 %install
128 rm -rf $RPM_BUILD_ROOT
129 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_bindir},%{_mandir}/man1,%{systemdtmpfilesdir}} \
130         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/chef/reporting \
131         $RPM_BUILD_ROOT/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments,backup}}
132
133 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
134 cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
135 cp -a distro/common/man/* $RPM_BUILD_ROOT%{_mandir}
136 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/README.md
137
138 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/chef.rb
139 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
140
141 install -d $RPM_BUILD_ROOT%{bash_compdir}
142 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{bash_compdir}/knife
143
144 %clean
145 rm -rf $RPM_BUILD_ROOT
146
147 %files
148 %defattr(644,root,root,755)
149 %doc README.md CONTRIBUTING.md
150 %dir %{_sysconfdir}/%{name}
151 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/chef.rb
152 %attr(755,root,root) %{_bindir}/chef-apply
153 %attr(755,root,root) %{_bindir}/chef-client
154 %attr(755,root,root) %{_bindir}/chef-service-manager
155 %attr(755,root,root) %{_bindir}/chef-shell
156 %attr(755,root,root) %{_bindir}/chef-solo
157 %attr(755,root,root) %{_bindir}/shef
158 %{_mandir}/man1/chef-shell.1*
159 %{_mandir}/man8/chef-client.8*
160 %{_mandir}/man8/chef-solo.8*
161 %{ruby_vendorlibdir}/chef.rb
162 %{ruby_vendorlibdir}/chef
163 %exclude %{ruby_vendorlibdir}/chef/knife
164 %exclude %{ruby_vendorlibdir}/chef/application/knife.rb
165 %exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
166 %exclude %{ruby_vendorlibdir}/chef/knife.rb
167 %{systemdtmpfilesdir}/chef.conf
168
169 %dir /var/lib/%{name}
170 %dir /var/lib/%{name}/roles
171 %dir /var/lib/%{name}/data_bags
172 %dir /var/lib/%{name}/environments
173 %dir %attr(750,root,root) /var/lib/%{name}/backup
174
175 %dir /var/cache/%{name}
176 %dir /var/run/%{name}
177
178 %files -n knife
179 %defattr(644,root,root,755)
180 %attr(755,root,root) %{_bindir}/knife
181 %{ruby_vendorlibdir}/chef/knife.rb
182 %{ruby_vendorlibdir}/chef/knife
183 %{ruby_vendorlibdir}/chef/application/knife.rb
184 %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
185 %{_mandir}/man1/knife-bootstrap.1*
186 %{_mandir}/man1/knife-client.1*
187 %{_mandir}/man1/knife-configure.1*
188 %{_mandir}/man1/knife-cookbook-site.1*
189 %{_mandir}/man1/knife-cookbook.1*
190 %{_mandir}/man1/knife-data-bag.1*
191 %{_mandir}/man1/knife-delete.1*
192 %{_mandir}/man1/knife-deps.1*
193 %{_mandir}/man1/knife-diff.1*
194 %{_mandir}/man1/knife-download.1*
195 %{_mandir}/man1/knife-edit.1*
196 %{_mandir}/man1/knife-environment.1*
197 %{_mandir}/man1/knife-exec.1*
198 %{_mandir}/man1/knife-index-rebuild.1*
199 %{_mandir}/man1/knife-list.1*
200 %{_mandir}/man1/knife-node.1*
201 %{_mandir}/man1/knife-raw.1*
202 %{_mandir}/man1/knife-recipe-list.1*
203 %{_mandir}/man1/knife-role.1*
204 %{_mandir}/man1/knife-search.1*
205 %{_mandir}/man1/knife-serve.1*
206 %{_mandir}/man1/knife-show.1*
207 %{_mandir}/man1/knife-ssh.1*
208 %{_mandir}/man1/knife-ssl-check.1*
209 %{_mandir}/man1/knife-ssl-fetch.1*
210 %{_mandir}/man1/knife-status.1*
211 %{_mandir}/man1/knife-tag.1*
212 %{_mandir}/man1/knife-upload.1*
213 %{_mandir}/man1/knife-user.1*
214 %{_mandir}/man1/knife-xargs.1*
215 %{_mandir}/man1/knife.1*
216
217 %files -n bash-completion-knife
218 %defattr(644,root,root,755)
219 %{bash_compdir}/knife
This page took 0.071486 seconds and 4 git commands to generate.