Monitoring Plugin pkg added

This commit is contained in:
Daniel Steiner
2019-12-13 12:42:04 +01:00
parent 9766947ae2
commit 041a1430ce
3 changed files with 142 additions and 68 deletions

View File

@@ -1,81 +1,74 @@
#
# spec file for package perl-Nagios-Plugin
#
# You can easy replace the Nagios::Plugin entries in scripts:
# sed -i -e 's/Nagios::Plugin/Monitoring::Plugin/g' *.pl
%define cpan_name Monitoring-Plugin
Name: perl-%cpan_name
Summary: A family of perl modules to streamline writing Nagios plugins
License: Artistic-1.0 ; GPL-2.0+
Group: Development/Languages/Perl
Version: 0.39
Release: 1%{?dist}
Url: http://search.cpan.org/dist/Monitoring-Plugin/
Provides: %cpan_name = %{version}-%{release}
Provides: Nagios-Plugin
Obsoletes: perl-Nagios-Plugin
Requires: perl-Class-Accessor
Requires: perl-Config-Tiny
Requires: perl-Math-Calc-Units
Requires: perl-Params-Validate
BuildRequires: perl
BuildRequires: perl-Module-Install
BuildRequires: perl-Class-Accessor
BuildRequires: perl-Config-Tiny
BuildRequires: perl-Params-Validate
BuildRequires: perl-ExtUtils-MakeMaker
BuildRequires: perl-macros
Source: %cpan_name-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Name: perl-Monitoring-Plugin
Version: 0.40
Release: 4%{?dist}
Summary: Family of modules to streamline writing plugins for various monitoring systems
License: GPL+ or Artistic
URL: https://metacpan.org/release/Monitoring-Plugin
Source0: https://cpan.metacpan.org/authors/id/N/NI/NIERLEIN/Monitoring-Plugin-%{version}.tar.gz
BuildArch: noarch
# Build
BuildRequires: coreutils
BuildRequires: make
BuildRequires: perl-interpreter
BuildRequires: perl-generators
BuildRequires: perl(inc::Module::Install)
BuildRequires: perl(Module::Install::Metadata)
BuildRequires: perl(Module::Install::WriteAll)
BuildRequires: sed
# Runtime
BuildRequires: perl(base)
BuildRequires: perl(Carp)
BuildRequires: perl(Class::Accessor)
BuildRequires: perl(Class::Accessor::Fast)
BuildRequires: perl(Config::Tiny)
BuildRequires: perl(constant)
BuildRequires: perl(Exporter)
BuildRequires: perl(File::Basename)
BuildRequires: perl(File::Spec)
BuildRequires: perl(Getopt::Long)
BuildRequires: perl(Math::Calc::Units)
BuildRequires: perl(overload)
BuildRequires: perl(Params::Validate)
BuildRequires: perl(strict)
BuildRequires: perl(warnings)
# Tests only
BuildRequires: perl(Data::Dumper)
BuildRequires: perl(IO::File)
BuildRequires: perl(Test::More)
BuildRequires: perl(vars)
Requires: perl(:MODULE_COMPAT_%(eval "$(perl -V:version)"; echo $version))
%description
Monitoring::Plugin and its associated Monitoring::Plugin::* modules are a family of
perl modules to streamline writing Monitoring plugins. The main end user modules
are Monitoring::Plugin, providing an object-oriented interface to the entire
Monitoring::Plugin::* collection, and Monitoring::Plugin::Functions, providing a
simpler functional interface to a useful subset of the available functionality.
The purpose of the collection is to make it as simple as possible for
developers to create plugins that conform the Monitoring Plugin guidelines
(http://nagiosplug.sourceforge.net/developer-guidelines.html).
Monitoring::Plugin and its associated Monitoring::Plugin::* modules are a
family of perl modules to streamline writing Monitoring plugins. The main
end user modules are Monitoring::Plugin, providing an object-oriented
interface to the entire Monitoring::Plugin::* collection, and
Monitoring::Plugin::Functions, providing a simpler functional interface to
a useful subset of the available functionality.
%prep
%setup -q -n %cpan_name-%{version}
%setup -q -n Monitoring-Plugin-%{version}
# Remove bundled modules
rm -r ./inc/*
sed -i -e '/^inc\//d' MANIFEST
%build
perl Makefile.PL OPTIMIZE="%{optflags} -Wall"
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1
make %{?_smp_mflags}
%if 0%{?fedora} > 18 && 0%{?rhel} >= 6 && 0%{?suse_version} >= 1010
%install
make pure_install DESTDIR=%{buildroot}
%{_fixperms} %{buildroot}/*
%check
make test
%endif
%install
%perl_make_install
%perl_process_packlist
%post
# only execute the replacement, if it is an update!
if [ -d "/usr/lib64/nagios/plugins" ]; then
cd /usr/lib64/nagios/plugins && \
for f in `grep -l 'Nagios::Plugin' *`; do sed -i -e 's/Nagios::Plugin/Monitoring::Plugin/g' $f; done
elif [ -d "/usr/lib/nagios/plugins" ]; then
cd /usr/lib/nagios/plugins && \
for f in `grep -l 'Nagios::Plugin' *`; do sed -i -e 's/Nagios::Plugin/Monitoring::Plugin/g' $f; done
fi
%files
%defattr(-,root,root)
%doc Changes MANIFEST README
%doc %{_mandir}/man?/*
%{perl_vendorlib}/Monitoring
%{perl_vendorarch}/auto/Monitoring
%doc Changes notes README
%{perl_vendorlib}/*
%{_mandir}/man3/*
%changelog
* Fri Mar 25 2016 <elpito@bluewin.ch>
- New initial package, but is forked of perl-Nagios-Plugin.
* Fri Dec 13 2019 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Initial packaging

View File

@@ -9,13 +9,24 @@ Source0: powerline_shell.tar.gz
%define debug_package %{nil}
BuildRequires: python powerline
BuildRequires: powerline
%if 0%{?rhel} > 8
BuildRequires: python
BuildRequires: GitPython
BuildRequires: python-setuptools
Requires: python powerline bash
Requires: GitPython
Requires: python2-argparse
Requires: python-setuptools
%else
BuildRequires: python3
BuildRequires: python3-GitPython
BuildRequires: python3-setuptools
Requires: python3 powerline bash
Requires: python3-GitPython
Requires: python3-argparse
Requires: python3-setuptools
%endif
%description
A beautiful and useful prompt generator for Bash, ZSH, Fish, and tcsh:
@@ -36,6 +47,16 @@ python setup.py build
%install
python setup.py install --no-compile --skip-build --prefix=%{_prefix} --root=%{buildroot}
%if 0%{?rhel} >= 8
pushd %{buildroot}
for f in \
usr/bin/powerline-shell
do
pathfix.py -pni /usr/bin/python3 $f
done
popd
%endif
%clean
[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot}

View File

@@ -0,0 +1,60 @@
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%global oname argparse
Summary: Optparse inspired command line parser for Python
Name: python3-argparse
Version: 1.4.0
Release: 1%{?dist}
License: Python
Group: Development/Languages
URL: http://code.google.com/p/argparse/
Source0: http://argparse.googlecode.com/files/argparse-%{version}.tar.gz
BuildRequires: python3-setuptools
BuildRequires: dos2unix
BuildArch: noarch
%description
The argparse module is an optparse-inspired command line parser that
improves on optparse by:
* handling both optional and positional arguments
* supporting parsers that dispatch to sub-parsers
* producing more informative usage messages
* supporting actions that consume any number of command-line args
* allowing types and actions to be specified with simple callables
instead of hacking class attributes like STORE_ACTIONS or CHECK_METHODS
as well as including a number of other more minor improvements on the
optparse API.
%prep
%setup -q -n %{oname}-%{version}
dos2unix -k README.txt NEWS.txt
%{__rm} -rf doc/source
%build
%{__python3} setup.py build
%install
%{__rm} -rf %{buildroot}
%{__python3} setup.py install --skip-build --root %{buildroot}
%check
pushd test
PYTHONPATH=../ %{__python} test_%{oname}.py
rm -rf %{buildroot}%{python3_sitelib}/__pycache__
%clean
[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot}
[ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/*
%files
%defattr(-, root, root, -)
%doc README.txt LICENSE.txt NEWS.txt doc/*
%{python3_sitelib}/*
%changelog
* Sun Feb 3 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- First build, it's required by powerline_shell package.