]> git.pld-linux.org Git - packages/chef.git/blob - chef.spec
up to 14.1.36
[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:        0.1
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 URL:            https://wiki.opscode.com/display/chef/
27 BuildRequires:  rpm-rubyprov
28 BuildRequires:  rpmbuild(macros) >= 1.673
29 BuildRequires:  sed >= 4.0
30 %if %{with tests}
31 BuildRequires:  ruby-rack
32 BuildRequires:  ruby-rake
33 BuildRequires:  ruby-rspec-core < 2.15
34 BuildRequires:  ruby-rspec-core >= 2.14.0
35 BuildRequires:  ruby-rspec-expectations < 2.15
36 BuildRequires:  ruby-rspec-expectations >= 2.14.0
37 BuildRequires:  ruby-rspec-mocks < 2.15
38 BuildRequires:  ruby-rspec-mocks >= 2.14.0
39 BuildRequires:  ruby-rspec_junit_formatter
40 %endif
41 Requires:       lsb-release
42 Requires:       poldek >= 0.30
43 Requires:       ruby >= 1:1.9.3.429-4
44 Requires:       ruby-chef-config = %{version}-%{release}
45 Requires:       ruby-erubis >= 2.7.0-3
46 Requires:       ruby-json
47 Requires:       ruby-mime-types < 2
48 Requires:       ruby-mime-types >= 1.16
49 Requires:       ruby-mixlib-authentication >= 1.3.0-2
50 Requires:       ruby-mixlib-config < 3
51 Requires:       ruby-mixlib-config >= 2.0
52 Requires:       ruby-mixlib-log >= 1.6.0-2
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 # UPDATE
101 %patch1 -p1
102 %patch2 -p1
103 %patch3 -p1
104 %patch4 -p1
105 %patch5 -p1
106
107 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
108
109 %ifos linux
110 # those do not match s.executables from .gemspec
111 rm bin/chef-service-manager
112 rm bin/chef-windows-service
113 %endif
114
115 # don't package this, a maintainer's rake task
116 rm chef-config/lib/chef-config/package_task.rb
117
118 # cleanup backups after patching
119 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
120
121 grep --exclude-dir=spec --exclude-dir=distro --exclude=CHANGELOG.md -r /var/chef . && exit 1
122
123 %build
124 # make gemspec self-contained
125 %__gem_helper spec-dump %{name}.gemspec
126
127 %if %{with tests}
128 rspec spec
129 %endif
130
131 cd chef-config
132 # make gemspec self-contained
133 %__gem_helper spec-dump %{name}-config.gemspec
134
135 %install
136 rm -rf $RPM_BUILD_ROOT
137 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_bindir},%{systemdtmpfilesdir}} \
138         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/chef/reporting \
139         $RPM_BUILD_ROOT%{ruby_specdir} \
140         $RPM_BUILD_ROOT/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments,reports,backup}}
141
142 # chef
143 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
144 cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
145 cp -p chef-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir}
146
147 # chef-config
148 cp -a chef-config/lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
149 cp -p chef-config/chef-config-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir}
150
151 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
152
153 install -d $RPM_BUILD_ROOT%{bash_compdir}
154 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{bash_compdir}/knife
155
156 %clean
157 rm -rf $RPM_BUILD_ROOT
158
159 %files
160 %defattr(644,root,root,755)
161 %doc README.md CONTRIBUTING.md
162 %dir %{_sysconfdir}/%{name}
163 %attr(755,root,root) %{_bindir}/chef-apply
164 %attr(755,root,root) %{_bindir}/chef-client
165 %attr(755,root,root) %{_bindir}/chef-resource-inspector
166 %attr(755,root,root) %{_bindir}/chef-shell
167 %attr(755,root,root) %{_bindir}/chef-solo
168 %{ruby_vendorlibdir}/chef.rb
169 %{ruby_vendorlibdir}/chef
170 %{ruby_specdir}/chef-%{version}.gemspec
171 %exclude %{ruby_vendorlibdir}/chef/knife
172 %exclude %{ruby_vendorlibdir}/chef/application/knife.rb
173 %exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
174 %exclude %{ruby_vendorlibdir}/chef/knife.rb
175 %{systemdtmpfilesdir}/chef.conf
176
177 %dir /var/lib/%{name}
178 %dir /var/lib/%{name}/roles
179 %dir /var/lib/%{name}/data_bags
180 %dir /var/lib/%{name}/environments
181 %dir /var/lib/%{name}/reports
182 %dir %attr(750,root,root) /var/lib/%{name}/backup
183
184 %dir /var/cache/%{name}
185 %dir /var/run/%{name}
186
187 %files -n ruby-chef-config
188 %defattr(644,root,root,755)
189 %{ruby_vendorlibdir}/chef-config.rb
190 %{ruby_vendorlibdir}/chef-config
191 %{ruby_specdir}/chef-config-%{version}.gemspec
192
193 %files -n knife
194 %defattr(644,root,root,755)
195 %attr(755,root,root) %{_bindir}/knife
196 %{ruby_vendorlibdir}/chef/knife.rb
197 %{ruby_vendorlibdir}/chef/knife
198 %{ruby_vendorlibdir}/chef/application/knife.rb
199 %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
200
201 %files -n bash-completion-knife
202 %defattr(644,root,root,755)
203 %{bash_compdir}/knife
This page took 0.087162 seconds and 3 git commands to generate.