]> git.pld-linux.org Git - packages/chef.git/blob - chef.spec
split knife to separate package
[packages/chef.git] / chef.spec
1 #
2 # Conditional build:
3 %bcond_with     tests           # build without tests
4
5 Summary:        A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure
6 Name:           chef
7 Version:        11.8.2
8 Release:        0.8
9 License:        Apache v2.0
10 Group:          Development/Languages
11 Source0:        http://rubygems.org/downloads/%{name}-%{version}.gem
12 # Source0-md5:  7d3c2e8b98ec8df050d92686f1429d8f
13 Source1:        %{name}.rb
14 Source2:        %{name}.tmpfiles
15 Patch0:         platform-pld.patch
16 Patch1:         FHS.patch
17 Patch2:         https://github.com/glensc/chef/compare/poldek.patch
18 # Patch2-md5:   5a0fc35de33910b41cba4e87dcb4bf9a
19 Patch3:         https://github.com/glensc/chef/compare/pld-knife-boostrap.patch
20 # Patch3-md5:   bfc884469fad7b5aa46341402be5fccd
21 URL:            http://wiki.opscode.com/display/chef
22 BuildRequires:  rpm-rubyprov
23 BuildRequires:  rpmbuild(macros) >= 1.656
24 BuildRequires:  sed >= 4.0
25 %if %{with tests}
26 BuildRequires:  ruby-abstract
27 BuildRequires:  ruby-chef-zero < 2
28 BuildRequires:  ruby-chef-zero >= 1.4
29 BuildRequires:  ruby-mixlib-authentication >= 1.3.0
30 BuildRequires:  ruby-net-ssh-multi >= 1.1.0
31 BuildRequires:  ruby-puma < 2
32 BuildRequires:  ruby-puma >= 1.6
33 BuildRequires:  ruby-rack
34 BuildRequires:  ruby-rake
35 #BuildRequires: ruby-rdoc
36 BuildRequires:  ruby-rest-client >= 1.0.4
37 BuildRequires:  ruby-rspec-core >= 2.12.0
38 BuildRequires:  ruby-rspec-expectations >= 2.12.0
39 BuildRequires:  ruby-rspec-mocks >= 2.12.0
40 #BuildRequires: ruby-rspec_junit_formatter
41 #BuildRequires: ruby-sdoc
42 %endif
43 #Requires:      diffutils
44 Requires:       lsb-release
45 Requires:       poldek >= 0.30
46 Requires:       ruby >= 1:1.9.3.429-4
47 Requires:       ruby-erubis
48 Requires:       ruby-highline >= 1.6.9
49 Requires:       ruby-json >= 1.4.4
50 Requires:       ruby-mixlib-authentication >= 1.3.0
51 Requires:       ruby-mixlib-cli >= 1.3.0
52 Requires:       ruby-mixlib-config >= 1.1.2
53 Requires:       ruby-mixlib-log >= 1.3.0
54 Requires:       ruby-mixlib-shellout
55 Requires:       ruby-net-ssh >= 2.6
56 Requires:       ruby-net-ssh-multi >= 1.1.0
57 Requires:       ruby-ohai >= 0.6.0
58 Requires:       ruby-rest-client >= 1.0.4
59 Requires:       ruby-rubygems
60 Requires:       ruby-yajl >= 1.1
61 BuildArch:      noarch
62 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63
64 # do not generate python dependency, yum support is optional
65 %define         _noautoreqfiles %{ruby_vendorlibdir}/chef/provider/package/yum-dump.py
66
67 %description
68 A systems integration framework, built to bring the benefits of
69 configuration management to your entire infrastructure.
70
71 %package -n knife
72 Summary:        knife - Chef Server API client utility
73 Group:          Development/Languages
74 Requires:       %{name} = %{version}-%{release}
75
76 %description -n knife
77 Knife is a command-line utility used to manage data on a Chef server
78 through the HTTP(S) API. Knife is organized into groups of subcommands
79 centered around the various object types in Chef. Each category of
80 subcommand is documented in its own manual page.
81
82 %prep
83 %setup -q
84 %patch0 -p1
85 %patch1 -p1
86 %patch2 -p1
87 %patch3 -p1
88
89 grep --exclude-dir=spec --exclude-dir=distro -r /var/chef . && exit 1
90
91 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
92
93 %build
94 %if %{with tests}
95 rspec spec
96 %endif
97
98 %install
99 rm -rf $RPM_BUILD_ROOT
100 install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{_bindir},%{_mandir}/man1,%{systemdtmpfilesdir}} \
101         $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},/var/{run/%{name},cache/%{name},lib/%{name}/{roles,data_bags,environments}}}
102
103 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
104 cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
105 cp -a distro/common/man/* $RPM_BUILD_ROOT%{_mandir}
106 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/README.md
107
108 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/chef.rb
109 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
110
111 %clean
112 rm -rf $RPM_BUILD_ROOT
113
114 %files
115 %defattr(644,root,root,755)
116 %doc README.md CONTRIBUTING.md
117 %dir %{_sysconfdir}/%{name}
118 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/chef.rb
119 %attr(755,root,root) %{_bindir}/chef-apply
120 %attr(755,root,root) %{_bindir}/chef-client
121 %attr(755,root,root) %{_bindir}/chef-service-manager
122 %attr(755,root,root) %{_bindir}/chef-shell
123 %attr(755,root,root) %{_bindir}/chef-solo
124 %attr(755,root,root) %{_bindir}/shef
125 %{_mandir}/man1/chef-shell.1*
126 %{_mandir}/man8/chef-client.8*
127 %{_mandir}/man8/chef-solo.8*
128 %{ruby_vendorlibdir}/chef.rb
129 %{ruby_vendorlibdir}/chef
130 %exclude %{ruby_vendorlibdir}/chef/knife
131 %exclude %{ruby_vendorlibdir}/chef/application/knife.rb
132 %exclude %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
133 %exclude %{ruby_vendorlibdir}/chef/knife.rb
134 %{systemdtmpfilesdir}/chef.conf
135
136 %dir /var/lib/%{name}
137 %dir /var/lib/%{name}/roles
138 %dir /var/lib/%{name}/data_bags
139 %dir /var/lib/%{name}/environments
140
141 %dir /var/cache/%{name}
142 %dir /var/run/%{name}
143
144 %files -n knife
145 %defattr(644,root,root,755)
146 %attr(755,root,root) %{_bindir}/knife
147 %{ruby_vendorlibdir}/chef/knife.rb
148 %{ruby_vendorlibdir}/chef/knife
149 %{ruby_vendorlibdir}/chef/application/knife.rb
150 %{ruby_vendorlibdir}/chef/chef_fs/knife.rb
151 %{_mandir}/man1/knife-bootstrap.1*
152 %{_mandir}/man1/knife-client.1*
153 %{_mandir}/man1/knife-configure.1*
154 %{_mandir}/man1/knife-cookbook-site.1*
155 %{_mandir}/man1/knife-cookbook.1*
156 %{_mandir}/man1/knife-data-bag.1*
157 %{_mandir}/man1/knife-delete.1*
158 %{_mandir}/man1/knife-deps.1*
159 %{_mandir}/man1/knife-diff.1*
160 %{_mandir}/man1/knife-download.1*
161 %{_mandir}/man1/knife-edit.1*
162 %{_mandir}/man1/knife-environment.1*
163 %{_mandir}/man1/knife-exec.1*
164 %{_mandir}/man1/knife-index-rebuild.1*
165 %{_mandir}/man1/knife-list.1*
166 %{_mandir}/man1/knife-node.1*
167 %{_mandir}/man1/knife-raw.1*
168 %{_mandir}/man1/knife-recipe-list.1*
169 %{_mandir}/man1/knife-role.1*
170 %{_mandir}/man1/knife-search.1*
171 %{_mandir}/man1/knife-show.1*
172 %{_mandir}/man1/knife-ssh.1*
173 %{_mandir}/man1/knife-status.1*
174 %{_mandir}/man1/knife-tag.1*
175 %{_mandir}/man1/knife-upload.1*
176 %{_mandir}/man1/knife-user.1*
177 %{_mandir}/man1/knife-xargs.1*
178 %{_mandir}/man1/knife.1*
This page took 0.080194 seconds and 4 git commands to generate.