File gem2rpm.yml of Package rubygem-mcollective
:source: '%{mod_full_name}.gem'
:sources:
- '%{mod_name}.gemspec'
:main:
:preamble: |-
Provides: %{mod_name} = %{version}-%{release}
Obsoletes: %{mod_name} < %{version}-%{release}
Requires: %{name}
Recommends: rubygem(%{rb_default_ruby_abi}:%{mod_name})
:preamble: |-
%{?!_initddir:%define _initddir %_initrddir}
BuildRequires: bash-completion
BuildRequires: zsh
%if 0%{?suse_version} >= 1210
BuildRequires: systemd
%{?systemd_requires}
%define has_systemd 1
%endif
PreReq: rubygem(%{mod_name})
#!BuildIgnore: rubygem(%{mod_name})
:post_install: |-
gemdir="%{buildroot}$(gem env gemdir)/gems/%{mod_full_name}"
mkdir -p %{buildroot}%{_libexecdir}/%{mod_name}
mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_sysconfdir}/%{mod_name}
mkdir -p %{buildroot}%{_localstatedir}/log/%{mod_name}
%if 0%{?has_systemd}
mkdir -p %{buildroot}%{_unitdir}
install -m0644 $gemdir/ext/redhat/%{mod_name}.service %{buildroot}/%{_unitdir}/%{mod_name}.service
sed -i -e 's/sbin/bin/' %{buildroot}/%{_unitdir}/%{mod_name}.service
ln -sf service %{buildroot}/%{_sbindir}/rc%{mod_name}
%else
mkdir -p %{buildroot}%{_initddir}
install -m0755 $gemdir/ext/aio/suse/%{mod_name}.init %{buildroot}/%{_initddir}/%{mod_name}
ln -sf %{_initddir}/%{mod_name} %{buildroot}/%{_sbindir}/rc%{mod_name}
%endif
install -m0644 $gemdir/etc/server.cfg.dist %{buildroot}/%{_sysconfdir}/%{mod_name}/server.cfg
install -m0644 $gemdir/etc/client.cfg.dist %{buildroot}/%{_sysconfdir}/%{mod_name}/client.cfg
sed -i -e 's/libexec/lib/g' -e 's#log/%{mod_name}#log/%{mod_name}/%{mod_name}#g' \
%{buildroot}/%{_sysconfdir}/%{mod_name}/*.cfg
install -m0644 $gemdir/etc/*.erb %{buildroot}/%{_sysconfdir}/%{mod_name}
install -Dm0644 $gemdir/ext/bash/mco_completion.sh %{buildroot}/%{_datadir}/bash-completion/completions/mco_completion.sh
install -Dm0644 $gemdir/ext/zsh/_mco %{buildroot}/%{_datadir}/zsh/site-functions/_mco
# Remove those dirs as they cause strange runtime dependencies
for gem in $(/usr/bin/ruby-find-versioned gem) ; do
gemdir="%{buildroot}$($gem env gemdir)/gems/%{mod_full_name}"
rm -rf $gemdir/ext/{debian,solaris} $gemdir/website
done
:filelist: |-
%dir %{_sysconfdir}/%{mod_name}
%dir %{_libexecdir}/%{mod_name}
%dir %{_localstatedir}/log/%{mod_name}
:custom_pkgs:
:client:
:preamble: |-
Summary: MCollective client
Group: Productivity/Networking/System
PreReq: rubygem(%{mod_name}) = %{version}-%{release}
BuildArch: noarch
:filelist: |-
%config(noreplace) %{_sysconfdir}/%{mod_name}/client.cfg
%{_sysconfdir}/%{mod_name}/*.erb
:server:
:preamble: |-
Summary: MCollective server
Group: Productivity/Networking/System
PreReq: rubygem(%{mod_name}) = %{version}-%{release}
%if 0%{?suse_version} > 1210
%{?systemd_requires}
%endif
:scripts:
:pre: |-
%if 0%{?has_systemd}
%service_add_pre %{mod_name}.service
%endif
:preun: |-
%if 0%{?has_systemd}
%service_del_preun %{mod_name}.service
%endif
%if 0%{?suse_version} == 1110
%stop_on_removal %{name}
%endif
:postun: |-
%if 0%{?has_systemd}
%service_del_postun %{mod_name}.service
%endif
%if 0%{?suse_version} == 1110
%insserv_cleanup
%endif
:post: |-
%if 0%{?has_systemd}
%service_add_post %{mod_name}.service
%endif
:filelist: |-
%{_sbindir}/rc%{mod_name}
%config(noreplace) %{_sysconfdir}/%{mod_name}/server.cfg
%if 0%{?has_systemd}
%{_unitdir}/%{mod_name}.service
%else
%{_initddir}/%{mod_name}
%endif
:bash-completion:
:preamble: |-
Summary: Bash completion for MCollective
Group: Productivity/Networking/System
PreReq: rubygem(%{mod_name})
Requires: bash-completion
BuildArch: noarch
:description: |-
Bash command line completion support for MCollective
:filelist: |-
%{_datadir}/bash-completion/completions/mco_completion.sh
:zsh-completion:
:preamble: |-
Summary: Zsh completion for MCollective
Group: Productivity/Networking/System
PreReq: rubygem(%{mod_name})
Requires: zsh
BuildArch: noarch
:description: |-
Zsh command line completion support for MCollective
:filelist: |-
%{_datadir}/zsh/site-functions/_mco