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 @@
# Name: perl-Monitoring-Plugin
# spec file for package perl-Nagios-Plugin Version: 0.40
# Release: 4%{?dist}
Summary: Family of modules to streamline writing plugins for various monitoring systems
# You can easy replace the Nagios::Plugin entries in scripts: License: GPL+ or Artistic
# sed -i -e 's/Nagios::Plugin/Monitoring::Plugin/g' *.pl URL: https://metacpan.org/release/Monitoring-Plugin
Source0: https://cpan.metacpan.org/authors/id/N/NI/NIERLEIN/Monitoring-Plugin-%{version}.tar.gz
%define cpan_name Monitoring-Plugin BuildArch: noarch
# Build
Name: perl-%cpan_name BuildRequires: coreutils
Summary: A family of perl modules to streamline writing Nagios plugins BuildRequires: make
License: Artistic-1.0 ; GPL-2.0+ BuildRequires: perl-interpreter
Group: Development/Languages/Perl BuildRequires: perl-generators
Version: 0.39 BuildRequires: perl(inc::Module::Install)
Release: 1%{?dist} BuildRequires: perl(Module::Install::Metadata)
Url: http://search.cpan.org/dist/Monitoring-Plugin/ BuildRequires: perl(Module::Install::WriteAll)
Provides: %cpan_name = %{version}-%{release} BuildRequires: sed
Provides: Nagios-Plugin # Runtime
Obsoletes: perl-Nagios-Plugin BuildRequires: perl(base)
Requires: perl-Class-Accessor BuildRequires: perl(Carp)
Requires: perl-Config-Tiny BuildRequires: perl(Class::Accessor)
Requires: perl-Math-Calc-Units BuildRequires: perl(Class::Accessor::Fast)
Requires: perl-Params-Validate BuildRequires: perl(Config::Tiny)
BuildRequires: perl BuildRequires: perl(constant)
BuildRequires: perl-Module-Install BuildRequires: perl(Exporter)
BuildRequires: perl-Class-Accessor BuildRequires: perl(File::Basename)
BuildRequires: perl-Config-Tiny BuildRequires: perl(File::Spec)
BuildRequires: perl-Params-Validate BuildRequires: perl(Getopt::Long)
BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl(Math::Calc::Units)
BuildRequires: perl-macros BuildRequires: perl(overload)
Source: %cpan_name-%{version}.tar.gz BuildRequires: perl(Params::Validate)
BuildRoot: %{_tmppath}/%{name}-%{version}-build 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 %description
Monitoring::Plugin and its associated Monitoring::Plugin::* modules are a family of Monitoring::Plugin and its associated Monitoring::Plugin::* modules are a
perl modules to streamline writing Monitoring plugins. The main end user modules family of perl modules to streamline writing Monitoring plugins. The main
are Monitoring::Plugin, providing an object-oriented interface to the entire end user modules are Monitoring::Plugin, providing an object-oriented
Monitoring::Plugin::* collection, and Monitoring::Plugin::Functions, providing a interface to the entire Monitoring::Plugin::* collection, and
simpler functional interface to a useful subset of the available functionality. 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).
%prep %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 %build
perl Makefile.PL OPTIMIZE="%{optflags} -Wall" perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1
make %{?_smp_mflags} make %{?_smp_mflags}
%if 0%{?fedora} > 18 && 0%{?rhel} >= 6 && 0%{?suse_version} >= 1010 %install
make pure_install DESTDIR=%{buildroot}
%{_fixperms} %{buildroot}/*
%check %check
make test 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 %files
%defattr(-,root,root)
%doc Changes MANIFEST README %doc Changes notes README
%doc %{_mandir}/man?/* %{perl_vendorlib}/*
%{perl_vendorlib}/Monitoring %{_mandir}/man3/*
%{perl_vendorarch}/auto/Monitoring
%changelog %changelog
* Fri Mar 25 2016 <elpito@bluewin.ch> * Fri Dec 13 2019 Daniel Steiner <daniel.steiner@dsteiner.ch>
- New initial package, but is forked of perl-Nagios-Plugin. - Initial packaging

View File

@@ -9,13 +9,24 @@ Source0: powerline_shell.tar.gz
%define debug_package %{nil} %define debug_package %{nil}
BuildRequires: python powerline BuildRequires: powerline
%if 0%{?rhel} > 8
BuildRequires: python
BuildRequires: GitPython BuildRequires: GitPython
BuildRequires: python-setuptools BuildRequires: python-setuptools
Requires: python powerline bash Requires: python powerline bash
Requires: GitPython Requires: GitPython
Requires: python2-argparse Requires: python2-argparse
Requires: python-setuptools 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 %description
A beautiful and useful prompt generator for Bash, ZSH, Fish, and tcsh: A beautiful and useful prompt generator for Bash, ZSH, Fish, and tcsh:
@@ -36,6 +47,16 @@ python setup.py build
%install %install
python setup.py install --no-compile --skip-build --prefix=%{_prefix} --root=%{buildroot} 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 %clean
[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} [ "%{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.