]> git.pld-linux.org Git - packages/chef.git/blob - chef.spec
unpack metadata to be able to compare deps
[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.10.4
10 Release:        1
11 License:        Apache v2.0
12 Group:          Development/Languages
13 Source0:        http://rubygems.org/downloads/%{name}-%{version}.gem
14 # Source0-md5:  f16466d7d04ce715ab26512d1debf4e0
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:         https://github.com/glensc/chef/compare/poldek.patch
22 # Patch2-md5:   8fd92d572b7ebce759e9034097bfc399
23 Patch3:         https://github.com/glensc/chef/compare/pld-knife-boostrap.patch
24 # Patch3-md5:   bfc884469fad7b5aa46341402be5fccd
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
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
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.3
61 Requires:       ruby-mixlib-shellout < 2
62 Requires:       ruby-mixlib-shellout >= 1.3
63 Requires:       ruby-net-ssh < 3
64 Requires:       ruby-net-ssh >= 2.6
65 Requires:       ruby-net-ssh-multi < 2
66 Requires:       ruby-net-ssh-multi >= 1.1
67 Requires:       ruby-ohai < 7
68 Requires:       ruby-ohai >= 6.0
69 Requires:       ruby-rest-client < 1.7.0
70 Requires:       ruby-rest-client >= 1.0.4
71 Requires:       ruby-rubygems
72 Requires:       ruby-yajl < 2
73 Requires:       ruby-yajl >= 1.1
74 Suggests:       chef-zero >= 1.7
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:          Development/Languages
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
117 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
118
119 # cleanup backups after patching
120 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
121
122 grep --exclude-dir=spec --exclude-dir=distro -r /var/chef . && exit 1
123
124 %build
125 %if %{with tests}
126 rspec spec
127 %endif
128
129 %install
130 rm -rf $RPM_BUILD_ROOT
131 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_bindir},%{_mandir}/man1,%{systemdtmpfilesdir}} \
132         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/chef/reporting \
133         $RPM_BUILD_ROOT/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments,backup}}
134
135 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
136 cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
137 cp -a distro/common/man/* $RPM_BUILD_ROOT%{_mandir}
138 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/README.md
139
140 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/chef.rb
141 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
142
143 install -d $RPM_BUILD_ROOT%{bash_compdir}
144 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{bash_compdir}/knife
145
146 %clean
147 rm -rf $RPM_BUILD_ROOT
148
149 %files
150 %defattr(644,root,root,755)
151 %doc README.md CONTRIBUTING.md
152 %dir %{_sysconfdir}/%{name}
153 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/chef.rb
154 %attr(755,root,root) %{_bindir}/chef-apply
155 %attr(755,root,root) %{_bindir}/chef-client
156 %attr(755,root,root) %{_bindir}/chef-service-manager
157 %attr(755,root,root) %{_bindir}/chef-shell
158 %attr(755,root,root) %{_bindir}/chef-solo
159 %attr(755,root,root) %{_bindir}/shef
160 %{_mandir}/man1/chef-shell.1*
161 %{_mandir}/man8/chef-client.8*
162 %{_mandir}/man8/chef-solo.8*
163 %{ruby_vendorlibdir}/chef.rb
164 %{ruby_vendorlibdir}/chef
165 %exclude %{ruby_vendorlibdir}/chef/knife
166 %exclude %{ruby_vendorlibdir}/chef/application/knife.rb
167 %exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
168 %exclude %{ruby_vendorlibdir}/chef/knife.rb
169 %{systemdtmpfilesdir}/chef.conf
170
171 %dir /var/lib/%{name}
172 %dir /var/lib/%{name}/roles
173 %dir /var/lib/%{name}/data_bags
174 %dir /var/lib/%{name}/environments
175 %dir %attr(750,root,root) /var/lib/%{name}/backup
176
177 %dir /var/cache/%{name}
178 %dir /var/run/%{name}
179
180 %files -n knife
181 %defattr(644,root,root,755)
182 %attr(755,root,root) %{_bindir}/knife
183 %{ruby_vendorlibdir}/chef/knife.rb
184 %{ruby_vendorlibdir}/chef/knife
185 %{ruby_vendorlibdir}/chef/application/knife.rb
186 %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
187 %{_mandir}/man1/knife-bootstrap.1*
188 %{_mandir}/man1/knife-client.1*
189 %{_mandir}/man1/knife-configure.1*
190 %{_mandir}/man1/knife-cookbook-site.1*
191 %{_mandir}/man1/knife-cookbook.1*
192 %{_mandir}/man1/knife-data-bag.1*
193 %{_mandir}/man1/knife-delete.1*
194 %{_mandir}/man1/knife-deps.1*
195 %{_mandir}/man1/knife-diff.1*
196 %{_mandir}/man1/knife-download.1*
197 %{_mandir}/man1/knife-edit.1*
198 %{_mandir}/man1/knife-environment.1*
199 %{_mandir}/man1/knife-exec.1*
200 %{_mandir}/man1/knife-index-rebuild.1*
201 %{_mandir}/man1/knife-list.1*
202 %{_mandir}/man1/knife-node.1*
203 %{_mandir}/man1/knife-raw.1*
204 %{_mandir}/man1/knife-recipe-list.1*
205 %{_mandir}/man1/knife-role.1*
206 %{_mandir}/man1/knife-search.1*
207 %{_mandir}/man1/knife-show.1*
208 %{_mandir}/man1/knife-ssh.1*
209 %{_mandir}/man1/knife-status.1*
210 %{_mandir}/man1/knife-tag.1*
211 %{_mandir}/man1/knife-upload.1*
212 %{_mandir}/man1/knife-user.1*
213 %{_mandir}/man1/knife-xargs.1*
214 %{_mandir}/man1/knife.1*
215
216 %files -n bash-completion-knife
217 %defattr(644,root,root,755)
218 %{bash_compdir}/knife
This page took 0.075277 seconds and 3 git commands to generate.