]> git.pld-linux.org Git - packages/chef.git/blob - chef.spec
211739ee0f6b0bbc9139fc37430f42a157198e43
[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:        14.1.21
10 Release:        1
11 License:        Apache v2.0
12 Group:          Networking/Admin
13 Source0:        https://github.com/chef/chef/archive/v%{version}/%{name}-%{version}.tar.gz
14 # Source0-md5:  b67966a9b9e6c0a5947a604239267415
15 Source2:        %{name}.tmpfiles
16 Source3:        https://raw.github.com/stevendanna/knife-hacks/master/shell/knife_completion.sh
17 # Source3-md5:  a4c1e41370be8088a59ddb3b2e7ea397
18 Patch0:         platform-pld.patch
19 Patch1:         FHS.patch
20 Patch2:         poldek.patch
21 Patch3:         https://github.com/glensc/chef/compare/pld-knife-boostrap.patch
22 # Patch3-md5:   9bc4b39952e6bc326b16207cd6a59141
23 Patch4:         optional-plist.patch
24 URL:            https://www.chef.io/
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:2.4.0
42 Requires:       ruby-addressable >= 0
43 Requires:       ruby-diff-lcs >= 1.3
44 Requires:       ruby-erubis >= 2.7.0-3
45 Requires:       ruby-erubis < 3
46 Requires:       ruby-ffi < 1.9.23
47 Requires:       ruby-ffi-yajl >= 2.2
48 Requires:       ruby-highline >= 1.6.9
49 Requires:       ruby-highline < 2
50 Requires:       ruby-iniparse >= 1.4
51 Requires:       ruby-iniparse < 2
52 Requires:       ruby-iso8601 >= 0.9.1
53 Requires:       ruby-iso8601 < 0.10
54 Requires:       ruby-json >= 2.1.0
55 Requires:       ruby-mixlib-archive >= 0.4
56 Requires:       ruby-mixlib-archive < 1
57 Requires:       ruby-mixlib-authentication >= 2.0
58 Requires:       ruby-mixlib-cli >= 1.7
59 Requires:       ruby-mixlib-config >= 2.0
60 Requires:       ruby-mixlib-config < 3
61 Requires:       ruby-mixlib-log >= 2.0.3
62 Requires:       ruby-mixlib-shellout >= 2.0
63 Requires:       ruby-net-sftp >= 2.1.2
64 Requires:       ruby-net-sftp < 3
65 Requires:       ruby-net-ssh >= 4.2
66 Requires:       ruby-net-ssh-multi >= 1.2.1
67 Requires:       ruby-net-ssh-multi < 2
68 Requires:       ruby-ohai >= 13.0
69 Requires:       ruby-proxifier >= 1.0
70 Requires:       ruby-proxifier < 2
71 Requires:       ruby-rest-client >= 1.0.4
72 Requires:       ruby-rspec-core >= 3.5
73 Requires:       ruby-rspec-core < 4
74 Requires:       ruby-rspec-expectations >= 3.5
75 Requires:       ruby-rspec-expectations < 4
76 Requires:       ruby-rspec_junit_formatter >= 0.2.0
77 Requires:       ruby-rspec_junit_formatter < 0.3
78 Requires:       ruby-rspec-mocks >= 3.5
79 Requires:       ruby-rspec-mocks < 4
80 Requires:       ruby-rubygems
81 Requires:       ruby-serverspec >= 2.7
82 Requires:       ruby-serverspec < 3
83 Requires:       ruby-specinfra >= 2.10
84 Requires:       ruby-specinfra < 3
85 Requires:       ruby-syslog-logger >= 1.6
86 Requires:       ruby-syslog-logger < 2
87 Requires:       ruby-uuidtools >= 2.1.5
88 Requires:       ruby-uuidtools < 2.2
89 Requires:       ruby-yajl >= 1.1
90 Requires:       ruby-yajl < 2
91 Suggests:       chef-zero >= 13.0
92 Suggests:       ruby-plist >= 3.2
93 BuildArch:      noarch
94 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
95
96 # do not generate python dependency, yum support is optional
97 %define         _noautoreqfiles %{ruby_vendorlibdir}/chef/provider/package/yum-dump.py
98
99 %description
100 A systems integration framework, built to bring the benefits of
101 configuration management to your entire infrastructure.
102
103 %package -n bash-completion-knife
104 Summary:        bash-completion for knife
105 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla knifea
106 Group:          Applications/Shells
107 Requires:       %{name} >= 0.10
108 Requires:       bash-completion >= 2.0
109
110 %description -n bash-completion-knife
111 This package provides bash-completion for knife.
112
113 %description -n bash-completion-knife -l pl.UTF-8
114 Pakiet ten dostarcza bashowe uzupełnianie nazw dla knifea.
115
116 %package -n knife
117 Summary:        knife - Chef Server API client utility
118 Group:          Networking/Admin
119 Requires:       %{name} = %{version}-%{release}
120
121 %description -n knife
122 Knife is a command-line utility used to manage data on a Chef server
123 through the HTTP(S) API. Knife is organized into groups of subcommands
124 centered around the various object types in Chef. Each category of
125 subcommand is documented in its own manual page.
126
127 %prep
128 %setup -q
129 %patch0 -p1
130 %patch1 -p1
131 %patch2 -p1
132 %patch3 -p1
133 %patch4 -p1
134
135 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
136
137 # cleanup backups after patching
138 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
139
140 #grep --exclude-dir=spec --exclude-dir=distro -r /var/chef . && exit 1
141
142 %build
143 %if %{with tests}
144 rspec spec
145 %endif
146
147 %install
148 rm -rf $RPM_BUILD_ROOT
149 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_bindir},%{_mandir}/man1,%{systemdtmpfilesdir}} \
150         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/chef/reporting \
151         $RPM_BUILD_ROOT/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments,backup}}
152
153 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
154 cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
155
156 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
157
158 install -d $RPM_BUILD_ROOT%{bash_compdir}
159 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{bash_compdir}/knife
160
161 %clean
162 rm -rf $RPM_BUILD_ROOT
163
164 %files
165 %defattr(644,root,root,755)
166 %doc README.md CONTRIBUTING.md
167 %dir %{_sysconfdir}/%{name}
168 %attr(755,root,root) %{_bindir}/chef-apply
169 %attr(755,root,root) %{_bindir}/chef-client
170 %attr(755,root,root) %{_bindir}/chef-resource-inspector
171 %attr(755,root,root) %{_bindir}/chef-service-manager
172 %attr(755,root,root) %{_bindir}/chef-shell
173 %attr(755,root,root) %{_bindir}/chef-solo
174 %attr(755,root,root) %{_bindir}/chef-windows-service
175 %{ruby_vendorlibdir}/chef.rb
176 %{ruby_vendorlibdir}/chef
177 %exclude %{ruby_vendorlibdir}/chef/knife
178 %exclude %{ruby_vendorlibdir}/chef/application/knife.rb
179 %exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
180 %exclude %{ruby_vendorlibdir}/chef/knife.rb
181 %{systemdtmpfilesdir}/chef.conf
182
183 %dir /var/lib/%{name}
184 %dir /var/lib/%{name}/roles
185 %dir /var/lib/%{name}/data_bags
186 %dir /var/lib/%{name}/environments
187 %dir %attr(750,root,root) /var/lib/%{name}/backup
188
189 %dir /var/cache/%{name}
190 %dir /var/run/%{name}
191
192 %files -n knife
193 %defattr(644,root,root,755)
194 %attr(755,root,root) %{_bindir}/knife
195 %{ruby_vendorlibdir}/chef/knife.rb
196 %{ruby_vendorlibdir}/chef/knife
197 %{ruby_vendorlibdir}/chef/application/knife.rb
198 %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
199
200 %files -n bash-completion-knife
201 %defattr(644,root,root,755)
202 %{bash_compdir}/knife
This page took 0.030264 seconds and 2 git commands to generate.