From 041a1430ce1b416fa230dc5af1e7f4a38a327a53 Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Fri, 13 Dec 2019 12:42:04 +0100 Subject: [PATCH] Monitoring Plugin pkg added --- centos/SPECS/perl-Monitoring-Plugin.spec | 127 +++++++++++------------ centos/SPECS/powerline_shell.spec | 23 +++- centos/SPECS/python3-argparse.spec | 60 +++++++++++ 3 files changed, 142 insertions(+), 68 deletions(-) create mode 100644 centos/SPECS/python3-argparse.spec diff --git a/centos/SPECS/perl-Monitoring-Plugin.spec b/centos/SPECS/perl-Monitoring-Plugin.spec index c9f359b..70b07a0 100644 --- a/centos/SPECS/perl-Monitoring-Plugin.spec +++ b/centos/SPECS/perl-Monitoring-Plugin.spec @@ -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 -- New initial package, but is forked of perl-Nagios-Plugin. +* Fri Dec 13 2019 Daniel Steiner +- Initial packaging diff --git a/centos/SPECS/powerline_shell.spec b/centos/SPECS/powerline_shell.spec index dbb9dd3..453499c 100644 --- a/centos/SPECS/powerline_shell.spec +++ b/centos/SPECS/powerline_shell.spec @@ -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} diff --git a/centos/SPECS/python3-argparse.spec b/centos/SPECS/python3-argparse.spec new file mode 100644 index 0000000..1272fab --- /dev/null +++ b/centos/SPECS/python3-argparse.spec @@ -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 +- First build, it's required by powerline_shell package. +