Add bootstrap for EPEL-8, spec tidy-up

- Use author-independent source URL
- Classify buildreqs by usage
- Drop redundant %{?perl_default_filter}
- Use %{make_build} and %{make_install}
- Drop redundant recoding of Mail::Message::Field manpage
- Fix permissions verbosely
- Make %files list more explicit
- Package README.md rather than README
This commit is contained in:
Paul Howarth 2019-10-17 19:54:10 +01:00
parent 2e8d5ef843
commit 31ca140c2a

View File

@ -1,31 +1,38 @@
# Bootstrap for EPEL-8
%if 0%{?el8:1}
%global perl_bootstrap 1
%endif
Name: perl-Mail-Message
Version: 3.008
Release: 4%{?dist}
Release: 5%{?dist}
Summary: MIME message handling
License: GPL+ or Artistic
URL: https://metacpan.org/release/Mail-Message
Source0: https://cpan.metacpan.org/authors/id/M/MA/MARKOV/Mail-Message-%{version}.tar.gz
Source0: https://cpan.metacpan.org/modules/by-module/Mail/Mail-Message-%{version}.tar.gz
BuildArch: noarch
# Build
BuildRequires: coreutils
BuildRequires: make
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76
# Module
BuildRequires: perl(base)
BuildRequires: perl(Carp)
BuildRequires: perl(Cwd)
BuildRequires: perl(Data::Dumper)
BuildRequires: perl(Date::Format)
BuildRequires: perl(Date::Parse)
%if !%{defined perl_bootstrap}
BuildRequires: perl(Email::Abstract)
%endif
BuildRequires: perl(Email::Simple)
BuildRequires: perl(Encode) >= 2.26
BuildRequires: perl(Encode::Alias)
BuildRequires: perl(Exporter)
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76
BuildRequires: perl(File::Basename)
BuildRequires: perl(File::Copy)
BuildRequires: perl(File::Spec) >= 0.7
BuildRequires: perl(File::Temp)
BuildRequires: perl(Font::Metrics::TimesRoman)
BuildRequires: perl(HTML::FormatPS)
BuildRequires: perl(HTML::FormatText) >= 2.01
BuildRequires: perl(HTML::TreeBuilder) >= 3.13
BuildRequires: perl(integer)
@ -58,21 +65,25 @@ BuildRequires: perl(Text::Autoformat)
BuildRequires: perl(Time::HiRes) >= 1.51
BuildRequires: perl(Time::Zone)
BuildRequires: perl(URI) >= 1.23
BuildRequires: perl(User::Identity) >= 0.94
BuildRequires: perl(User::Identity::Collection::Emails)
BuildRequires: perl(utf8)
BuildRequires: perl(vars)
BuildRequires: perl(warnings)
# Remember when we could assume build environments had common packages?
# Pepperidge Farm remembers.
BuildRequires: coreutils, make, glibc-common
BuildArch: noarch
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
# Explicit run requires
# Test Suite
BuildRequires: perl(Data::Dumper)
BuildRequires: perl(User::Identity) >= 0.94
# Optional Tests
%if !%{defined perl_bootstrap}
BuildRequires: perl(Email::Abstract)
%endif
# Dependencies
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires: perl(Date::Parse)
%if !%{defined perl_bootstrap}
Requires: perl(Mail::Transport::Send)
%endif
Requires: perl(Net::Domain)
Requires: perl(Time::HiRes) >= 1.51
Requires: perl(Time::Zone)
# I'm not sure why these provides aren't getting picked up automatically.
@ -94,38 +105,99 @@ MIME message handling code, formerly part of the Mail::Box package.
# The licensing on these test files is unclear.
# They seem to contain content posted publicly to usenet
# so there is an argument that the content is distributable
# but its not under a Free license.
# but it's not under a Free license.
# We delete these files to resolve the issue.
# https://rt.cpan.org/Public/Bug/Display.html?id=120149
rm -rf t/203-mlfolder.mbox t/204-sgfolder.mbox
rm -rf t/203head-listgroup.t t/204head-spamgroup.t
%{?perl_default_filter}
%build
yes y |%{__perl} Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1
make
yes y | perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1
%{make_build}
%install
make pure_install DESTDIR=$RPM_BUILD_ROOT
%{_fixperms} $RPM_BUILD_ROOT/*
# Fix file encoding
recode()
{
iconv -f "$2" -t utf-8 < "$1" > "${1}_"
mv -f "${1}_" "$1"
}
recode $RPM_BUILD_ROOT%{_mandir}/man3/Mail::Message::Field.3pm iso-8859-1
%{make_install}
%{_fixperms} -c %{buildroot}
%check
make test
%files
%doc README ChangeLog
%doc ChangeLog README.md
%{perl_vendorlib}/Mail/
%{_mandir}/man3/*.3*
%{_mandir}/man3/Mail::Box::FastScalar.3*
%{_mandir}/man3/Mail::Box::Parser.3*
%{_mandir}/man3/Mail::Box::Parser::Perl.3*
%{_mandir}/man3/Mail::Message.3*
%{_mandir}/man3/Mail::Message::Body.3*
%{_mandir}/man3/Mail::Message::Body::Construct.3*
%{_mandir}/man3/Mail::Message::Body::Encode.3*
%{_mandir}/man3/Mail::Message::Body::File.3*
%{_mandir}/man3/Mail::Message::Body::Lines.3*
%{_mandir}/man3/Mail::Message::Body::Multipart.3*
%{_mandir}/man3/Mail::Message::Body::Nested.3*
%{_mandir}/man3/Mail::Message::Body::String.3*
%{_mandir}/man3/Mail::Message::Construct.3*
%{_mandir}/man3/Mail::Message::Construct::Bounce.3*
%{_mandir}/man3/Mail::Message::Construct::Build.3*
%{_mandir}/man3/Mail::Message::Construct::Forward.3*
%{_mandir}/man3/Mail::Message::Construct::Read.3*
%{_mandir}/man3/Mail::Message::Construct::Rebuild.3*
%{_mandir}/man3/Mail::Message::Construct::Reply.3*
%{_mandir}/man3/Mail::Message::Construct::Text.3*
%{_mandir}/man3/Mail::Message::Convert.3*
%{_mandir}/man3/Mail::Message::Convert::EmailSimple.3*
%{_mandir}/man3/Mail::Message::Convert::Html.3*
%{_mandir}/man3/Mail::Message::Convert::HtmlFormatPS.3*
%{_mandir}/man3/Mail::Message::Convert::HtmlFormatText.3*
%{_mandir}/man3/Mail::Message::Convert::MailInternet.3*
%{_mandir}/man3/Mail::Message::Convert::MimeEntity.3*
%{_mandir}/man3/Mail::Message::Convert::TextAutoformat.3*
%{_mandir}/man3/Mail::Message::Field.3*
%{_mandir}/man3/Mail::Message::Field::AddrGroup.3*
%{_mandir}/man3/Mail::Message::Field::Address.3*
%{_mandir}/man3/Mail::Message::Field::Addresses.3*
%{_mandir}/man3/Mail::Message::Field::Attribute.3*
%{_mandir}/man3/Mail::Message::Field::AuthResults.3*
%{_mandir}/man3/Mail::Message::Field::DKIM.3*
%{_mandir}/man3/Mail::Message::Field::Date.3*
%{_mandir}/man3/Mail::Message::Field::Fast.3*
%{_mandir}/man3/Mail::Message::Field::Flex.3*
%{_mandir}/man3/Mail::Message::Field::Full.3*
%{_mandir}/man3/Mail::Message::Field::Structured.3*
%{_mandir}/man3/Mail::Message::Field::URIs.3*
%{_mandir}/man3/Mail::Message::Field::Unstructured.3*
%{_mandir}/man3/Mail::Message::Head.3*
%{_mandir}/man3/Mail::Message::Head::Complete.3*
%{_mandir}/man3/Mail::Message::Head::FieldGroup.3*
%{_mandir}/man3/Mail::Message::Head::ListGroup.3*
%{_mandir}/man3/Mail::Message::Head::Partial.3*
%{_mandir}/man3/Mail::Message::Head::ResentGroup.3*
%{_mandir}/man3/Mail::Message::Head::SpamGroup.3*
%{_mandir}/man3/Mail::Message::Part.3*
%{_mandir}/man3/Mail::Message::Replace::MailHeader.3*
%{_mandir}/man3/Mail::Message::Replace::MailInternet.3*
%{_mandir}/man3/Mail::Message::TransferEnc.3*
%{_mandir}/man3/Mail::Message::TransferEnc::Base64.3*
%{_mandir}/man3/Mail::Message::TransferEnc::Binary.3*
%{_mandir}/man3/Mail::Message::TransferEnc::EightBit.3*
%{_mandir}/man3/Mail::Message::TransferEnc::QuotedPrint.3*
%{_mandir}/man3/Mail::Message::TransferEnc::SevenBit.3*
%{_mandir}/man3/Mail::Reporter.3*
%changelog
* Thu Oct 17 2019 Paul Howarth <paul@city-fan.org> - 3.008-5
- Add bootstrap for EPEL-8
- Spec tidy-up
- Use author-independent source URL
- Classify buildreqs by usage
- Drop redundant %%{?perl_default_filter}
- Use %%{make_build} and %%{make_install}
- Drop redundant recoding of Mail::Message::Field manpage
- Fix permissions verbosely
- Make %%files list more explicit
- Package README.md rather than README
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.008-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild