X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=chef.spec;h=dde10260a48eab38073f36dbe643c323b3f899ab;hb=c28035019d4c02de9c5d229c9b147217cfd5910e;hp=d7617c423b5e7527b6fcb8f9605e072c030c2241;hpb=fd17fe501a8b90e7931edb0c1fc4336929145580;p=packages%2Fchef.git diff --git a/chef.spec b/chef.spec index d7617c4..dde1026 100644 --- a/chef.spec +++ b/chef.spec @@ -1,72 +1,143 @@ -# +# NOTE: +# - check releases here: https://github.com/opscode/chef/releases + # Conditional build: %bcond_with tests # build without tests Summary: A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure Name: chef -Version: 11.4.4 -Release: 4 +Version: 14.1.21 +Release: 2 License: Apache v2.0 -Group: Development/Languages -Source0: http://rubygems.org/downloads/%{name}-%{version}.gem -# Source0-md5: dc50aa6a4a7d4785a4c82fcaab3f9436 -Source1: %{name}.rb +Group: Networking/Admin +Source0: https://github.com/chef/chef/archive/v%{version}/%{name}-%{version}.tar.gz +# Source0-md5: b67966a9b9e6c0a5947a604239267415 +Source2: %{name}.tmpfiles +Source3: https://raw.github.com/stevendanna/knife-hacks/master/shell/knife_completion.sh +# Source3-md5: a4c1e41370be8088a59ddb3b2e7ea397 Patch0: platform-pld.patch Patch1: FHS.patch -Patch2: https://github.com/glensc/chef/compare/poldek.patch -# Patch2-md5: de55627051f1e0486d29814eb305c7f4 +Patch2: poldek.patch Patch3: https://github.com/glensc/chef/compare/pld-knife-boostrap.patch -# Patch3-md5: bfc884469fad7b5aa46341402be5fccd -URL: http://wiki.opscode.com/display/chef +# Patch3-md5: 9bc4b39952e6bc326b16207cd6a59141 +Patch4: optional-plist.patch +URL: https://www.chef.io/ BuildRequires: rpm-rubyprov -BuildRequires: rpmbuild(macros) >= 1.656 +BuildRequires: rpmbuild(macros) >= 1.673 BuildRequires: sed >= 4.0 %if %{with tests} -BuildRequires: ruby-abstract -BuildRequires: ruby-mixlib-authentication >= 1.3.0 -BuildRequires: ruby-net-ssh-multi >= 1.1.0 BuildRequires: ruby-rack BuildRequires: ruby-rake -#BuildRequires: ruby-rdoc -BuildRequires: ruby-rest-client >= 1.0.4 -BuildRequires: ruby-rspec-core >= 2.12.0 -BuildRequires: ruby-rspec-expectations >= 2.12.0 -BuildRequires: ruby-rspec-mocks >= 2.12.0 -#BuildRequires: ruby-rspec_junit_formatter -#BuildRequires: ruby-sdoc +BuildRequires: ruby-rspec-core < 2.15 +BuildRequires: ruby-rspec-core >= 2.14.0 +BuildRequires: ruby-rspec-expectations < 2.15 +BuildRequires: ruby-rspec-expectations >= 2.14.0 +BuildRequires: ruby-rspec-mocks < 2.15 +BuildRequires: ruby-rspec-mocks >= 2.14.0 +BuildRequires: ruby-rspec_junit_formatter %endif Requires: lsb-release Requires: poldek >= 0.30 -Requires: ruby-erubis +Requires: ruby >= 1:2.4.0 +Requires: ruby-addressable >= 0 +Requires: ruby-diff-lcs >= 1.3 +Requires: ruby-erubis >= 2.7.0-3 +Requires: ruby-erubis < 3 +Requires: ruby-ffi < 1.9.23 +Requires: ruby-ffi-yajl >= 2.2 Requires: ruby-highline >= 1.6.9 -Requires: ruby-json >= 1.4.4 -Requires: ruby-mixlib-authentication >= 1.3.0 -Requires: ruby-mixlib-cli >= 1.3.0 -Requires: ruby-mixlib-config >= 1.1.2 -Requires: ruby-mixlib-log >= 1.3.0 -Requires: ruby-mixlib-shellout -Requires: ruby-net-ssh >= 2.6 -Requires: ruby-net-ssh-multi >= 1.1.0 -Requires: ruby-ohai >= 0.6.0 +Requires: ruby-highline < 2 +Requires: ruby-iniparse >= 1.4 +Requires: ruby-iniparse < 2 +Requires: ruby-iso8601 >= 0.9.1 +Requires: ruby-iso8601 < 0.10 +Requires: ruby-json >= 2.1.0 +Requires: ruby-mixlib-archive >= 0.4 +Requires: ruby-mixlib-archive < 1 +Requires: ruby-mixlib-authentication >= 2.0 +Requires: ruby-mixlib-cli >= 1.7 +Requires: ruby-mixlib-config >= 2.0 +Requires: ruby-mixlib-config < 3 +Requires: ruby-mixlib-log >= 2.0.3 +Requires: ruby-mixlib-shellout >= 2.0 +Requires: ruby-net-sftp >= 2.1.2 +Requires: ruby-net-sftp < 3 +Requires: ruby-net-ssh >= 4.2 +Requires: ruby-net-ssh-multi >= 1.2.1 +Requires: ruby-net-ssh-multi < 2 +Requires: ruby-ohai >= 13.0 +Requires: ruby-proxifier >= 1.0 +Requires: ruby-proxifier < 2 Requires: ruby-rest-client >= 1.0.4 +Requires: ruby-rspec-core >= 3.5 +Requires: ruby-rspec-core < 4 +Requires: ruby-rspec-expectations >= 3.5 +Requires: ruby-rspec-expectations < 4 +Requires: ruby-rspec_junit_formatter >= 0.2.0 +Requires: ruby-rspec-mocks >= 3.5 +Requires: ruby-rspec-mocks < 4 Requires: ruby-rubygems +Requires: ruby-serverspec >= 2.7 +Requires: ruby-serverspec < 3 +Requires: ruby-specinfra >= 2.10 +Requires: ruby-specinfra < 3 +Requires: ruby-syslog-logger >= 1.6 +Requires: ruby-syslog-logger < 2 +Requires: ruby-uuidtools >= 2.1.5 +Requires: ruby-uuidtools < 2.2 Requires: ruby-yajl >= 1.1 +Requires: ruby-yajl < 2 +Suggests: chef-zero >= 13.0 +Suggests: ruby-plist >= 3.2 BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +# do not generate python dependency, yum support is optional +%define _noautoreqfiles %{ruby_vendorlibdir}/chef/provider/package/yum-dump.py + %description A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure. +%package -n bash-completion-knife +Summary: bash-completion for knife +Summary(pl.UTF-8): bashowe uzupełnianie nazw dla knifea +Group: Applications/Shells +Requires: %{name} >= 0.10 +Requires: bash-completion >= 2.0 + +%description -n bash-completion-knife +This package provides bash-completion for knife. + +%description -n bash-completion-knife -l pl.UTF-8 +Pakiet ten dostarcza bashowe uzupełnianie nazw dla knifea. + +%package -n knife +Summary: knife - Chef Server API client utility +Group: Networking/Admin +Requires: %{name} = %{version}-%{release} + +%description -n knife +Knife is a command-line utility used to manage data on a Chef server +through the HTTP(S) API. Knife is organized into groups of subcommands +centered around the various object types in Chef. Each category of +subcommand is documented in its own manual page. + %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/* +# cleanup backups after patching +find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f + +#grep --exclude-dir=spec --exclude-dir=distro -r /var/chef . && exit 1 + %build %if %{with tests} rspec spec @@ -74,13 +145,17 @@ rspec spec %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{_bindir},%{_mandir}/man1} \ - $RPM_BUILD_ROOT{%{_sysconfdir},/var/{cache,lib}}/%{name} +install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_bindir},%{_mandir}/man1,%{systemdtmpfilesdir}} \ + $RPM_BUILD_ROOT%{ruby_vendorlibdir}/chef/reporting \ + $RPM_BUILD_ROOT/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments,backup}} + cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir} cp -a bin/* $RPM_BUILD_ROOT%{_bindir} -cp -a distro/common/man/* $RPM_BUILD_ROOT%{_mandir} -cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/chef.rb +cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf + +install -d $RPM_BUILD_ROOT%{bash_compdir} +cp -p %{SOURCE3} $RPM_BUILD_ROOT%{bash_compdir}/knife %clean rm -rf $RPM_BUILD_ROOT @@ -89,39 +164,38 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %doc README.md CONTRIBUTING.md %dir %{_sysconfdir}/%{name} -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/chef.rb %attr(755,root,root) %{_bindir}/chef-apply %attr(755,root,root) %{_bindir}/chef-client +%attr(755,root,root) %{_bindir}/chef-resource-inspector +%attr(755,root,root) %{_bindir}/chef-service-manager %attr(755,root,root) %{_bindir}/chef-shell %attr(755,root,root) %{_bindir}/chef-solo -%attr(755,root,root) %{_bindir}/knife -%attr(755,root,root) %{_bindir}/shef -%{_mandir}/man1/chef-shell.1* -%{_mandir}/man1/knife-bootstrap.1* -%{_mandir}/man1/knife-client.1* -%{_mandir}/man1/knife-configure.1* -%{_mandir}/man1/knife-cookbook-site.1* -%{_mandir}/man1/knife-cookbook.1* -%{_mandir}/man1/knife-data-bag.1* -%{_mandir}/man1/knife-environment.1* -%{_mandir}/man1/knife-exec.1* -%{_mandir}/man1/knife-index.1* -%{_mandir}/man1/knife-node.1* -%{_mandir}/man1/knife-role.1* -%{_mandir}/man1/knife-search.1* -%{_mandir}/man1/knife-ssh.1* -%{_mandir}/man1/knife-status.1* -%{_mandir}/man1/knife-tag.1* -%{_mandir}/man1/knife.1* -%{_mandir}/man8/chef-client.8* -%{_mandir}/man8/chef-expander.8* -%{_mandir}/man8/chef-expanderctl.8* -%{_mandir}/man8/chef-server-webui.8* -%{_mandir}/man8/chef-server.8* -%{_mandir}/man8/chef-solo.8* -%{_mandir}/man8/chef-solr.8* +%attr(755,root,root) %{_bindir}/chef-windows-service %{ruby_vendorlibdir}/chef.rb %{ruby_vendorlibdir}/chef +%exclude %{ruby_vendorlibdir}/chef/knife +%exclude %{ruby_vendorlibdir}/chef/application/knife.rb +%exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb +%exclude %{ruby_vendorlibdir}/chef/knife.rb +%{systemdtmpfilesdir}/chef.conf %dir /var/lib/%{name} +%dir /var/lib/%{name}/roles +%dir /var/lib/%{name}/data_bags +%dir /var/lib/%{name}/environments +%dir %attr(750,root,root) /var/lib/%{name}/backup + %dir /var/cache/%{name} +%dir /var/run/%{name} + +%files -n knife +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/knife +%{ruby_vendorlibdir}/chef/knife.rb +%{ruby_vendorlibdir}/chef/knife +%{ruby_vendorlibdir}/chef/application/knife.rb +%{ruby_vendorlibdir}/chef/chef_fs/knife.rb + +%files -n bash-completion-knife +%defattr(644,root,root,755) +%{bash_compdir}/knife