File check_postgres.spec of Package check_postgres

# spec file for package check_postgres
# Copyright (c) 2020 SUSE LLC
# 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

Name:           check_postgres
Version:        2.25.0
Release:        0
Summary:        Postgres monitoring script
License:        GPL-2.0-or-later
Group:          System/Monitoring
Source1:        nagios-commands-postgres.cfg
BuildRequires:  nagios-rpm-macros
BuildRequires:  perl-macros
BuildRequires:  perl(Cwd)
BuildRequires:  perl(DBD::Pg)
BuildRequires:  perl(DBI)
BuildRequires:  perl(Data::Dumper)
BuildRequires:  perl(Date::Parse)
BuildRequires:  perl(Digest::MD5)
BuildRequires:  perl(File::Basename)
BuildRequires:  perl(File::Temp)
BuildRequires:  perl(Getopt::Long)
BuildRequires:  perl(Pod::Man)
BuildRequires:  perl(Time::HiRes)
Requires:       perl = %{perl_version}
Requires:       postgresql
Requires:       perl(Cwd)
Requires:       perl(Data::Dumper)
Requires:       perl(File::Basename)
Requires:       perl(File::Temp)
Requires:       perl(Getopt::Long)
Requires:       perl(Time::HiRes)
Recommends:     coreutils
Recommends:     util-linux
Recommends:     perl(Date::Parse)
Recommends:     perl(Digest::MD5)
BuildArch:      noarch

%description is a Perl script that runs many different tests against one
or more Postgres databases. It uses the psql program to gather the information,
and outputs the results in one of three formats: Nagios, MRTG, or simple.

%package -n monitoring-plugins-postgres
Summary:        Postgres monitoring script using
# FIXME: use proper Requires(pre/post/preun/...)
Group:          System/Monitoring
PreReq:         %{name} = %{version}
Provides:       nagios-plugins-postgres = %{version}-%{release}
Obsoletes:      nagios-plugins-postgres < %{version}-%{release}

%description -n monitoring-plugins-postgres
This package contains the symlinks to execute special checks via the standard
monitoring plugins way.

%setup -q
install -m 0644 %{SOURCE1} nagios-commands-postgres.cfg
sed -i 's|#!/usr/bin/env perl|#!/usr/bin/perl|g'

perl Makefile.PL
make %{?_smp_mflags}

# install the module
# do not perl_process_packlist (noarch)
# remove .packlist file
rm -rf %{buildroot}%{perl_vendorarch}
# remove perllocal.pod file
rm -rf %{buildroot}%{perl_archlib}
# create symlinks for monitoring-plugins-postgres package
mkdir -p %{buildroot}%{nagios_plugindir}
pushd %{buildroot}%{nagios_plugindir}
%{buildroot}%{_bindir}/ --symlinks
# fix symlinks, as they point to the buildroot
for link in *; do
	rm "$link"
	ln -s "%{_bindir}/" "$link"
# create man page
mkdir -p %{buildroot}/%{_mandir}/man1
perl %{SOURCE2} "%{version}" "1" > %{buildroot}/%{_mandir}/man1/

%files -f %{name}.files
%doc MANIFEST README* TODO nagios-commands-postgres.cfg
%if 0%{?suse_version} > 1315
%license LICENSE

%files -n monitoring-plugins-postgres
# avoid build dependecy of nagios - own the dirs
%dir %{nagios_libdir}
%dir %{nagios_plugindir}