diff --git a/fedora/SPECS/perl-Net-DNS.spec b/fedora/SPECS/perl-Net-DNS.spec new file mode 100644 index 0000000..486abd4 --- /dev/null +++ b/fedora/SPECS/perl-Net-DNS.spec @@ -0,0 +1,165 @@ +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 +- First current release build. +