X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=chef.spec;h=86e92fae9bdd626570d94127d3f3dd3c8e5ec0dc;hb=bfe4b1fa8d579acfc72a3c656be705d4ccdf0dd6;hp=91952e337fb9a40092cf905b5b99b88b8fff8aeb;hpb=b41780540ebc93f1ef04f00c9914161714615fd1;p=packages%2Fchef.git diff --git a/chef.spec b/chef.spec index 91952e3..86e92fa 100644 --- a/chef.spec +++ b/chef.spec @@ -1,27 +1,28 @@ # NOTE: -# - check releases here: https://github.com/opscode/chef/releases +# - check releases here: https://downloads.chef.io/chef-client/debian/ +# the versions tagged in github are somewhat newer, perhaps dev-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.12.2 -Release: 3 +Version: 14.1.36 +Release: 0.1 License: Apache v2.0 Group: Networking/Admin -Source0: http://rubygems.org/downloads/%{name}-%{version}.gem -# Source0-md5: 40743d92b81c62abddd647912fcd31e3 -Source1: %{name}.rb +Source0: https://github.com/chef/chef/archive/v%{version}/%{name}-%{version}.tar.gz +# Source0-md5: 442169a1a824b3335376a88723e133a0 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: 8fd92d572b7ebce759e9034097bfc399 +Patch2: poldek.patch Patch3: https://github.com/glensc/chef/compare/pld-knife-boostrap.patch # Patch3-md5: 8ff0fdfde6dc90018698775bf8f13062 +Patch4: optional-plist.patch +Patch5: gemdeps.patch URL: https://wiki.opscode.com/display/chef/ BuildRequires: rpm-rubyprov BuildRequires: rpmbuild(macros) >= 1.673 @@ -40,38 +41,19 @@ BuildRequires: ruby-rspec_junit_formatter Requires: lsb-release Requires: poldek >= 0.30 Requires: ruby >= 1:1.9.3.429-4 -Requires: ruby-diff-lcs < 2 -Requires: ruby-diff-lcs >= 1.2.4 -Requires: ruby-erubis < 3 -Requires: ruby-erubis >= 2.7 -Requires: ruby-highline < 2 -Requires: ruby-highline >= 1.6.9 -Requires: ruby-json <= 1.8.1 -Requires: ruby-json >= 1.4.4 +Requires: ruby-chef-config = %{version}-%{release} +Requires: ruby-erubis >= 2.7.0-3 +Requires: ruby-json Requires: ruby-mime-types < 2 Requires: ruby-mime-types >= 1.16 -Requires: ruby-mixlib-authentication < 2 -Requires: ruby-mixlib-authentication >= 1.3 -Requires: ruby-mixlib-cli < 2 -Requires: ruby-mixlib-cli >= 1.4 +Requires: ruby-mixlib-authentication >= 1.3.0-2 Requires: ruby-mixlib-config < 3 Requires: ruby-mixlib-config >= 2.0 -Requires: ruby-mixlib-log < 2 -Requires: ruby-mixlib-log >= 1.3 -Requires: ruby-mixlib-shellout < 2 -Requires: ruby-mixlib-shellout >= 1.4 -Requires: ruby-net-ssh < 3 -Requires: ruby-net-ssh >= 2.6 -Requires: ruby-net-ssh-multi < 2 -Requires: ruby-net-ssh-multi >= 1.1 -Requires: ruby-ohai < 8 -Requires: ruby-ohai >= 6.0 -Requires: ruby-rest-client < 1.7.0 +Requires: ruby-mixlib-log >= 1.6.0-2 Requires: ruby-rest-client >= 1.0.4 Requires: ruby-rubygems -Requires: ruby-yajl < 2 -Requires: ruby-yajl >= 1.1 -Suggests: chef-zero >= 2.0 +Suggests: chef-zero >= 2.1.4 +Suggests: ruby-plist >= 3.1.0 BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -82,6 +64,13 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure. +%package -n ruby-chef-config +Summary: Chef's default configuration and config loading +Group: Development/Languages + +%description -n ruby-chef-config +Chef's default configuration and config loading. + %package -n bash-completion-knife Summary: bash-completion for knife Summary(pl.UTF-8): bashowe uzupełnianie nazw dla knifea @@ -108,36 +97,57 @@ subcommand is documented in its own manual page. %prep %setup -q -gzip -d metadata -%patch0 -p1 +#%patch0 -p1 # UPDATE %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/* +%ifos linux +# those do not match s.executables from .gemspec +rm bin/chef-service-manager +rm bin/chef-windows-service +%endif + +# don't package this, a maintainer's rake task +rm chef-config/lib/chef-config/package_task.rb + # 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 +grep --exclude-dir=spec --exclude-dir=distro --exclude=CHANGELOG.md -r /var/chef . && exit 1 %build +# make gemspec self-contained +%__gem_helper spec-dump %{name}.gemspec + %if %{with tests} rspec spec %endif +cd chef-config +# make gemspec self-contained +%__gem_helper spec-dump %{name}-config.gemspec + %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_bindir},%{_mandir}/man1,%{systemdtmpfilesdir}} \ +install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_bindir},%{systemdtmpfilesdir}} \ $RPM_BUILD_ROOT%{ruby_vendorlibdir}/chef/reporting \ - $RPM_BUILD_ROOT/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments,backup}} + $RPM_BUILD_ROOT%{ruby_specdir} \ + $RPM_BUILD_ROOT/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments,reports,backup}} +# chef cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir} cp -a bin/* $RPM_BUILD_ROOT%{_bindir} -cp -a distro/common/man/* $RPM_BUILD_ROOT%{_mandir} -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/README.md +cp -p chef-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir} + +# chef-config +cp -a chef-config/lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir} +cp -p chef-config/chef-config-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir} -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} @@ -150,18 +160,14 @@ 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-service-manager +%attr(755,root,root) %{_bindir}/chef-resource-inspector %attr(755,root,root) %{_bindir}/chef-shell %attr(755,root,root) %{_bindir}/chef-solo -%attr(755,root,root) %{_bindir}/shef -%{_mandir}/man1/chef-shell.1* -%{_mandir}/man8/chef-client.8* -%{_mandir}/man8/chef-solo.8* %{ruby_vendorlibdir}/chef.rb %{ruby_vendorlibdir}/chef +%{ruby_specdir}/chef-%{version}.gemspec %exclude %{ruby_vendorlibdir}/chef/knife %exclude %{ruby_vendorlibdir}/chef/application/knife.rb %exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb @@ -172,11 +178,18 @@ rm -rf $RPM_BUILD_ROOT %dir /var/lib/%{name}/roles %dir /var/lib/%{name}/data_bags %dir /var/lib/%{name}/environments +%dir /var/lib/%{name}/reports %dir %attr(750,root,root) /var/lib/%{name}/backup %dir /var/cache/%{name} %dir /var/run/%{name} +%files -n ruby-chef-config +%defattr(644,root,root,755) +%{ruby_vendorlibdir}/chef-config.rb +%{ruby_vendorlibdir}/chef-config +%{ruby_specdir}/chef-config-%{version}.gemspec + %files -n knife %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/knife @@ -184,34 +197,6 @@ rm -rf $RPM_BUILD_ROOT %{ruby_vendorlibdir}/chef/knife %{ruby_vendorlibdir}/chef/application/knife.rb %{ruby_vendorlibdir}/chef/chef_fs/knife.rb -%{_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-delete.1* -%{_mandir}/man1/knife-deps.1* -%{_mandir}/man1/knife-diff.1* -%{_mandir}/man1/knife-download.1* -%{_mandir}/man1/knife-edit.1* -%{_mandir}/man1/knife-environment.1* -%{_mandir}/man1/knife-exec.1* -%{_mandir}/man1/knife-index-rebuild.1* -%{_mandir}/man1/knife-list.1* -%{_mandir}/man1/knife-node.1* -%{_mandir}/man1/knife-raw.1* -%{_mandir}/man1/knife-recipe-list.1* -%{_mandir}/man1/knife-role.1* -%{_mandir}/man1/knife-search.1* -%{_mandir}/man1/knife-show.1* -%{_mandir}/man1/knife-ssh.1* -%{_mandir}/man1/knife-status.1* -%{_mandir}/man1/knife-tag.1* -%{_mandir}/man1/knife-upload.1* -%{_mandir}/man1/knife-user.1* -%{_mandir}/man1/knife-xargs.1* -%{_mandir}/man1/knife.1* %files -n bash-completion-knife %defattr(644,root,root,755)