Files
rpms/fedora/SPECS/perl-Net-DNS.spec

166 lines
5.8 KiB
RPMSpec

Name: perl-Net-DNS
Version: 1.29
Release: 1%{?dist}
Summary: DNS resolver modules for Perl
# Other files: MIT
# demo/mresolv: GPL+ or Artistic
## Not in a binary package
# contrib/find_zonecut: GPL+ or Artistic
# contrib/check_soa: GPL+ or Artistic
License: (GPL+ or Artistic) and MIT
URL: https://metacpan.org/release/Net-DNS
Source0: https://cpan.metacpan.org/authors/id/N/NL/NLNETLABS/Net-DNS-%{version}.tar.gz
BuildArch: noarch
# Build
BuildRequires: coreutils
BuildRequires: findutils
BuildRequires: glibc-common
BuildRequires: make
BuildRequires: sed
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76
BuildRequires: perl(Getopt::Long)
BuildRequires: perl(IO::Socket)
# Runtime
BuildRequires: perl(base)
BuildRequires: perl(Carp)
# Config not used
BuildRequires: perl(constant)
BuildRequires: perl(Data::Dumper)
%if ! (0%{?rhel} >= 7)
# Digest::BubbleBabble is optional
BuildRequires: perl(Digest::BubbleBabble)
%endif
# Digest::GOST is optional and intentionally unavailable
# Digest::GOST::CryptoPro is optional and intentionally unavailable
BuildRequires: perl(Digest::HMAC) >= 1.03
BuildRequires: perl(Digest::MD5) >= 2.13
BuildRequires: perl(Digest::SHA) >= 5.23
BuildRequires: perl(Encode)
BuildRequires: perl(Exporter)
BuildRequires: perl(File::Spec)
BuildRequires: perl(FileHandle)
BuildRequires: perl(integer)
BuildRequires: perl(IO::File)
# IO::Select is not used
# Prefer IO::Socket::IP over IO::Socket::INET for IPv6 support
BuildRequires: perl(IO::Socket::IP) >= 0.32
BuildRequires: perl(MIME::Base64) >= 2.13
# Prefer Net::LibIDN2 over Net::LibIDN, both are optional
BuildRequires: perl(Net::LibIDN2) >= 1
BuildRequires: perl(overload)
# PerlIO is optional
# Scalar::Util is optional
BuildRequires: perl(Socket)
BuildRequires: perl(strict)
BuildRequires: perl(Time::Local)
BuildRequires: perl(warnings)
# Win32::IPHelper is not needed
# Win32::TieRegistry is not needed
# Tests only
BuildRequires: perl(File::Find)
BuildRequires: perl(Test::Builder)
BuildRequires: perl(Test::More)
# Optional tests:
BuildRequires: perl(Test::Pod) >= 1.45
%if !%{defined perl_bootstrap}
# Build cycle: perl-Net-DNS-SEC → perl-Net-DNS
BuildRequires: perl(Net::DNS::SEC)
BuildRequires: perl(Net::DNS::SEC::RSA)
%endif
Requires: perl(:MODULE_COMPAT_%(eval "$(perl -V:version)"; echo $version))
Suggests: perl(Config)
Requires: perl(Data::Dumper)
# Digest::GOST not available
Requires: perl(Digest::HMAC) >= 1.03
Requires: perl(Digest::MD5) >= 2.13
Requires: perl(Digest::SHA) >= 5.23
Requires: perl(Encode)
# Prefer IO::Socket::IP over IO::Socket::INET for IPv6 support
Recommends: perl(IO::Socket::IP) >= 0.32
Requires: perl(MIME::Base64) >= 2.13
# Net::DNS::Extlang not available
Suggests: perl(Net::DNS::SEC::DSA)
# Net::DNS::SEC::ECCGOST not available
Suggests: perl(Net::DNS::SEC::ECDSA)
Suggests: perl(Net::DNS::SEC::EdDSA)
Suggests: perl(Net::DNS::SEC::Private)
Suggests: perl(Net::DNS::SEC::RSA)
# Prefer Net::LibIDN2 over Net::LibIDN, both are optional
Suggests: perl(Net::LibIDN2) >= 1
Suggests: perl(Scalar::Util) >= 1.25
%{?perl_default_filter}
# Do not export under-specified dependencies
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Digest::HMAC\\)$
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Digest::MD5\\)$
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Digest::SHA\\)$
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(MIME::Base64\\)$
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(CONFIG\\)$
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(OS_CONF\\)$
# Do not export under-specified provides
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\((Net::DNS::Text)\\)$
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\((Net::DNS::RR::OPT)\\)$
%description
Net::DNS is a collection of Perl modules that act as a Domain Name System
(DNS) resolver. It allows the programmer to perform DNS queries that are
beyond the capabilities of gethostbyname and gethostbyaddr.
The programmer should be somewhat familiar with the format of a DNS packet and
its various sections. See RFC 1035 or DNS and BIND (Albitz & Liu) for details.
%package Nameserver
Summary: DNS server for Perl
License: MIT
Recommends: perl(IO::Socket::IP) >= 0.32
%description Nameserver
Instances of the "Net::DNS::Nameserver" class represent DNS server objects.
%prep
%setup -q -n Net-DNS-%{version}
chmod -x demo/*
sed -i -e '1 s,^#!/usr/local/bin/perl,#!%{__perl},' demo/*
for i in Changes; do
iconv -f iso8859-1 -t utf-8 "$i" > "${i}.conv"
touch -r "$i" "${i}.iconv"
mv -f "${i}.conv" "$i"
done
%build
export PERL_MM_USE_DEFAULT=yes
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 --no-online-tests
make %{?_smp_mflags} OPTIMIZE="%{optflags}"
%install
make pure_install DESTDIR=%{buildroot}
find %{buildroot} -type f -name '*.bs' -a -size 0 -delete
chmod -R u+w %{buildroot}/*
%check
make test
%files
%doc README Changes demo
%{perl_vendorlib}/Net/
%exclude %{perl_vendorlib}/Net/DNS/Resolver/cygwin.pm
%exclude %{perl_vendorlib}/Net/DNS/Resolver/MSWin32.pm
%{_mandir}/man3/Net::DNS*.3*
%exclude %{_mandir}/man3/Net::DNS::Resolver::cygwin.3*
%exclude %{_mandir}/man3/Net::DNS::Resolver::MSWin32.3*
# perl-Net-DNS-Nameserver
%exclude %{perl_vendorlib}/Net/DNS/Nameserver.pm
%exclude %{_mandir}/man3/Net::DNS::Nameserver*
%files Nameserver
%{perl_vendorlib}/Net/DNS/Nameserver.pm
%{_mandir}/man3/Net::DNS::Nameserver*
%changelog
* Fri Dec 18 2020 Daniel Steiner <daniel.steiner@dsteiner.ch>
- First current release build.