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