view Kibana.spec @ 27:76544ad0561d

switch kibana to ruby gem rather than jruby
author Carl Byington <>
date Mon, 06 May 2013 23:31:24 -0700
parents 610835fb4209
line wrap: on
line source

# prevent brp repack jar files
%define __os_install_post %{nil}

%global commit df8ae2344433e5072a8dfe77082acfd1c9b6ed62
%global shortcommit %(c=%{commit}; echo ${c:0:8})
%global name2    kibana
%global gem_dir  %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
%global gem_name kibana
%global gem_instdir %{gem_dir}/gems/%{gem_name}-%{version}

Name:           Kibana
Version:        0.2.0
Release:        1%{?dist}
Summary:        Kibana is a user friendly way to view, search and visualize your log data

Group:          System Environment/Daemons
License:        MIT
BuildArch:      noarch
Source1:        Kibana-external-config-patch
Source2:        Kibana-no-git-patch
Source10:       %{name}.rc
Source13:       %{name}.sysconfig
BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
Autoreq:        0

BuildRequires: ruby
BuildRequires: ruby-devel
BuildRequires: rubygems
Provides: rubygem(%{gem_name}) = %{version}

Requires: ruby
Requires: rubygems
Requires: rubygem(sinatra)
Requires: rubygem(json)
Requires: rubygem(fastercsv)
Requires: rubygem(daemons)
Requires: rubygem(tzinfo)
Requires: rubygem(thin)
Requires: elasticsearch logstash
Requires(pre):          /usr/sbin/useradd
Requires(pre):          /usr/bin/getent
Requires(postun):       /usr/sbin/userdel
Requires(post,preun):   /sbin/chkconfig
Requires(post,preun):   /sbin/service

Kibana is a highly scalable interface for Logstash and ElasticSearch
that allows you to efficiently search, graph, analyze and otherwise
make sense of a mountain of logs.

%setup -qn %{name}-%{commit}
patch <%SOURCE1
patch <%SOURCE2

mkdir -p ./%{gem_dir}
gem build %{gem_name}.gemspec
gem install --local --install-dir ./%{gem_dir} -V --force --no-rdoc --no-ri %{gem_name}-%{version}.gem

rm -rf                                  $RPM_BUILD_ROOT
mkdir -p                                $RPM_BUILD_ROOT/%{gem_dir}
mkdir -p                                $RPM_BUILD_ROOT/%{_prefix}
cp -pa ./%{gem_dir}/*                   $RPM_BUILD_ROOT/%{gem_dir}
mv -f $RPM_BUILD_ROOT/%{gem_dir}/bin    $RPM_BUILD_ROOT/%{_prefix}
install -d                              $RPM_BUILD_ROOT/var/log/%{name}
install -D -m 755 %SOURCE10             $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
install -D -m 640 %SOURCE13             $RPM_BUILD_ROOT/etc/sysconfig/%{name}
mv -f %{name}Config.rb                  $RPM_BUILD_ROOT/etc/sysconfig/%{name}Config.rb

/usr/bin/getent passwd %{name2} >/dev/null || /usr/sbin/useradd -r -m -c "%{name} pseudo-user" %{name2} >/dev/null

/sbin/chkconfig --add %{name}

[ $1 = 0 ] && /sbin/service %{name} stop    || :
[ $1 = 0 ] && /sbin/chkconfig --del %{name} || :

[ $1 = 0 ] && userdel %{name2} || :


%defattr(-, root, root, -)
%config(noreplace) %attr(0640,%{name2},root) /etc/sysconfig/%{name}
%config(noreplace) %attr(0640,%{name2},root) /etc/sysconfig/%{name}Config.rb
%dir %attr(0750,%{name2},root) /var/log/%{name}

* Mon May 06 2013  <> - 0.2.0-1
- switch to building standard ruby gem, avoid jruby

* Fri Apr 25 2013  <> - 0.2.0-0
- Initial build.