]> git.pld-linux.org Git - packages/chef.git/blob - chef.spec
- relax rspec-junit_formatter 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:        14.1.21
10 Release:        2
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-mocks >= 3.5
78 Requires:       ruby-rspec-mocks < 4
79 Requires:       ruby-rubygems
80 Requires:       ruby-serverspec >= 2.7
81 Requires:       ruby-serverspec < 3
82 Requires:       ruby-specinfra >= 2.10
83 Requires:       ruby-specinfra < 3
84 Requires:       ruby-syslog-logger >= 1.6
85 Requires:       ruby-syslog-logger < 2
86 Requires:       ruby-uuidtools >= 2.1.5
87 Requires:       ruby-uuidtools < 2.2
88 Requires:       ruby-yajl >= 1.1
89 Requires:       ruby-yajl < 2
90 Suggests:       chef-zero >= 13.0
91 Suggests:       ruby-plist >= 3.2
92 BuildArch:      noarch
93 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
94
95 # do not generate python dependency, yum support is optional
96 %define         _noautoreqfiles %{ruby_vendorlibdir}/chef/provider/package/yum-dump.py
97
98 %description
99 A systems integration framework, built to bring the benefits of
100 configuration management to your entire infrastructure.
101
102 %package -n bash-completion-knife
103 Summary:        bash-completion for knife
104 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla knifea
105 Group:          Applications/Shells
106 Requires:       %{name} >= 0.10
107 Requires:       bash-completion >= 2.0
108
109 %description -n bash-completion-knife
110 This package provides bash-completion for knife.
111
112 %description -n bash-completion-knife -l pl.UTF-8
113 Pakiet ten dostarcza bashowe uzupełnianie nazw dla knifea.
114
115 %package -n knife
116 Summary:        knife - Chef Server API client utility
117 Group:          Networking/Admin
118 Requires:       %{name} = %{version}-%{release}
119
120 %description -n knife
121 Knife is a command-line utility used to manage data on a Chef server
122 through the HTTP(S) API. Knife is organized into groups of subcommands
123 centered around the various object types in Chef. Each category of
124 subcommand is documented in its own manual page.
125
126 %prep
127 %setup -q
128 %patch0 -p1
129 %patch1 -p1
130 %patch2 -p1
131 %patch3 -p1
132 %patch4 -p1
133
134 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
135
136 # cleanup backups after patching
137 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
138
139 #grep --exclude-dir=spec --exclude-dir=distro -r /var/chef . && exit 1
140
141 %build
142 %if %{with tests}
143 rspec spec
144 %endif
145
146 %install
147 rm -rf $RPM_BUILD_ROOT
148 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_bindir},%{_mandir}/man1,%{systemdtmpfilesdir}} \
149         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/chef/reporting \
150         $RPM_BUILD_ROOT/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments,backup}}
151
152 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
153 cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
154
155 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
156
157 install -d $RPM_BUILD_ROOT%{bash_compdir}
158 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{bash_compdir}/knife
159
160 %clean
161 rm -rf $RPM_BUILD_ROOT
162
163 %files
164 %defattr(644,root,root,755)
165 %doc README.md CONTRIBUTING.md
166 %dir %{_sysconfdir}/%{name}
167 %attr(755,root,root) %{_bindir}/chef-apply
168 %attr(755,root,root) %{_bindir}/chef-client
169 %attr(755,root,root) %{_bindir}/chef-resource-inspector
170 %attr(755,root,root) %{_bindir}/chef-service-manager
171 %attr(755,root,root) %{_bindir}/chef-shell
172 %attr(755,root,root) %{_bindir}/chef-solo
173 %attr(755,root,root) %{_bindir}/chef-windows-service
174 %{ruby_vendorlibdir}/chef.rb
175 %{ruby_vendorlibdir}/chef
176 %exclude %{ruby_vendorlibdir}/chef/knife
177 %exclude %{ruby_vendorlibdir}/chef/application/knife.rb
178 %exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
179 %exclude %{ruby_vendorlibdir}/chef/knife.rb
180 %{systemdtmpfilesdir}/chef.conf
181
182 %dir /var/lib/%{name}
183 %dir /var/lib/%{name}/roles
184 %dir /var/lib/%{name}/data_bags
185 %dir /var/lib/%{name}/environments
186 %dir %attr(750,root,root) /var/lib/%{name}/backup
187
188 %dir /var/cache/%{name}
189 %dir /var/run/%{name}
190
191 %files -n knife
192 %defattr(644,root,root,755)
193 %attr(755,root,root) %{_bindir}/knife
194 %{ruby_vendorlibdir}/chef/knife.rb
195 %{ruby_vendorlibdir}/chef/knife
196 %{ruby_vendorlibdir}/chef/application/knife.rb
197 %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
198
199 %files -n bash-completion-knife
200 %defattr(644,root,root,755)
201 %{bash_compdir}/knife
This page took 0.520761 seconds and 3 git commands to generate.