]> git.pld-linux.org Git - packages/chef.git/blob - chef.spec
Fix --no-ri patch
[packages/chef.git] / chef.spec
1 # NOTE:
2 # - check releases here: https://downloads.chef.io/chef-client/debian/
3 #   the versions tagged in github are somewhat newer, perhaps dev-releases
4
5 # Conditional build:
6 %bcond_with     tests           # build without tests
7
8 Summary:        A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure
9 Name:           chef
10 Version:        14.1.36
11 Release:        5
12 License:        Apache v2.0
13 Group:          Networking/Admin
14 Source0:        https://github.com/chef/chef/archive/v%{version}/%{name}-%{version}.tar.gz
15 # Source0-md5:  442169a1a824b3335376a88723e133a0
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 Patch5:         gemdeps.patch
26 Patch6:         rubygems.patch
27 Patch7:         7994.patch
28 URL:            https://www.chef.io/
29 BuildRequires:  rpm-rubyprov
30 BuildRequires:  rpmbuild(macros) >= 1.673
31 BuildRequires:  sed >= 4.0
32 %if %{with tests}
33 BuildRequires:  ruby-rack
34 BuildRequires:  ruby-rake
35 BuildRequires:  ruby-rspec-core < 2.15
36 BuildRequires:  ruby-rspec-core >= 2.14.0
37 BuildRequires:  ruby-rspec-expectations < 2.15
38 BuildRequires:  ruby-rspec-expectations >= 2.14.0
39 BuildRequires:  ruby-rspec-mocks < 2.15
40 BuildRequires:  ruby-rspec-mocks >= 2.14.0
41 BuildRequires:  ruby-rspec_junit_formatter
42 %endif
43 Requires:       lsb-release
44 Requires:       poldek >= 0.30
45 Requires:       ruby >= 1:1.9.3.429-4
46 Requires:       ruby-chef-config = %{version}-%{release}
47 Requires:       ruby-erubis >= 2.7.0-3
48 Requires:       ruby-json
49 Requires:       ruby-mime-types < 2
50 Requires:       ruby-mime-types >= 1.16
51 Requires:       ruby-mixlib-config < 3
52 Requires:       ruby-mixlib-config >= 2.0
53 Requires:       ruby-rest-client >= 1.0.4
54 Requires:       ruby-rubygems
55 Suggests:       chef-zero >= 2.1.4
56 Suggests:       ruby-plist >= 3.1.0
57 BuildArch:      noarch
58 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60 # do not generate python dependency, yum support is optional
61 %define         _noautoreqfiles %{ruby_vendorlibdir}/chef/provider/package/yum-dump.py
62
63 %description
64 A systems integration framework, built to bring the benefits of
65 configuration management to your entire infrastructure.
66
67 %package -n ruby-chef-config
68 Summary:        Chef's default configuration and config loading
69 Group:          Development/Languages
70
71 %description -n ruby-chef-config
72 Chef's default configuration and config loading.
73
74 %package -n bash-completion-knife
75 Summary:        bash-completion for knife
76 Summary(pl.UTF-8):      bashowe uzupe┼énianie nazw dla knifea
77 Group:          Applications/Shells
78 Requires:       %{name} >= 0.10
79 Requires:       bash-completion >= 2.0
80
81 %description -n bash-completion-knife
82 This package provides bash-completion for knife.
83
84 %description -n bash-completion-knife -l pl.UTF-8
85 Pakiet ten dostarcza bashowe uzupe┼énianie nazw dla knifea.
86
87 %package -n knife
88 Summary:        knife - Chef Server API client utility
89 Group:          Networking/Admin
90 Requires:       %{name} = %{version}-%{release}
91
92 %description -n knife
93 Knife is a command-line utility used to manage data on a Chef server
94 through the HTTP(S) API. Knife is organized into groups of subcommands
95 centered around the various object types in Chef. Each category of
96 subcommand is documented in its own manual page.
97
98 %prep
99 %setup -q
100 %patch0 -p1
101 %patch1 -p1
102 %patch2 -p1
103 %patch3 -p1
104 %patch4 -p1
105 %patch5 -p1
106 %patch6 -p1
107 %patch7 -p1
108
109 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
110
111 %ifos linux
112 # those do not match s.executables from .gemspec
113 rm bin/chef-service-manager
114 rm bin/chef-windows-service
115 %endif
116
117 # don't package this, a maintainer's rake task
118 rm chef-config/lib/chef-config/package_task.rb
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 --exclude=CHANGELOG.md -r /var/chef . && exit 1
124
125 %build
126 # make gemspec self-contained
127 %__gem_helper spec-dump %{name}.gemspec
128
129 %if %{with tests}
130 rspec spec
131 %endif
132
133 cd chef-config
134 # make gemspec self-contained
135 %__gem_helper spec-dump %{name}-config.gemspec
136
137 %install
138 rm -rf $RPM_BUILD_ROOT
139 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_bindir},%{systemdtmpfilesdir}} \
140         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/chef/reporting \
141         $RPM_BUILD_ROOT%{ruby_specdir} \
142         $RPM_BUILD_ROOT/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments,reports,backup}}
143
144 # chef
145 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
146 cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
147 cp -p chef-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir}
148
149 # chef-config
150 cp -a chef-config/lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
151 cp -p chef-config/chef-config-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir}
152
153 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
154
155 install -d $RPM_BUILD_ROOT%{bash_compdir}
156 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{bash_compdir}/knife
157
158 %clean
159 rm -rf $RPM_BUILD_ROOT
160
161 %files
162 %defattr(644,root,root,755)
163 %doc README.md CONTRIBUTING.md
164 %dir %{_sysconfdir}/%{name}
165 %attr(755,root,root) %{_bindir}/chef-apply
166 %attr(755,root,root) %{_bindir}/chef-client
167 %attr(755,root,root) %{_bindir}/chef-resource-inspector
168 %attr(755,root,root) %{_bindir}/chef-shell
169 %attr(755,root,root) %{_bindir}/chef-solo
170 %{ruby_vendorlibdir}/chef.rb
171 %{ruby_vendorlibdir}/chef
172 %{ruby_specdir}/chef-%{version}.gemspec
173 %exclude %{ruby_vendorlibdir}/chef/knife
174 %exclude %{ruby_vendorlibdir}/chef/application/knife.rb
175 %exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
176 %exclude %{ruby_vendorlibdir}/chef/knife.rb
177 %{systemdtmpfilesdir}/chef.conf
178
179 %dir /var/lib/%{name}
180 %dir /var/lib/%{name}/roles
181 %dir /var/lib/%{name}/data_bags
182 %dir /var/lib/%{name}/environments
183 %dir /var/lib/%{name}/reports
184 %dir %attr(750,root,root) /var/lib/%{name}/backup
185
186 %dir /var/cache/%{name}
187 %dir /var/run/%{name}
188
189 %files -n ruby-chef-config
190 %defattr(644,root,root,755)
191 %{ruby_vendorlibdir}/chef-config.rb
192 %{ruby_vendorlibdir}/chef-config
193 %{ruby_specdir}/chef-config-%{version}.gemspec
194
195 %files -n knife
196 %defattr(644,root,root,755)
197 %attr(755,root,root) %{_bindir}/knife
198 %{ruby_vendorlibdir}/chef/knife.rb
199 %{ruby_vendorlibdir}/chef/knife
200 %{ruby_vendorlibdir}/chef/application/knife.rb
201 %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
202
203 %files -n bash-completion-knife
204 %defattr(644,root,root,755)
205 %{bash_compdir}/knife
This page took 0.090919 seconds and 4 git commands to generate.