Files
perl-SNMP-Info/perl-SNMP-Info.spec
2025-08-12 18:17:06 +02:00

257 lines
12 KiB
RPMSpec

#
# spec file for package perl-SNMP-Info
#
# Copyright (c) 2024 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 https://bugs.opensuse.org/
#
%define cpan_name SNMP-Info
Name: perl-SNMP-Info
Version: 3.972.2
Release: 0
# 3.972002 -> normalize -> 3.972.2
%define cpan_version 3.972002
License: BSD-3-Clause
Summary: OO Interface to Network devices and MIBs through SNMP
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/O/OL/OLIVER/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
Source100: README.md
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Class::Inspector)
BuildRequires: perl(File::Slurper)
BuildRequires: perl(Hook::LexWrap)
BuildRequires: perl(Module::Build) >= 0.42
BuildRequires: perl(Module::Find)
BuildRequires: perl(NetAddr::IP) >= 4.068
BuildRequires: perl(NetSNMP::default_store)
BuildRequires: perl(Path::Class)
BuildRequires: perl(Regexp::Common)
BuildRequires: perl(SNMP)
BuildRequires: perl(Test::Class::Most)
BuildRequires: perl(Test::Distribution)
BuildRequires: perl(Test::Exception) >= 0.43
BuildRequires: perl(Test::MockObject::Extends)
BuildRequires: perl(Test::More) >= 0.88
Requires: perl(NetAddr::IP) >= 4.068
Requires: perl(Regexp::Common)
Requires: perl(SNMP)
Provides: perl(SNMP::Info) = %{version}
Provides: perl(SNMP::Info::AMAP) = %{version}
Provides: perl(SNMP::Info::AdslLine) = %{version}
Provides: perl(SNMP::Info::Aggregate) = %{version}
Provides: perl(SNMP::Info::Airespace) = %{version}
Provides: perl(SNMP::Info::Bridge) = %{version}
Provides: perl(SNMP::Info::CDP) = %{version}
Provides: perl(SNMP::Info::CiscoAgg) = %{version}
Provides: perl(SNMP::Info::CiscoBGP) = %{version}
Provides: perl(SNMP::Info::CiscoConfig) = %{version}
Provides: perl(SNMP::Info::CiscoPortSecurity) = %{version}
Provides: perl(SNMP::Info::CiscoPower) = %{version}
Provides: perl(SNMP::Info::CiscoQOS) = %{version}
Provides: perl(SNMP::Info::CiscoRTT) = %{version}
Provides: perl(SNMP::Info::CiscoStack) = %{version}
Provides: perl(SNMP::Info::CiscoStats) = %{version}
Provides: perl(SNMP::Info::CiscoStpExtensions) = %{version}
Provides: perl(SNMP::Info::CiscoVTP) = %{version}
Provides: perl(SNMP::Info::DocsisCM) = %{version}
Provides: perl(SNMP::Info::DocsisHE) = %{version}
Provides: perl(SNMP::Info::EDP) = %{version}
Provides: perl(SNMP::Info::Entity) = %{version}
Provides: perl(SNMP::Info::EtherLike) = %{version}
Provides: perl(SNMP::Info::FDP) = %{version}
Provides: perl(SNMP::Info::IEEE802_Bridge) = %{version}
Provides: perl(SNMP::Info::IEEE802dot11) = %{version}
Provides: perl(SNMP::Info::IEEE802dot3ad) = %{version}
Provides: perl(SNMP::Info::IPv6) = %{version}
Provides: perl(SNMP::Info::LLDP) = %{version}
Provides: perl(SNMP::Info::Layer1) = %{version}
Provides: perl(SNMP::Info::Layer1::Allied) = %{version}
Provides: perl(SNMP::Info::Layer1::Asante) = %{version}
Provides: perl(SNMP::Info::Layer1::Bayhub) = %{version}
Provides: perl(SNMP::Info::Layer1::Cyclades) = %{version}
Provides: perl(SNMP::Info::Layer1::S3000) = %{version}
Provides: perl(SNMP::Info::Layer2) = %{version}
Provides: perl(SNMP::Info::Layer2::3Com) = %{version}
Provides: perl(SNMP::Info::Layer2::Adtran) = %{version}
Provides: perl(SNMP::Info::Layer2::Aerohive) = %{version}
Provides: perl(SNMP::Info::Layer2::Airespace) = %{version}
Provides: perl(SNMP::Info::Layer2::Aironet) = %{version}
Provides: perl(SNMP::Info::Layer2::Allied) = %{version}
Provides: perl(SNMP::Info::Layer2::Atmedia) = %{version}
Provides: perl(SNMP::Info::Layer2::Baystack) = %{version}
Provides: perl(SNMP::Info::Layer2::C1900) = %{version}
Provides: perl(SNMP::Info::Layer2::C2900) = %{version}
Provides: perl(SNMP::Info::Layer2::Catalyst) = %{version}
Provides: perl(SNMP::Info::Layer2::Centillion) = %{version}
Provides: perl(SNMP::Info::Layer2::Cisco) = %{version}
Provides: perl(SNMP::Info::Layer2::CiscoSB) = %{version}
Provides: perl(SNMP::Info::Layer2::Exinda) = %{version}
Provides: perl(SNMP::Info::Layer2::HP) = %{version}
Provides: perl(SNMP::Info::Layer2::HP4000) = %{version}
Provides: perl(SNMP::Info::Layer2::HPVC) = %{version}
Provides: perl(SNMP::Info::Layer2::Hirschmann) = %{version}
Provides: perl(SNMP::Info::Layer2::Kentrox) = %{version}
Provides: perl(SNMP::Info::Layer2::N2270) = %{version}
Provides: perl(SNMP::Info::Layer2::NAP222x) = %{version}
Provides: perl(SNMP::Info::Layer2::NWSS2300) = %{version}
Provides: perl(SNMP::Info::Layer2::Netgear) = %{version}
Provides: perl(SNMP::Info::Layer2::Nexans) = %{version}
Provides: perl(SNMP::Info::Layer2::Orinoco) = %{version}
Provides: perl(SNMP::Info::Layer2::Sixnet) = %{version}
Provides: perl(SNMP::Info::Layer2::Trapeze) = %{version}
Provides: perl(SNMP::Info::Layer2::Ubiquiti) = %{version}
Provides: perl(SNMP::Info::Layer2::ZyXEL_DSLAM) = %{version}
Provides: perl(SNMP::Info::Layer3) = %{version}
Provides: perl(SNMP::Info::Layer3::Aironet) = %{version}
Provides: perl(SNMP::Info::Layer3::AlcatelLucent) = %{version}
Provides: perl(SNMP::Info::Layer3::AlteonAD) = %{version}
Provides: perl(SNMP::Info::Layer3::Altiga) = %{version}
Provides: perl(SNMP::Info::Layer3::Arista) = %{version}
Provides: perl(SNMP::Info::Layer3::Aruba) = %{version}
Provides: perl(SNMP::Info::Layer3::ArubaCX) = %{version}
Provides: perl(SNMP::Info::Layer3::BayRS) = %{version}
Provides: perl(SNMP::Info::Layer3::BlueCoatSG) = %{version}
Provides: perl(SNMP::Info::Layer3::C1300) = %{version}
Provides: perl(SNMP::Info::Layer3::C3550) = %{version}
Provides: perl(SNMP::Info::Layer3::C4000) = %{version}
Provides: perl(SNMP::Info::Layer3::C6500) = %{version}
Provides: perl(SNMP::Info::Layer3::CheckPoint) = %{version}
Provides: perl(SNMP::Info::Layer3::Ciena) = %{version}
Provides: perl(SNMP::Info::Layer3::Cisco) = %{version}
Provides: perl(SNMP::Info::Layer3::CiscoASA) = %{version}
Provides: perl(SNMP::Info::Layer3::CiscoFWSM) = %{version}
Provides: perl(SNMP::Info::Layer3::CiscoSwitch) = %{version}
Provides: perl(SNMP::Info::Layer3::Contivity) = %{version}
Provides: perl(SNMP::Info::Layer3::Cumulus) = %{version}
Provides: perl(SNMP::Info::Layer3::DLink) = %{version}
Provides: perl(SNMP::Info::Layer3::Dell) = %{version}
Provides: perl(SNMP::Info::Layer3::ERX) = %{version}
Provides: perl(SNMP::Info::Layer3::Enterasys) = %{version}
Provides: perl(SNMP::Info::Layer3::Extreme) = %{version}
Provides: perl(SNMP::Info::Layer3::ExtremeWing) = %{version}
Provides: perl(SNMP::Info::Layer3::F5) = %{version}
Provides: perl(SNMP::Info::Layer3::Force10) = %{version}
Provides: perl(SNMP::Info::Layer3::Fortinet) = %{version}
Provides: perl(SNMP::Info::Layer3::Foundry) = %{version}
Provides: perl(SNMP::Info::Layer3::Genua) = %{version}
Provides: perl(SNMP::Info::Layer3::H3C) = %{version}
Provides: perl(SNMP::Info::Layer3::HP9300) = %{version}
Provides: perl(SNMP::Info::Layer3::Huawei) = %{version}
Provides: perl(SNMP::Info::Layer3::IBMGbTor) = %{version}
Provides: perl(SNMP::Info::Layer3::Juniper) = %{version}
Provides: perl(SNMP::Info::Layer3::Lantronix) = %{version}
Provides: perl(SNMP::Info::Layer3::Lenovo) = %{version}
Provides: perl(SNMP::Info::Layer3::Meraki) = %{version}
Provides: perl(SNMP::Info::Layer3::Microsoft) = %{version}
Provides: perl(SNMP::Info::Layer3::Mikrotik) = %{version}
Provides: perl(SNMP::Info::Layer3::N1600) = %{version}
Provides: perl(SNMP::Info::Layer3::NetSNMP) = %{version}
Provides: perl(SNMP::Info::Layer3::Netonix) = %{version}
Provides: perl(SNMP::Info::Layer3::Netscreen) = %{version}
Provides: perl(SNMP::Info::Layer3::Nexus) = %{version}
Provides: perl(SNMP::Info::Layer3::OneAccess) = %{version}
Provides: perl(SNMP::Info::Layer3::PacketFront) = %{version}
Provides: perl(SNMP::Info::Layer3::PaloAlto) = %{version}
Provides: perl(SNMP::Info::Layer3::Passport) = %{version}
Provides: perl(SNMP::Info::Layer3::Pf) = %{version}
Provides: perl(SNMP::Info::Layer3::Pica8) = %{version}
Provides: perl(SNMP::Info::Layer3::Redlion) = %{version}
Provides: perl(SNMP::Info::Layer3::Scalance) = %{version}
Provides: perl(SNMP::Info::Layer3::SilverPeak) = %{version}
Provides: perl(SNMP::Info::Layer3::SonicWALL) = %{version}
Provides: perl(SNMP::Info::Layer3::Steelfusion) = %{version}
Provides: perl(SNMP::Info::Layer3::Steelhead) = %{version}
Provides: perl(SNMP::Info::Layer3::SteelheadEx) = %{version}
Provides: perl(SNMP::Info::Layer3::Sun) = %{version}
Provides: perl(SNMP::Info::Layer3::Tasman) = %{version}
Provides: perl(SNMP::Info::Layer3::Teltonika) = %{version}
Provides: perl(SNMP::Info::Layer3::Timetra) = %{version}
Provides: perl(SNMP::Info::Layer3::VMware) = %{version}
Provides: perl(SNMP::Info::Layer3::VyOS) = %{version}
Provides: perl(SNMP::Info::Layer3::Whiterabbit) = %{version}
Provides: perl(SNMP::Info::Layer7) = %{version}
Provides: perl(SNMP::Info::Layer7::APC) = %{version}
Provides: perl(SNMP::Info::Layer7::Arbor) = %{version}
Provides: perl(SNMP::Info::Layer7::CiscoIPS) = %{version}
Provides: perl(SNMP::Info::Layer7::Gigamon) = %{version}
Provides: perl(SNMP::Info::Layer7::HWGroup) = %{version}
Provides: perl(SNMP::Info::Layer7::Liebert) = %{version}
Provides: perl(SNMP::Info::Layer7::Neoteris) = %{version}
Provides: perl(SNMP::Info::Layer7::Netscaler) = %{version}
Provides: perl(SNMP::Info::MAU) = %{version}
Provides: perl(SNMP::Info::MRO) = %{version}
Provides: perl(SNMP::Info::NortelStack) = %{version}
Provides: perl(SNMP::Info::PortAccessEntity) = %{version}
Provides: perl(SNMP::Info::PowerEthernet) = %{version}
Provides: perl(SNMP::Info::RapidCity) = %{version}
Provides: perl(SNMP::Info::SONMP) = %{version}
%undefine __perllib_provides
Recommends: perl(Class::ISA)
Recommends: perl(File::Slurp)
Recommends: perl(Module::Info)
Recommends: perl(Module::Load)
Recommends: perl(PPI)
%{perl_requires}
%description
SNMP::Info gives an object oriented interface to information obtained
through SNMP.
This module is geared towards network devices. Subclasses exist for a
number of network devices and common MIBs.
The idea behind this module is to give a common interface to data from
network devices, leaving the device-specific hacks behind the scenes in
subclasses.
In the SYNOPSIS example we fetch the name of all the ports on the device
and the duplex setting for that port with two methods -- interfaces() and
i_duplex().
The information may be coming from any number of MIB files and is very
vendor specific. SNMP::Info provides you a common method for all supported
devices.
Adding support for your own device is easy, and takes little SNMP
knowledge.
The module is not limited to network devices. Any MIB or device can be
given an objected oriented front-end by making a module that consists of a
couple hashes. See EXTENDING SNMP::INFO.
%prep
%autosetup -n %{cpan_name}-%{cpan_version}
find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 644
%build
perl Build.PL --installdirs=vendor
./Build build --flags=%{?_smp_mflags}
%check
./Build test
%install
./Build install --destdir=%{buildroot} --create_packlist=0
%perl_gen_filelist
%files -f %{name}.files
%doc Changes README
%license LICENSE
%changelog