diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a5cf276 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/Mail-SPF-v2.9.0.tar.gz diff --git a/.perl-Mail-SPF.metadata b/.perl-Mail-SPF.metadata new file mode 100644 index 0000000..633e089 --- /dev/null +++ b/.perl-Mail-SPF.metadata @@ -0,0 +1 @@ +3bda4d67a94465eec3e569b56004de968cad3982 SOURCES/Mail-SPF-v2.9.0.tar.gz diff --git a/SOURCES/Mail-SPF-v2.8.0-POD.patch b/SOURCES/Mail-SPF-v2.8.0-POD.patch new file mode 100644 index 0000000..e477bf0 --- /dev/null +++ b/SOURCES/Mail-SPF-v2.8.0-POD.patch @@ -0,0 +1,17 @@ +https://rt.cpan.org/Public/Bug/Display.html?id=86060 + +--- lib/Mail/SPF/Util.pm ++++ lib/Mail/SPF/Util.pm +@@ -155,9 +155,9 @@ sub ipv6_address_is_ipv4_mapped { + throws I + + Returns the given I IPv4 or IPv6 address compactly formatted as a +-I. For IPv4 addresses, this is equivalent to calling L< NetAddr::IP's +-C |NetAddr::IP/addr> method. For IPv6 addresses, this is equivalent to +-calling L< NetAddr::IP's C |NedAddr::IP/short> method. Throws a ++I. For IPv4 addresses, this is equivalent to calling L|NetAddr::IP/addr> method. For IPv6 addresses, this is equivalent to ++calling L|NetAddr::IP/short> method. Throws a + I exception if the specified object is not a + I IPv4 or IPv6 address object. + diff --git a/SOURCES/Mail-SPF-v2.8.0-testsuite.patch b/SOURCES/Mail-SPF-v2.8.0-testsuite.patch new file mode 100644 index 0000000..811851d --- /dev/null +++ b/SOURCES/Mail-SPF-v2.8.0-testsuite.patch @@ -0,0 +1,62 @@ +Drop tests that fail with Net::DNS ≥ 0.68 due to that module's +sanitization of domain names + +https://rt.cpan.org/Ticket/Display.html?id=78214 + +--- t/rfc4408-tests.yml ++++ t/rfc4408-tests.yml +@@ -20,16 +20,6 @@ + --- + description: Initial processing + tests: +- toolonglabel: +- description: >- +- DNS labels limited to 63 chars. +- comment: >- +- For initial processing, a long label results in None, not TempError +- spec: 4.3/1 +- helo: mail.example.net +- host: 1.2.3.5 +- mailfrom: lyme.eater@A123456789012345678901234567890123456789012345678901234567890123.example.com +- result: none + longlabel: + description: >- + DNS labels limited to 63 chars. +@@ -360,21 +350,6 @@ tests: + host: 1.2.3.4 + mailfrom: foo@t9.example.com + result: permerror +- invalid-domain-empty-label: +- description: >- +- target-name that is a valid domain-spec per RFC 4408 but an invalid +- domain name per RFC 1035 (empty label) must be treated as non-existent. +- comment: >- +- An empty domain label, i.e. two successive dots, in a mechanism +- target-name is valid domain-spec syntax, even though a DNS query cannot +- be composed from it. The spec being unclear about it, this could either +- be considered a syntax error, or, by analogy to 4.3/1 and 5/10/3, the +- mechanism chould be treated as a no-match. +- spec: [4.3/1, 5/10/3] +- helo: mail.example.com +- host: 1.2.3.4 +- mailfrom: foo@t10.example.com +- result: [permerror, fail] + invalid-domain-long: + description: >- + target-name that is a valid domain-spec per RFC 4408 but an invalid +@@ -1776,15 +1751,6 @@ tests: + host: 192.168.218.40 + mailfrom: test@e1.example.com + result: permerror +- macro-mania-in-domain: +- description: >- +- macro-encoded percents (%%), spaces (%_), and URL-percent-encoded +- spaces (%-) +- spec: 8.1/3, 8.1/4 +- helo: mail.example.com +- host: 1.2.3.4 +- mailfrom: test@e1a.example.com +- result: pass + exp-txt-macro-char: + spec: 8.1/20 + description: >- diff --git a/SPECS/perl-Mail-SPF.spec b/SPECS/perl-Mail-SPF.spec new file mode 100644 index 0000000..85406a2 --- /dev/null +++ b/SPECS/perl-Mail-SPF.spec @@ -0,0 +1,199 @@ +Name: perl-Mail-SPF +Version: 2.9.0 +Release: 15%{?dist} +Summary: Object-oriented implementation of Sender Policy Framework +License: BSD +URL: http://search.cpan.org/dist/Mail-SPF/ +Source0: http://www.cpan.org/authors/id/J/JM/JMEHNLE/mail-spf/Mail-SPF-v%{version}.tar.gz +Patch0: Mail-SPF-v2.8.0-POD.patch +Patch1: Mail-SPF-v2.8.0-testsuite.patch +BuildArch: noarch +# Build +BuildRequires: coreutils +BuildRequires: perl-interpreter +BuildRequires: perl-generators +BuildRequires: perl(Module::Build) +BuildRequires: perl(version) +# Runtime +BuildRequires: perl(base) +BuildRequires: perl(constant) +BuildRequires: perl(Error) +BuildRequires: perl(Net::DNS) >= 0.62 +BuildRequires: perl(Net::DNS::Resolver) +BuildRequires: perl(NetAddr::IP) >= 4 +BuildRequires: perl(overload) +BuildRequires: perl(strict) +BuildRequires: perl(Sys::Hostname) +BuildRequires: perl(URI) >= 1.13 +BuildRequires: perl(URI::Escape) +BuildRequires: perl(utf8) +BuildRequires: perl(warnings) +# Tests only +BuildRequires: perl(blib) +BuildRequires: perl(Net::DNS::Resolver::Programmable) >= 0.003 +BuildRequires: perl(Net::DNS::RR) +BuildRequires: perl(Test::More) +# Optional tests only +BuildRequires: perl(Test::Pod) >= 1.00 +Requires: perl(:MODULE_COMPAT_%(eval "$(perl -V:version)"; echo $version)) +Requires: perl(Net::DNS) >= 0.62 +Requires: perl(URI) >= 1.13 + +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives + +%description +Mail::SPF is an object-oriented implementation of Sender Policy Framework +(SPF). See http://www.openspf.org for more information about SPF. + +%prep +%setup -q -n Mail-SPF-v%{version} +# Fix broken POD (CPAN RT#86060) +%patch0 +# Work around test suite failures with Net::DNS ≥ 0.68 (CPAN RT#78214) +%patch1 +chmod -x bin/* sbin/* + +%build +perl Build.PL installdirs=vendor +./Build + +%install +./Build install destdir=%{buildroot} create_packlist=0 +%{_fixperms} %{buildroot}/* +# The spfquery and spfd will use alternatives +%{__mv} -f %{buildroot}%{_bindir}/spfquery %{buildroot}%{_bindir}/spfquery.%{name} +%{__mv} -f %{buildroot}%{_sbindir}/spfd %{buildroot}%{_bindir}/spfd.%{name} +%{__mv} -f %{buildroot}%{_mandir}/man1/spfquery.1 %{buildroot}%{_mandir}/man1/spfquery-%{name}.1 +touch %{buildroot}%{_bindir}/spfquery %{buildroot}%{_bindir}/spfd %{buildroot}%{_mandir}/man1/spfquery.1.gz + +%check +./Build test + +%post +%{_sbindir}/update-alternatives --install %{_bindir}/spfquery spf %{_bindir}/spfquery.%{name} 10 \ + --slave %{_bindir}/spfd spf-daemon %{_bindir}/spfd.%{name} \ + --slave %{_mandir}/man1/spfquery.1.gz spfquery-man-page %{_mandir}/man1/spfquery-%{name}.1.gz + +%postun +if [ $1 -eq 0 ] ; then + %{_sbindir}/update-alternatives --remove spf %{_bindir}/spfquery.%{name} +fi + +%files +%license LICENSE +%doc CHANGES README TODO bin/ sbin/ +%{perl_vendorlib}/* +%{_mandir}/man1/* +%{_mandir}/man3/* +%ghost %{_bindir}/spfquery +%ghost %{_bindir}/spfd +%ghost %{_mandir}/man1/spfquery.1.gz +%{_bindir}/spfquery.%{name} +%{_bindir}/spfd.%{name} + +%changelog +* Thu Feb 08 2018 Fedora Release Engineering - 2.9.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.9.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 06 2017 Jitka Plesnikova - 2.9.0-13 +- Perl 5.26 rebuild + +* Sun Feb 12 2017 Jan Pazdziora - 2.9.0-12 +- 1399246 - ship /usr/bin/spfquery and /usr/bin/spfd as alternatives. + +* Sat Feb 11 2017 Fedora Release Engineering - 2.9.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sun May 15 2016 Jitka Plesnikova - 2.9.0-10 +- Perl 5.24 rebuild + +* Mon Feb 29 2016 Petr Šabata - 2.9.0-9 +- Package cleanup + +* Thu Feb 04 2016 Fedora Release Engineering - 2.9.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 2.9.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 06 2015 Jitka Plesnikova - 2.9.0-6 +- Perl 5.22 rebuild + +* Thu Aug 28 2014 Jitka Plesnikova - 2.9.0-5 +- Perl 5.20 rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 2.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Jul 22 2013 Petr Pisar - 2.9.0-2 +- Perl 5.18 rebuild + +* Mon Jul 22 2013 Paul Howarth - 2.9.0-1 +- Update to 2.9.0 + - Default to querying only TXT type RRs + (query_rr_types = Mail::SPF::Server->query_rr_type_txt); experience has + shown that querying SPF type RRs is impractical + +* Fri Jun 28 2013 Paul Howarth - 2.8.0-3 +- Fix broken POD (CPAN RT#86060) +- Work around test suite failures with Net::DNS ≥ 0.68 (CPAN RT#78214) + +* Thu Feb 14 2013 Fedora Release Engineering - 2.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Nov 20 2012 Petr Šabata - 2.8.0-1 +- 2.8.0 bump +- Fix dependencies +- Drop command macros + +* Fri Jul 20 2012 Fedora Release Engineering - 2.007-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 13 2012 Petr Pisar - 2.007-5 +- Perl 5.16 rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 2.007-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Jul 19 2011 Petr Sabata - 2.007-3 +- Perl mass rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 2.007-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Dec 5 2010 Nick Bebout - 2.007-1 +- Update to 2.007 + +* Mon May 03 2010 Marcela Maslanova - 2.006-5 +- Mass rebuild with perl-5.12.0 + +* Mon Dec 7 2009 Stepan Kasal - 2.006-4 +- rebuild against perl 5.10.1 + +* Sun Jul 26 2009 Fedora Release Engineering - 2.006-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Feb 26 2009 Fedora Release Engineering - 2.006-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Dec 12 2008 Steven Pritchard 2.006-1 +- Update to 2.006. + +* Thu Mar 06 2008 Tom "spot" Callaway - 2.005-2 +- Rebuild for new perl + +* Mon Jul 09 2007 Steven Pritchard 2.005-1 +- Specfile autogenerated by cpanspec 1.71. +- Add the "v" before version numbers to handle broken upstream packaging. +- Remove redundant perl build dependency. +- Drop bogus version number from Net::DNS::Resolver::Programmable dependency. +- Drop redundant explicit dependencies. +- BR Test::More and Test::Pod. +- Include the spfd and spfquery scripts as %%doc