]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Release Notes: https://github.com/opscode/ohai/blob/master/CHANGELOG.md | |
3 | # | |
4 | # Conditional build: | |
5 | %bcond_with tests # build without tests | |
6 | ||
7 | %define pkgname ohai | |
8 | Summary: Profiles your system and emits JSON | |
9 | Name: ruby-%{pkgname} | |
10 | Version: 7.6.0 | |
11 | Release: 0.3 | |
12 | License: Apache v2.0 | |
13 | Group: Development/Languages | |
14 | Source0: https://github.com/opscode/ohai/archive/%{version}/%{pkgname}-%{version}.tar.gz | |
15 | # Source0-md5: b28339ec7f835a2ed4ec0f876178fb14 | |
16 | Patch1: platform-pld.patch | |
17 | Patch2: soft-net-dhcp.patch | |
18 | URL: http://docs.getchef.com/ohai.html | |
19 | BuildRequires: rpm-rubyprov | |
20 | BuildRequires: rpmbuild(macros) >= 1.665 | |
21 | BuildRequires: ruby-rake | |
22 | BuildRequires: sed >= 4.0 | |
23 | # rake gem uses installed ohai version not version we intend to build! | |
24 | BuildConflicts: ruby-ohai | |
25 | %if %{with tests} | |
26 | BuildRequires: ruby-ffi >= 1.9 | |
27 | BuildRequires: ruby-ffi-yajl >= 1.1 | |
28 | BuildRequires: ruby-ipaddress | |
29 | BuildRequires: ruby-mixlib-config | |
30 | BuildRequires: ruby-mixlib-log | |
31 | BuildRequires: ruby-mixlib-shellout >= 2.0.0 | |
32 | BuildRequires: ruby-rspec | |
33 | BuildRequires: ruby-systemu >= 2.6.4 | |
34 | %endif | |
35 | Requires: iproute2 | |
36 | Requires: lsb-release | |
37 | Requires: mount | |
38 | Requires: ruby-ffi >= 1.9 | |
39 | Requires: ruby-ffi-yajl >= 1.1 | |
40 | Requires: ruby-ipaddress | |
41 | Requires: ruby-mime-types >= 1.16 | |
42 | Requires: ruby-mixlib-cli | |
43 | Requires: ruby-mixlib-config >= 2.0 | |
44 | Requires: ruby-mixlib-log | |
45 | Requires: ruby-mixlib-shellout >= 2.0.0 | |
46 | Requires: ruby-systemu >= 2.6.4 | |
47 | Suggests: ruby-net-dhcp | |
48 | BuildArch: noarch | |
49 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
50 | ||
51 | %description | |
52 | Ohai detects data about your operating system and prints out a JSON | |
53 | data blob. It can be used standalone, but it's primary purpose is to | |
54 | provide node data to Chef. | |
55 | ||
56 | %package doc | |
57 | Summary: Documentation for %{name} | |
58 | Group: Documentation | |
59 | Requires: %{name} = %{version}-%{release} | |
60 | ||
61 | %description doc | |
62 | This package contains documentation for %{name}. | |
63 | ||
64 | %prep | |
65 | %setup -q -n ohai-%{version} | |
66 | %patch1 -p1 | |
67 | %patch2 -p1 | |
68 | %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/* | |
69 | ||
70 | # no plist and not darwin so don't care | |
71 | rm spec/unit/plugins/darwin/system_profiler_spec.rb | |
72 | ||
73 | # can't figure how to fix -r rubygems does not help | |
74 | # ohai-6.16.0/spec/unit/plugins/ruby_spec.rb:52:in `block in <top (required)>': uninitialized cons tant Gem (NameError) | |
75 | rm spec/unit/plugins/ruby_spec.rb | |
76 | ||
77 | %build | |
78 | rake -Ilib gem | |
79 | %{__tar} -xmf pkg/ohai-%{version}*.gem | |
80 | %__gem_helper spec | |
81 | ||
82 | %if %{with tests} | |
83 | # Occasionally fails with "undefined method `rfc2822' for nil:NilClass" during | |
84 | # mock. Unsure why - disable for now. | |
85 | #sed -i 's^Time.should_receive(:now)^^' spec/ohai/plugins/ohai_time_spec.rb | |
86 | LC_ALL=en_US.utf8 \ | |
87 | rake -r rubygems spec | |
88 | %endif | |
89 | ||
90 | %install | |
91 | rm -rf $RPM_BUILD_ROOT | |
92 | install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{ruby_specdir},%{_bindir},%{_mandir}/man1} | |
93 | cp -a bin/* $RPM_BUILD_ROOT%{_bindir} | |
94 | cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir} | |
95 | cp -p docs/man/man1/ohai.1 $RPM_BUILD_ROOT%{_mandir}/man1 | |
96 | cp -p %{pkgname}-%{version}*.gemspec $RPM_BUILD_ROOT%{ruby_specdir} | |
97 | ||
98 | %clean | |
99 | rm -rf $RPM_BUILD_ROOT | |
100 | ||
101 | %files | |
102 | %defattr(644,root,root,755) | |
103 | %doc README.md CHANGELOG.md RELEASE_NOTES.md OHAI_MVPS.md NOTICE | |
104 | %attr(755,root,root) %{_bindir}/ohai | |
105 | %{_mandir}/man1/ohai.1* | |
106 | %{ruby_vendorlibdir}/%{pkgname}.rb | |
107 | %{ruby_vendorlibdir}/%{pkgname} | |
108 | %{ruby_specdir}/%{pkgname}-%{version}*.gemspec |