File fluentd.spec of Package fluentd
#
# spec file for package fluentd
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: fluentd
Version: 1.0.0
Release: 0
%define mod_name fluentd
%define mod_full_name %{mod_name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: ruby-macros >= 5
BuildRequires: %{ruby >= 1.9.3}
BuildRequires: %{rubygem gem2rpm}
BuildRequires: update-alternatives
Url: http://fluentd.org/
Source: https://rubygems.org/gems/%{mod_full_name}.gem
Source1: fluentd-wrapper
Source2: fluentd.service
Summary: Event collector
License: Apache-2.0
Group: Development/Languages/Ruby
PreReq: update-alternatives
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Requires: rubygem(cool.io) >= 1.2.2
Requires: rubygem(cool.io) < 2.0.0
Requires: rubygem(http_parser.rb) >= 0.5.1
Requires: rubygem(http_parser.rb) < 0.7.0
Requires: rubygem(json) >= 1.4.3
Requires: rubygem(msgpack) >= 0.5.11
Requires: rubygem(msgpack) < 2.0.0
Requires: rubygem(sigdump) >= 0.2.2
Requires: rubygem(sigdump) < 0.3
Requires: rubygem(string-scrub) >= 0.0.3
Requires: rubygem(string-scrub) <= 0.0.5
Requires: rubygem(thread_safe)
Requires: rubygem(tzinfo) >= 1.0.0
Requires: rubygem(tzinfo-data) >= 1.0.0
Requires: rubygem(yajl-ruby) >= 1.0
Requires: rubygem(yajl-ruby) < 2
Conflicts: rubygem(fluentd)
%description
Fluentd is an open source data collector designed to scale and simplify log
management. It can collect, process and ship many kinds of data in near
real-time.
%prep
%build
%install
%gem_install \
--symlink-binaries \
--doc-files="COPYING CHANGELOG.md README.md AUTHORS" \
-f
%define gem_instdir %{gem_base}/gems/%{mod_full_name}
mkdir -p %{buildroot}%{_sbindir}
cp %{S:1} %{buildroot}%{_sbindir}/fluentd
sed -i "s|GEM_INSTDIR|%{gem_instdir}|" %{buildroot}%{_sbindir}/fluentd
mkdir -p %{buildroot}%{_unitdir}
cp %{S:2} %{buildroot}%{_unitdir}
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcfluentd
rm -f %{buildroot}%{gem_instdir}/{.gitignore,.travis.yml}
rm -rf %{buildroot}%{gem_instdir}/test/
mkdir %{buildroot}%{gem_instdir}/test
find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
mkdir -p %{buildroot}%{_sysconfdir}/fluentd
mv %{buildroot}%{gem_instdir}/fluent.conf %{buildroot}%{_sysconfdir}/fluentd
%files
%defattr(-, root, root, -)
%dir %{gem_instdir}
%attr(755, root, root) %{gem_instdir}/bin/fluent-cat
%attr(755, root, root) %{gem_instdir}/bin/fluent-debug
%attr(755, root, root) %{gem_instdir}/bin/fluent-gem
%attr(755, root, root) %{gem_instdir}/bin/fluentd
%attr(755, root, root) %{_sbindir}/fluentd
%attr(644, root, root) %{_unitdir}/fluentd.service
%{gem_instdir}
%{_sbindir}/fluentd
%{_sbindir}/rcfluentd
%dir %{_sysconfdir}/fluentd
%config(noreplace) %{_sysconfdir}/fluentd/fluent.conf
%license %{gem_instdir}/COPYING
%pre
%service_add_pre fluentd.service
exit 0
%post
%service_add_post fluentd.service
%preun
%service_del_preun fluentd.service
%postun
%service_del_postun fluentd.service
%gem_packages
%changelog