From c1d0a9658155c0f512faad7b54e20e00f3d682e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <[email protected]>
Date: Mon, 30 May 2016 14:15:40 +0200
Subject: Use pregenerated dependencies on bootstrapping

The dependencies are stored in gendep.macros file. The file be
regenerated from an RPM build log by ./generatedependencies tool.

The intended work flow is to build a new perl with RPM Perl dependency
generator available locally. Then use this ./generatedependencies tool to
convert the discovered dependencies into the gendep.macro file. Then it's
possible to build the new perl even without the RPM Perl dependency
generator available in the build root while the resulting binary
packages will still posses all dependencies.

The reason is standard perl-genererators is written in the Perl thus
perl-generators must run-require perl. Therefore there is
a build cycle. One could rewrite perl-generators.spec so that it did
not need perl for building, but the run-time dependency would still be
there.

One could claim the one run-time dependency can be satisfied by older
perl. And that's true and it has been done so until now. But that
would not solve the problem when bootrapping perl to a new architecture
or as an excercise the perl can be built without any prior perl
available (required by paranoid users). With pregenerated
dependencies, one can implement real bootstrap.

(Ultimate solution would be reimplement RPM Perl generators in C.)
---
 gendep.macros        | 1984 ++++++++++++++++++++++++++++++++++++++++++++++++++
 generatedependencies |  163 +++++
 perl.spec            |  358 ++++++++-
 3 files changed, 2503 insertions(+), 2 deletions(-)
 create mode 100644 gendep.macros
 create mode 100755 generatedependencies

diff --git a/gendep.macros b/gendep.macros
new file mode 100644
index 0000000..4552476
--- /dev/null
+++ b/gendep.macros
@@ -0,0 +1,1984 @@
+%global gendep_perl \
+Requires: perl(:VERSION) >= 5.0.0 \
+Requires: perl(:VERSION) >= 5.10.1 \
+Requires: perl(:VERSION) >= 5.3.0 \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(:VERSION) >= 5.7.0 \
+Requires: perl(:VERSION) >= 5.7.3 \
+Requires: perl(:VERSION) >= 5.8.0 \
+Requires: perl(:VERSION) >= 5.9.1 \
+Requires: perl(:VERSION) >= 5.9.4 \
+Requires: perl(B) \
+Requires: perl(B::Concise) \
+Requires: perl(B::Op_private) \
+Requires: perl(B::Terse) \
+Requires: perl(Carp) \
+Requires: perl(Class::Struct) \
+Requires: perl(Config) \
+Requires: perl(Cwd) \
+Requires: perl(Exporter) \
+Requires: perl(ExtUtils::Constant::Base) \
+Requires: perl(ExtUtils::Constant::Utils) \
+Requires: perl(ExtUtils::Constant::XS) \
+Requires: perl(Fcntl) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Path) \
+Requires: perl(File::Spec) \
+Requires: perl(File::Spec::Functions) \
+Requires: perl(I18N::LangTags) \
+Requires: perl(IO::File) \
+Requires: perl(IPC::Open3) \
+Requires: perl(Opcode) >= 1.01 \
+Requires: perl(POSIX) \
+Requires: perl(Scalar::Util) >= 1.10 \
+Requires: perl(Symbol) \
+Requires: perl(Text::Tabs) \
+Requires: perl(Text::Wrap) \
+Requires: perl(Tie::Handle) \
+Requires: perl(Tie::Hash) \
+Requires: perl(Tie::StdHandle) \
+Requires: perl(Time::tm) \
+Requires: perl(Unicode::Normalize) \
+Requires: perl(XSLoader) \
+Requires: perl(_charnames) \
+Requires: perl(bytes) \
+Requires: perl(charnames) \
+Requires: perl(constant) \
+Requires: perl(feature) \
+Requires: perl(if) \
+Requires: perl(integer) \
+Requires: perl(overload) \
+Requires: perl(parent) \
+Requires: perl(re) \
+Requires: perl(strict) \
+Requires: perl(subs) \
+Requires: perl(threads) \
+Requires: perl(threads::shared) \
+Requires: perl(unicore::Name) \
+Requires: perl(utf8) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Requires: perl(warnings::register) \
+Provides: perl(AnyDBM_File) = 1.01 \
+Provides: perl(AutoLoader) = 5.74 \
+Provides: perl(AutoSplit) = 1.06 \
+Provides: perl(B) = 1.62 \
+Provides: perl(B::Concise) = 0.996 \
+Provides: perl(B::Deparse) = 1.37 \
+Provides: perl(B::OBJECT) \
+Provides: perl(B::Op_private) = 5.024000 \
+Provides: perl(B::Showlex) = 1.05 \
+Provides: perl(B::Terse) = 1.06 \
+Provides: perl(B::Xref) = 1.05 \
+Provides: perl(Benchmark) = 1.22 \
+Provides: perl(Class::Struct) = 0.65 \
+Provides: perl(Class::Struct::Tie_ISA) \
+Provides: perl(Config) = 5.024000 \
+Provides: perl(Config::Extensions) = 0.01 \
+Provides: perl(DB) = 1.08 \
+Provides: perl(DBM_Filter) = 0.06 \
+Provides: perl(DBM_Filter::compress) = 0.03 \
+Provides: perl(DBM_Filter::encode) = 0.03 \
+Provides: perl(DBM_Filter::int32) = 0.03 \
+Provides: perl(DBM_Filter::null) = 0.03 \
+Provides: perl(DBM_Filter::utf8) = 0.03 \
+Provides: perl(DirHandle) = 1.04 \
+Provides: perl(Dumpvalue) = 1.18 \
+Provides: perl(DynaLoader) = 1.38 \
+Provides: perl(EVERY) \
+Provides: perl(EVERY::LAST) \
+Provides: perl(English) = 1.10 \
+Provides: perl(ExtUtils::Constant) = 0.23 \
+Provides: perl(ExtUtils::Constant::Base) = 0.05 \
+Provides: perl(ExtUtils::Constant::ProxySubs) = 0.08 \
+Provides: perl(ExtUtils::Constant::Utils) = 0.03 \
+Provides: perl(ExtUtils::Constant::XS) = 0.03 \
+Provides: perl(Fcntl) = 1.13 \
+Provides: perl(File::Basename) = 2.85 \
+Provides: perl(File::Compare) = 1.1006 \
+Provides: perl(File::Copy) = 2.31 \
+Provides: perl(File::DosGlob) = 1.12 \
+Provides: perl(File::Find) = 1.34 \
+Provides: perl(File::Glob) = 1.26 \
+Provides: perl(File::stat) = 1.07 \
+Provides: perl(FileCache) = 1.09 \
+Provides: perl(FileHandle) = 2.02 \
+Provides: perl(FindBin) = 1.51 \
+Provides: perl(GDBM_File) = 1.15 \
+Provides: perl(Getopt::Std) = 1.11 \
+Provides: perl(Hash::Util) = 0.19 \
+Provides: perl(Hash::Util::FieldHash) = 1.19 \
+Provides: perl(I18N::Collate) = 1.02 \
+Provides: perl(I18N::LangTags) = 0.40 \
+Provides: perl(I18N::LangTags::Detect) = 1.05 \
+Provides: perl(I18N::LangTags::List) = 0.39 \
+Provides: perl(I18N::Langinfo) = 0.13 \
+Provides: perl(IPC::Open2) = 1.04 \
+Provides: perl(IPC::Open3) = 1.20 \
+Provides: perl(NDBM_File) = 1.14 \
+Provides: perl(NEXT) = 0.65 \
+Provides: perl(NEXT::ACTUAL) \
+Provides: perl(NEXT::ACTUAL::DISTINCT) \
+Provides: perl(NEXT::ACTUAL::UNSEEN) \
+Provides: perl(NEXT::DISTINCT) \
+Provides: perl(NEXT::DISTINCT::ACTUAL) \
+Provides: perl(NEXT::UNSEEN) \
+Provides: perl(NEXT::UNSEEN::ACTUAL) \
+Provides: perl(Net::hostent) = 1.01 \
+Provides: perl(Net::netent) = 1.00 \
+Provides: perl(Net::protoent) = 1.00 \
+Provides: perl(Net::servent) = 1.01 \
+Provides: perl(O) = 1.01 \
+Provides: perl(ODBM_File) = 1.14 \
+Provides: perl(Opcode) = 1.34 \
+Provides: perl(POSIX) = 1.65 \
+Provides: perl(POSIX::SigAction) \
+Provides: perl(POSIX::SigRt) \
+Provides: perl(POSIX::SigSet) \
+Provides: perl(PerlIO) = 1.09 \
+Provides: perl(PerlIO::encoding) = 0.24 \
+Provides: perl(PerlIO::mmap) = 0.016 \
+Provides: perl(PerlIO::scalar) = 0.24 \
+Provides: perl(PerlIO::via) = 0.16 \
+Provides: perl(Pod::Functions) = 1.10 \
+Provides: perl(SDBM_File) = 1.14 \
+Provides: perl(Safe) = 2.39 \
+Provides: perl(Search::Dict) = 1.07 \
+Provides: perl(SelectSaver) = 1.02 \
+Provides: perl(Symbol) = 1.07 \
+Provides: perl(Sys::Hostname) = 1.20 \
+Provides: perl(Term::Complete) = 1.403 \
+Provides: perl(Term::ReadLine) = 1.15 \
+Provides: perl(Term::ReadLine::Stub) \
+Provides: perl(Term::ReadLine::TermCap) \
+Provides: perl(Term::ReadLine::Tk) \
+Provides: perl(Text::Abbrev) = 1.02 \
+Provides: perl(Thread) = 3.04 \
+Provides: perl(Thread::Semaphore) = 2.12 \
+Provides: perl(Tie::Array) = 1.06 \
+Provides: perl(Tie::ExtraHash) \
+Provides: perl(Tie::File) = 1.02 \
+Provides: perl(Tie::File::Cache) \
+Provides: perl(Tie::File::Heap) \
+Provides: perl(Tie::Handle) = 4.2 \
+Provides: perl(Tie::Hash) \
+Provides: perl(Tie::Hash) = 1.05 \
+Provides: perl(Tie::Hash::NamedCapture) = 0.09 \
+Provides: perl(Tie::Memoize) = 1.1 \
+Provides: perl(Tie::RefHash) = 1.39 \
+Provides: perl(Tie::RefHash::Nestable) \
+Provides: perl(Tie::Scalar) = 1.04 \
+Provides: perl(Tie::StdArray) \
+Provides: perl(Tie::StdHandle) = 4.4 \
+Provides: perl(Tie::StdHash) \
+Provides: perl(Tie::StdScalar) \
+Provides: perl(Tie::SubstrHash) = 1.00 \
+Provides: perl(Time::gmtime) = 1.03 \
+Provides: perl(Time::localtime) = 1.02 \
+Provides: perl(Time::tm) = 1.00 \
+Provides: perl(UNIVERSAL) = 1.13 \
+Provides: perl(Unicode::UCD) = 0.64 \
+Provides: perl(User::grent) = 1.01 \
+Provides: perl(User::pwent) = 1.00 \
+Provides: perl(_charnames) = 1.43 \
+Provides: perl(arybase) = 0.11 \
+Provides: perl(attributes) = 0.27 \
+Provides: perl(autouse) = 1.11 \
+Provides: perl(base) = 2.23 \
+Provides: perl(blib) = 1.06 \
+Provides: perl(bytes) = 1.05 \
+Provides: perl(bytes_heavy.pl) \
+Provides: perl(charnames) = 1.43 \
+Provides: perl(deprecate) = 0.03 \
+Provides: perl(diagnostics) = 1.34 \
+Provides: perl(dumpvar.pl) \
+Provides: perl(encoding::warnings) = 0.12 \
+Provides: perl(feature) = 1.42 \
+Provides: perl(fields) = 2.23 \
+Provides: perl(filetest) = 1.03 \
+Provides: perl(if) = 0.0606 \
+Provides: perl(less) = 0.03 \
+Provides: perl(lib) = 0.63 \
+Provides: perl(locale) = 1.09 \
+Provides: perl(mro) = 1.18 \
+Provides: perl(ops) = 1.02 \
+Provides: perl(overload) = 1.26 \
+Provides: perl(overload::numbers) \
+Provides: perl(overloading) = 0.02 \
+Provides: perl(perl5db.pl) \
+Provides: perl(sigtrap) = 1.08 \
+Provides: perl(sort) = 2.02 \
+Provides: perl(subs) = 1.02 \
+Provides: perl(vars) = 1.03 \
+Provides: perl(vmsish) = 1.04 \
+Provides: perl(warnings::register) = 1.04 \
+Provides: perl(x86-64) = 4:5.24.0-364.fc25 \
+%{nil}
+%global gendep_perl_Archive_Tar \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(Archive::Tar) \
+Requires: perl(Archive::Tar::Constant) \
+Requires: perl(Archive::Tar::File) \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Cwd) \
+Requires: perl(Data::Dumper) \
+Requires: perl(Exporter) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Find) \
+Requires: perl(File::Path) \
+Requires: perl(File::Spec) \
+Requires: perl(File::Spec::Unix) \
+Requires: perl(Getopt::Long) \
+Requires: perl(Getopt::Std) \
+Requires: perl(IO::File) \
+Requires: perl(IO::Handle) \
+Requires: perl(IO::Zlib) \
+Requires: perl(Pod::Usage) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Archive::Tar) = 2.04 \
+Provides: perl(Archive::Tar::Constant) = 2.04 \
+Provides: perl(Archive::Tar::File) = 2.04 \
+%{nil}
+%global gendep_perl_Attribute_Handlers \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Attribute::Handlers) = 0.99 \
+%{nil}
+%global gendep_perl_B_Debug \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(B) \
+Requires: perl(Config) \
+Requires: perl(strict) \
+Provides: perl(B::Debug) = 1.23 \
+%{nil}
+%global gendep_perl_CPAN \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(App::Cpan) \
+Requires: perl(CPAN) >= 1.80 \
+Requires: perl(CPAN::Author) \
+Requires: perl(CPAN::Bundle) \
+Requires: perl(CPAN::CacheMgr) \
+Requires: perl(CPAN::Complete) \
+Requires: perl(CPAN::Debug) \
+Requires: perl(CPAN::DeferredCode) \
+Requires: perl(CPAN::Distribution) \
+Requires: perl(CPAN::Distroprefs) \
+Requires: perl(CPAN::Distrostatus) \
+Requires: perl(CPAN::Exception::RecursiveDependency) \
+Requires: perl(CPAN::Exception::yaml_not_installed) \
+Requires: perl(CPAN::Exception::yaml_process_error) \
+Requires: perl(CPAN::FTP) \
+Requires: perl(CPAN::FTP::netrc) \
+Requires: perl(CPAN::HTTP::Credentials) \
+Requires: perl(CPAN::HandleConfig) \
+Requires: perl(CPAN::Index) >= 1.93 \
+Requires: perl(CPAN::InfoObj) \
+Requires: perl(CPAN::LWP::UserAgent) \
+Requires: perl(CPAN::Mirrors) \
+Requires: perl(CPAN::Module) \
+Requires: perl(CPAN::Prompt) \
+Requires: perl(CPAN::Queue) \
+Requires: perl(CPAN::Shell) \
+Requires: perl(CPAN::Tarzip) \
+Requires: perl(CPAN::URL) \
+Requires: perl(CPAN::Version) \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Cwd) \
+Requires: perl(DirHandle) \
+Requires: perl(Exporter) \
+Requires: perl(ExtUtils::MakeMaker) \
+Requires: perl(Fcntl) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Copy) \
+Requires: perl(File::Find) \
+Requires: perl(File::Path) \
+Requires: perl(File::Spec) \
+Requires: perl(File::Spec::Functions) \
+Requires: perl(FileHandle) \
+Requires: perl(Getopt::Std) \
+Requires: perl(HTTP::Tiny) >= 0.005 \
+Requires: perl(Net::Ping) \
+Requires: perl(Safe) \
+Requires: perl(Sys::Hostname) \
+Requires: perl(Text::ParseWords) \
+Requires: perl(Text::Wrap) \
+Requires: perl(autouse) \
+Requires: perl(constant) \
+Requires: perl(if) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(App::Cpan) = 1.63 \
+Provides: perl(CPAN) = 2.11 \
+Provides: perl(CPAN::Author) = 5.5002 \
+Provides: perl(CPAN::Bundle) = 5.5001 \
+Provides: perl(CPAN::CacheMgr) = 5.5002 \
+Provides: perl(CPAN::Complete) = 5.5001 \
+Provides: perl(CPAN::Debug) = 5.5001 \
+Provides: perl(CPAN::DeferredCode) = 5.50 \
+Provides: perl(CPAN::Distribution) = 2.04 \
+Provides: perl(CPAN::Distroprefs) = 6.0001 \
+Provides: perl(CPAN::Distroprefs::Iterator) \
+Provides: perl(CPAN::Distroprefs::Pref) \
+Provides: perl(CPAN::Distroprefs::Result) \
+Provides: perl(CPAN::Distroprefs::Result::Error) \
+Provides: perl(CPAN::Distroprefs::Result::Fatal) \
+Provides: perl(CPAN::Distroprefs::Result::Success) \
+Provides: perl(CPAN::Distroprefs::Result::Warning) \
+Provides: perl(CPAN::Distrostatus) = 5.5 \
+Provides: perl(CPAN::Eval) \
+Provides: perl(CPAN::Exception::RecursiveDependency) = 5.5 \
+Provides: perl(CPAN::Exception::blocked_urllist) = 1.001 \
+Provides: perl(CPAN::Exception::yaml_not_installed) = 5.5 \
+Provides: perl(CPAN::Exception::yaml_process_error) = 5.5 \
+Provides: perl(CPAN::FTP) = 5.5006 \
+Provides: perl(CPAN::FTP::netrc) = 1.01 \
+Provides: perl(CPAN::FirstTime) = 5.5307 \
+Provides: perl(CPAN::HTTP::Client) = 1.9601 \
+Provides: perl(CPAN::HTTP::Credentials) = 1.9601 \
+Provides: perl(CPAN::HandleConfig) = 5.5006 \
+Provides: perl(CPAN::Index) = 1.9601 \
+Provides: perl(CPAN::InfoObj) = 5.5 \
+Provides: perl(CPAN::Kwalify) = 5.50 \
+Provides: perl(CPAN::LWP::UserAgent) = 1.9601 \
+Provides: perl(CPAN::Mirrored::By) \
+Provides: perl(CPAN::Mirrors) = 1.9601 \
+Provides: perl(CPAN::Module) = 5.5002 \
+Provides: perl(CPAN::Nox) = 5.5001 \
+Provides: perl(CPAN::Plugin) = 0.95 \
+Provides: perl(CPAN::Plugin::Specfile) = 0.01 \
+Provides: perl(CPAN::Prompt) = 5.5 \
+Provides: perl(CPAN::Queue) = 5.5002 \
+Provides: perl(CPAN::Queue::Item) \
+Provides: perl(CPAN::Shell) = 5.5005 \
+Provides: perl(CPAN::Tarzip) = 5.5012 \
+Provides: perl(CPAN::URL) = 5.5 \
+Provides: perl(CPAN::Version) = 5.5003 \
+%{nil}
+%global gendep_perl_CPAN_Meta \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(CPAN::Meta::Converter) >= 2.141170 \
+Requires: perl(CPAN::Meta::Feature) \
+Requires: perl(CPAN::Meta::Prereqs) \
+Requires: perl(CPAN::Meta::Requirements) >= 2.121 \
+Requires: perl(CPAN::Meta::Validator) \
+Requires: perl(Carp) \
+Requires: perl(Parse::CPAN::Meta) >= 1.4400 \
+Requires: perl(Parse::CPAN::Meta) >= 1.4414 \
+Requires: perl(Scalar::Util) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(CPAN::Meta) = 2.150005 \
+Provides: perl(CPAN::Meta::Converter) = 2.150005 \
+Provides: perl(CPAN::Meta::Feature) = 2.150005 \
+Provides: perl(CPAN::Meta::History) = 2.150005 \
+Provides: perl(CPAN::Meta::Merge) = 2.150005 \
+Provides: perl(CPAN::Meta::Prereqs) = 2.150005 \
+Provides: perl(CPAN::Meta::Spec) = 2.150005 \
+Provides: perl(CPAN::Meta::Validator) = 2.150005 \
+%{nil}
+%global gendep_perl_CPAN_Meta_Requirements \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(CPAN::Meta::Requirements) = 2.132000 \
+%{nil}
+%global gendep_perl_CPAN_Meta_YAML \
+Requires: perl(:VERSION) >= 5.8.1 \
+Requires: perl(B) \
+Requires: perl(Exporter) \
+Requires: perl(Scalar::Util) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(CPAN::Meta::YAML) = 0.018 \
+%{nil}
+%global gendep_perl_Carp \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Carp) = 1.40 \
+Provides: perl(Carp::Heavy) = 1.40 \
+Provides: perl(Carp::Heavy) = 1.40 \
+%{nil}
+%global gendep_perl_Compress_Raw_Bzip2 \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(bytes) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Compress::Raw::Bzip2) = 2.069 \
+%{nil}
+%global gendep_perl_Compress_Raw_Zlib \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(bytes) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Compress::Raw::Zlib) = 2.069 \
+%{nil}
+%global gendep_perl_Config_Perl_V \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Config::Perl::V) = 0.25 \
+%{nil}
+%global gendep_perl_DB_File \
+Requires: perl(:VERSION) >= 5.8.3 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(File::Spec) \
+Requires: perl(Tie::Hash) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(DB_File) = 1.835 \
+Provides: perl(DB_File::BTREEINFO) \
+Provides: perl(DB_File::HASHINFO) \
+Provides: perl(DB_File::RECNOINFO) \
+%{nil}
+%global gendep_perl_Data_Dumper \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(constant) \
+Requires: perl(overload) \
+Provides: perl(Data::Dumper) = 2.160 \
+%{nil}
+%global gendep_perl_Devel_PPPort \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Devel::PPPort) = 3.32 \
+%{nil}
+%global gendep_perl_Devel_Peek \
+Requires: perl(Exporter) \
+Requires: perl(XSLoader) \
+Provides: perl(Devel::Peek) = 1.23 \
+%{nil}
+%global gendep_perl_Devel_SelfStubber \
+Requires: perl(File::Spec) \
+Requires: perl(SelfLoader) \
+Provides: perl(Devel::SelfStubber) = 1.05 \
+%{nil}
+%global gendep_perl_Digest \
+Requires: perl(Carp) \
+Requires: perl(Digest) \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Digest) = 1.17 \
+Provides: perl(Digest::base) = 1.16 \
+Provides: perl(Digest::file) = 1.16 \
+%{nil}
+%global gendep_perl_Digest_MD5 \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Digest::MD5) = 2.54 \
+%{nil}
+%global gendep_perl_Digest_SHA \
+Requires: perl(:VERSION) >= 5.3.0 \
+Requires: perl(DynaLoader) \
+Requires: perl(Exporter) \
+Requires: perl(Fcntl) \
+Requires: perl(Getopt::Long) \
+Requires: perl(integer) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Digest::SHA) = 5.95 \
+%{nil}
+%global gendep_perl_Encode \
+Requires: perl(:VERSION) >= 5.8.0 \
+Requires: perl(:VERSION) >= 5.8.1 \
+Requires: perl(Carp) \
+Requires: perl(Encode) \
+Requires: perl(Encode::Alias) \
+Requires: perl(Encode::CJKConstants) \
+Requires: perl(Encode::CN::HZ) \
+Requires: perl(Encode::Config) \
+Requires: perl(Encode::Encoding) \
+Requires: perl(Encode::Guess) \
+Requires: perl(Encode::JP::JIS7) \
+Requires: perl(Encode::KR::2022_KR) \
+Requires: perl(Encode::MIME::Header) \
+Requires: perl(Encode::Unicode) \
+Requires: perl(Exporter) >= 5.57 \
+Requires: perl(File::Basename) \
+Requires: perl(Getopt::Long) \
+Requires: perl(Getopt::Std) \
+Requires: perl(MIME::Base64) \
+Requires: perl(XSLoader) \
+Requires: perl(bytes) \
+Requires: perl(constant) \
+Requires: perl(overload) \
+Requires: perl(parent) \
+Requires: perl(re) \
+Requires: perl(strict) \
+Requires: perl(utf8) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Encode) = 2.80 \
+Provides: perl(Encode::Alias) = 2.20 \
+Provides: perl(Encode::Byte) = 2.4 \
+Provides: perl(Encode::CJKConstants) = 2.2 \
+Provides: perl(Encode::CN) = 2.3 \
+Provides: perl(Encode::CN::HZ) = 2.7 \
+Provides: perl(Encode::Config) = 2.5 \
+Provides: perl(Encode::EBCDIC) = 2.2 \
+Provides: perl(Encode::Encoder) = 2.3 \
+Provides: perl(Encode::Encoding) = 2.7 \
+Provides: perl(Encode::GSM0338) = 2.5 \
+Provides: perl(Encode::Guess) = 2.6 \
+Provides: perl(Encode::Internal) \
+Provides: perl(Encode::JP) = 2.4 \
+Provides: perl(Encode::JP::H2Z) = 2.2 \
+Provides: perl(Encode::JP::JIS7) = 2.5 \
+Provides: perl(Encode::KR) = 2.3 \
+Provides: perl(Encode::KR::2022_KR) = 2.3 \
+Provides: perl(Encode::MIME::Header) = 2.19 \
+Provides: perl(Encode::MIME::Header::ISO_2022_JP) = 1.4 \
+Provides: perl(Encode::MIME::Name) = 1.1 \
+Provides: perl(Encode::Symbol) = 2.2 \
+Provides: perl(Encode::TW) = 2.3 \
+Provides: perl(Encode::UTF_EBCDIC) \
+Provides: perl(Encode::Unicode) = 2.15 \
+Provides: perl(Encode::Unicode::UTF7) = 2.8 \
+Provides: perl(Encode::XS) \
+Provides: perl(Encode::utf8) \
+%{nil}
+%global gendep_perl_Encode_devel \
+Requires: perl(Config) \
+Requires: perl(File::Find) \
+Requires: perl(Getopt::Std) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+%{nil}
+%global gendep_perl_Env \
+Requires: perl(Config) \
+Requires: perl(Tie::Array) \
+Provides: perl(Env) = 1.04 \
+Provides: perl(Env::Array) \
+Provides: perl(Env::Array::VMS) \
+%{nil}
+%global gendep_perl_Errno \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Provides: perl(Errno) = 1.25 \
+%{nil}
+%global gendep_perl_Exporter \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Provides: perl(Exporter) = 5.72 \
+Provides: perl(Exporter::Heavy) \
+%{nil}
+%global gendep_perl_ExtUtils_CBuilder \
+Requires: perl(Config) \
+Requires: perl(Cwd) \
+Requires: perl(ExtUtils::CBuilder::Base) \
+Requires: perl(ExtUtils::CBuilder::Platform::Unix) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Path) \
+Requires: perl(File::Spec) \
+Requires: perl(File::Spec::Functions) \
+Requires: perl(File::Temp) \
+Requires: perl(IO::File) \
+Requires: perl(IPC::Cmd) \
+Requires: perl(Perl::OSType) \
+Requires: perl(Text::ParseWords) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(ExtUtils::CBuilder) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Base) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::Unix) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::VMS) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::Windows) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::Windows::BCC) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::Windows::GCC) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::Windows::MSVC) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::aix) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::android) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::cygwin) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::darwin) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::dec_osf) = 0.280225 \
+Provides: perl(ExtUtils::CBuilder::Platform::linux) = 0.280206 \
+Provides: perl(ExtUtils::CBuilder::Platform::os2) = 0.280225 \
+%{nil}
+%global gendep_perl_ExtUtils_Command \
+Requires: perl(:VERSION) >= 5.5.30 \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(ExtUtils::Command) = 7.10 \
+%{nil}
+%global gendep_perl_ExtUtils_Embed \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(File::Spec) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(ExtUtils::Embed) = 1.33 \
+%{nil}
+%global gendep_perl_ExtUtils_Install \
+Requires: perl(:VERSION) >= 5.5.30 \
+Requires: perl(AutoSplit) \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Cwd) \
+Requires: perl(Exporter) \
+Requires: perl(ExtUtils::MakeMaker) \
+Requires: perl(ExtUtils::Packlist) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Compare) \
+Requires: perl(File::Copy) \
+Requires: perl(File::Find) \
+Requires: perl(File::Path) \
+Requires: perl(File::Spec) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(ExtUtils::Install) = 2.04 \
+Provides: perl(ExtUtils::Install::Warn) \
+Provides: perl(ExtUtils::Installed) = 2.04 \
+Provides: perl(ExtUtils::Packlist) = 2.04 \
+%{nil}
+%global gendep_perl_ExtUtils_MM_Utils \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(ExtUtils::MM::Utils) = 7.11 \
+%{nil}
+%global gendep_perl_ExtUtils_MakeMaker \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(:VERSION) >= 5.6.2 \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Cwd) \
+Requires: perl(DirHandle) \
+Requires: perl(Encode) \
+Requires: perl(Encode::Alias) \
+Requires: perl(Exporter) \
+Requires: perl(ExtUtils::Installed) \
+Requires: perl(ExtUtils::Liblist) \
+Requires: perl(ExtUtils::Liblist::Kid) \
+Requires: perl(ExtUtils::MM) \
+Requires: perl(ExtUtils::MM_Any) \
+Requires: perl(ExtUtils::MM_Unix) \
+Requires: perl(ExtUtils::MM_Win32) \
+Requires: perl(ExtUtils::MY) \
+Requires: perl(ExtUtils::MakeMaker) \
+Requires: perl(ExtUtils::MakeMaker::Config) \
+Requires: perl(ExtUtils::MakeMaker::version) \
+Requires: perl(ExtUtils::Packlist) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Path) \
+Requires: perl(File::Spec) \
+Requires: perl(IO::File) \
+Requires: perl(base) \
+Requires: perl(lib) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(ExtUtils::Command::MM) = 7.10 \
+Provides: perl(ExtUtils::Liblist) = 7.10 \
+Provides: perl(ExtUtils::Liblist::Kid) = 7.10 \
+Provides: perl(ExtUtils::MM) = 7.10 \
+Provides: perl(ExtUtils::MM_AIX) = 7.10 \
+Provides: perl(ExtUtils::MM_Any) = 7.10 \
+Provides: perl(ExtUtils::MM_BeOS) = 7.10 \
+Provides: perl(ExtUtils::MM_Cygwin) = 7.10 \
+Provides: perl(ExtUtils::MM_DOS) = 7.10 \
+Provides: perl(ExtUtils::MM_Darwin) = 7.10 \
+Provides: perl(ExtUtils::MM_MacOS) = 7.10 \
+Provides: perl(ExtUtils::MM_NW5) = 7.10 \
+Provides: perl(ExtUtils::MM_OS2) = 7.10 \
+Provides: perl(ExtUtils::MM_QNX) = 7.10 \
+Provides: perl(ExtUtils::MM_UWIN) = 7.10 \
+Provides: perl(ExtUtils::MM_Unix) = 7.10 \
+Provides: perl(ExtUtils::MM_VMS) = 7.10 \
+Provides: perl(ExtUtils::MM_VOS) = 7.10 \
+Provides: perl(ExtUtils::MM_Win32) = 7.10 \
+Provides: perl(ExtUtils::MM_Win95) = 7.10 \
+Provides: perl(ExtUtils::MY) = 7.10 \
+Provides: perl(ExtUtils::MakeMaker) = 7.10 \
+Provides: perl(ExtUtils::MakeMaker::Config) = 7.10 \
+Provides: perl(ExtUtils::MakeMaker::Locale) = 7.10 \
+Provides: perl(ExtUtils::MakeMaker::version) = 7.10 \
+Provides: perl(ExtUtils::Mkbootstrap) = 7.10 \
+Provides: perl(ExtUtils::Mksymlists) = 7.10 \
+Provides: perl(ExtUtils::testlib) = 7.10 \
+Provides: perl(MM) \
+Provides: perl(MY) \
+%{nil}
+%global gendep_perl_ExtUtils_Manifest \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Copy) \
+Requires: perl(File::Find) \
+Requires: perl(File::Spec) >= 0.8 \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(ExtUtils::Manifest) = 1.70 \
+%{nil}
+%global gendep_perl_ExtUtils_Miniperl \
+Requires: perl(Exporter) \
+Requires: perl(ExtUtils::Embed) >= 1.31 \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(ExtUtils::Miniperl) = 1.05 \
+%{nil}
+%global gendep_perl_ExtUtils_ParseXS \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(:VERSION) >= 5.6.1 \
+Requires: perl(Config) \
+Requires: perl(Cwd) \
+Requires: perl(Exporter) \
+Requires: perl(ExtUtils::ParseXS) \
+Requires: perl(ExtUtils::ParseXS::Constants) \
+Requires: perl(ExtUtils::ParseXS::CountLines) \
+Requires: perl(ExtUtils::ParseXS::Eval) \
+Requires: perl(ExtUtils::ParseXS::Utilities) \
+Requires: perl(ExtUtils::Typemaps) \
+Requires: perl(ExtUtils::Typemaps::InputMap) \
+Requires: perl(ExtUtils::Typemaps::OutputMap) \
+Requires: perl(ExtUtils::Typemaps::Type) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Spec) \
+Requires: perl(Getopt::Long) \
+Requires: perl(Symbol) \
+Requires: perl(re) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(ExtUtils::ParseXS) = 3.31 \
+Provides: perl(ExtUtils::ParseXS::Constants) = 3.31 \
+Provides: perl(ExtUtils::ParseXS::CountLines) = 3.31 \
+Provides: perl(ExtUtils::ParseXS::Eval) = 3.31 \
+Provides: perl(ExtUtils::ParseXS::Utilities) = 3.31 \
+Provides: perl(ExtUtils::Typemaps) = 3.31 \
+Provides: perl(ExtUtils::Typemaps::Cmd) = 3.31 \
+Provides: perl(ExtUtils::Typemaps::InputMap) = 3.31 \
+Provides: perl(ExtUtils::Typemaps::OutputMap) = 3.31 \
+Provides: perl(ExtUtils::Typemaps::Type) = 3.31 \
+%{nil}
+%global gendep_perl_File_Fetch \
+Requires: perl(Carp) \
+Requires: perl(Cwd) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Copy) \
+Requires: perl(File::Path) \
+Requires: perl(File::Spec) \
+Requires: perl(File::Spec::Unix) \
+Requires: perl(File::Temp) \
+Requires: perl(FileHandle) \
+Requires: perl(IPC::Cmd) \
+Requires: perl(Locale::Maketext::Simple) \
+Requires: perl(Module::Load::Conditional) \
+Requires: perl(Params::Check) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(File::Fetch) = 0.48 \
+%{nil}
+%global gendep_perl_File_Path \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(Cwd) \
+Requires: perl(Exporter) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Spec) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(File::Path) = 2.12 \
+%{nil}
+%global gendep_perl_File_Temp \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Cwd) \
+Requires: perl(Errno) \
+Requires: perl(Exporter) >= 5.57 \
+Requires: perl(Fcntl) >= 1.03 \
+Requires: perl(File::Path) >= 2.06 \
+Requires: perl(File::Spec) >= 0.8 \
+Requires: perl(IO::Handle) \
+Requires: perl(IO::Seekable) \
+Requires: perl(Scalar::Util) \
+Requires: perl(Symbol) \
+Requires: perl(constant) \
+Requires: perl(overload) \
+Requires: perl(parent) >= 0.221 \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(File::Temp) = 0.2304 \
+Provides: perl(File::Temp::Dir) \
+%{nil}
+%global gendep_perl_Filter \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(Carp) \
+Requires: perl(DynaLoader) \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Filter::Util::Call) = 1.55 \
+%{nil}
+%global gendep_perl_Filter_Simple \
+Requires: perl(Carp) \
+Requires: perl(Filter::Util::Call) \
+Requires: perl(Text::Balanced) \
+Requires: perl(vars) \
+Provides: perl(Filter::Simple) = 0.92 \
+%{nil}
+%global gendep_perl_Getopt_Long \
+Requires: perl(:VERSION) >= 5.4.0 \
+Requires: perl(Exporter) \
+Requires: perl(constant) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Getopt::Long) = 2.48 \
+Provides: perl(Getopt::Long::CallBack) \
+Provides: perl(Getopt::Long::Parser) \
+%{nil}
+%global gendep_perl_HTTP_Tiny \
+Requires: perl(Carp) \
+Requires: perl(Errno) \
+Requires: perl(IO::Socket) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(HTTP::Tiny) = 0.056 \
+%{nil}
+%global gendep_perl_IO \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Errno) \
+Requires: perl(Exporter) \
+Requires: perl(Fcntl) \
+Requires: perl(File::Spec) \
+Requires: perl(File::stat) \
+Requires: perl(IO) \
+Requires: perl(IO::File) \
+Requires: perl(IO::Handle) \
+Requires: perl(IO::Seekable) \
+Requires: perl(IO::Socket) \
+Requires: perl(IO::Socket::INET) \
+Requires: perl(IO::Socket::UNIX) \
+Requires: perl(SelectSaver) \
+Requires: perl(Socket) >= 1.3 \
+Requires: perl(Symbol) \
+Requires: perl(Tie::Hash) \
+Requires: perl(XSLoader) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Requires: perl(warnings::register) \
+Provides: perl(IO) = 1.36 \
+Provides: perl(IO::Dir) = 1.10 \
+Provides: perl(IO::File) = 1.16 \
+Provides: perl(IO::Handle) = 1.36 \
+Provides: perl(IO::Pipe) = 1.15 \
+Provides: perl(IO::Pipe::End) \
+Provides: perl(IO::Poll) = 0.10 \
+Provides: perl(IO::Seekable) = 1.10 \
+Provides: perl(IO::Select) = 1.22 \
+Provides: perl(IO::Socket) = 1.38 \
+Provides: perl(IO::Socket::INET) = 1.35 \
+Provides: perl(IO::Socket::UNIX) = 1.26 \
+%{nil}
+%global gendep_perl_IO_Compress \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Compress::Raw::Bzip2) >= 2.069 \
+Requires: perl(Compress::Raw::Zlib) >= 2.069 \
+Requires: perl(Config) \
+Requires: perl(Encode) \
+Requires: perl(Exporter) \
+Requires: perl(Fcntl) \
+Requires: perl(File::GlobMapper) \
+Requires: perl(File::Spec) \
+Requires: perl(IO::Compress::Adapter::Bzip2) >= 2.069 \
+Requires: perl(IO::Compress::Adapter::Deflate) >= 2.069 \
+Requires: perl(IO::Compress::Adapter::Identity) >= 2.069 \
+Requires: perl(IO::Compress::Base) >= 2.069 \
+Requires: perl(IO::Compress::Base::Common) >= 2.069 \
+Requires: perl(IO::Compress::Gzip) >= 2.069 \
+Requires: perl(IO::Compress::Gzip::Constants) >= 2.069 \
+Requires: perl(IO::Compress::RawDeflate) >= 2.069 \
+Requires: perl(IO::Compress::Zip::Constants) >= 2.069 \
+Requires: perl(IO::Compress::Zlib::Constants) >= 2.069 \
+Requires: perl(IO::Compress::Zlib::Extra) >= 2.069 \
+Requires: perl(IO::File) \
+Requires: perl(IO::Handle) \
+Requires: perl(IO::Uncompress::Adapter::Bunzip2) >= 2.069 \
+Requires: perl(IO::Uncompress::Adapter::Identity) >= 2.069 \
+Requires: perl(IO::Uncompress::Adapter::Inflate) >= 2.069 \
+Requires: perl(IO::Uncompress::Base) >= 2.069 \
+Requires: perl(IO::Uncompress::Gunzip) >= 2.069 \
+Requires: perl(IO::Uncompress::Inflate) >= 2.069 \
+Requires: perl(IO::Uncompress::RawInflate) >= 2.069 \
+Requires: perl(IO::Uncompress::Unzip) >= 2.069 \
+Requires: perl(List::Util) \
+Requires: perl(POSIX) \
+Requires: perl(Scalar::Util) \
+Requires: perl(Symbol) \
+Requires: perl(bytes) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(utf8) \
+Requires: perl(warnings) \
+Provides: perl(Compress::Zlib) = 2.069 \
+Provides: perl(File::GlobMapper) = 1.000 \
+Provides: perl(IO::Compress::Adapter::Bzip2) = 2.069 \
+Provides: perl(IO::Compress::Adapter::Deflate) = 2.069 \
+Provides: perl(IO::Compress::Adapter::Identity) = 2.069 \
+Provides: perl(IO::Compress::Base) = 2.069 \
+Provides: perl(IO::Compress::Base::Common) = 2.069 \
+Provides: perl(IO::Compress::Bzip2) = 2.069 \
+Provides: perl(IO::Compress::Deflate) = 2.069 \
+Provides: perl(IO::Compress::Gzip) = 2.069 \
+Provides: perl(IO::Compress::Gzip::Constants) = 2.069 \
+Provides: perl(IO::Compress::RawDeflate) = 2.069 \
+Provides: perl(IO::Compress::Zip) = 2.069 \
+Provides: perl(IO::Compress::Zip::Constants) = 2.069 \
+Provides: perl(IO::Compress::Zlib::Constants) = 2.069 \
+Provides: perl(IO::Compress::Zlib::Extra) = 2.069 \
+Provides: perl(IO::Uncompress::Adapter::Bunzip2) = 2.069 \
+Provides: perl(IO::Uncompress::Adapter::Identity) = 2.069 \
+Provides: perl(IO::Uncompress::Adapter::Inflate) = 2.069 \
+Provides: perl(IO::Uncompress::AnyInflate) = 2.069 \
+Provides: perl(IO::Uncompress::AnyUncompress) = 2.069 \
+Provides: perl(IO::Uncompress::Base) = 2.069 \
+Provides: perl(IO::Uncompress::Bunzip2) \
+Provides: perl(IO::Uncompress::Bunzip2) = 2.069 \
+Provides: perl(IO::Uncompress::Gunzip) = 2.069 \
+Provides: perl(IO::Uncompress::Inflate) = 2.069 \
+Provides: perl(IO::Uncompress::RawInflate) = 2.069 \
+Provides: perl(IO::Uncompress::Unzip) = 2.069 \
+Provides: perl(U64) \
+Provides: perl(Zlib::OldDeflate) \
+Provides: perl(Zlib::OldInflate) \
+%{nil}
+%global gendep_perl_IO_Socket_IP \
+Requires: perl(Carp) \
+Requires: perl(Errno) \
+Requires: perl(IO::Socket) \
+Requires: perl(IO::Socket::IP) \
+Requires: perl(POSIX) \
+Requires: perl(Socket) >= 1.97 \
+Requires: perl(base) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(IO::Socket::IP) = 0.37 \
+%{nil}
+%global gendep_perl_IO_Zlib \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Fcntl) \
+Requires: perl(Symbol) \
+Requires: perl(Tie::Handle) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(IO::Zlib) = 1.10 \
+%{nil}
+%global gendep_perl_IPC_Cmd \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(File::Spec) \
+Requires: perl(Locale::Maketext::Simple) \
+Requires: perl(Module::Load::Conditional) \
+Requires: perl(Params::Check) \
+Requires: perl(Symbol) \
+Requires: perl(Text::ParseWords) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(IPC::Cmd) = 0.92 \
+%{nil}
+%global gendep_perl_IPC_SysV \
+Requires: perl(Carp) \
+Requires: perl(Class::Struct) \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(IPC::SysV) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(IPC::Msg) = 2.06 \
+Provides: perl(IPC::Msg::stat) \
+Provides: perl(IPC::Semaphore) = 2.06 \
+Provides: perl(IPC::Semaphore::stat) \
+Provides: perl(IPC::SharedMem) = 2.06 \
+Provides: perl(IPC::SharedMem::stat) \
+Provides: perl(IPC::SysV) = 2.06 \
+%{nil}
+%global gendep_perl_JSON_PP \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(B) \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(Getopt::Long) \
+Requires: perl(JSON::PP) \
+Requires: perl(base) \
+Requires: perl(bytes) \
+Requires: perl(constant) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Provides: perl(JSON::PP) = 2.27300 \
+Provides: perl(JSON::PP::Boolean) \
+Provides: perl(JSON::PP::IncrParser) = 1.01 \
+%{nil}
+%global gendep_perl_Locale_Codes \
+Requires: perl(:VERSION) >= 5.2.0 \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(Locale::Codes) \
+Requires: perl(Locale::Codes::Constants) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(utf8) \
+Requires: perl(warnings) \
+Provides: perl(Locale::Codes) = 3.25 \
+Provides: perl(Locale::Codes) = 3.37 \
+Provides: perl(Locale::Codes::Constants) = 3.37 \
+Provides: perl(Locale::Codes::Country) = 3.37 \
+Provides: perl(Locale::Codes::Currency) = 3.37 \
+Provides: perl(Locale::Codes::LangExt) = 3.37 \
+Provides: perl(Locale::Codes::LangFam) = 3.37 \
+Provides: perl(Locale::Codes::LangVar) = 3.37 \
+Provides: perl(Locale::Codes::Language) = 3.37 \
+Provides: perl(Locale::Codes::Script) = 3.37 \
+Provides: perl(Locale::Country) = 3.37 \
+Provides: perl(Locale::Currency) = 3.37 \
+Provides: perl(Locale::Language) = 3.37 \
+Provides: perl(Locale::Script) = 3.37 \
+%{nil}
+%global gendep_perl_Locale_Maketext \
+Requires: perl(Carp) \
+Requires: perl(I18N::LangTags) \
+Requires: perl(I18N::LangTags::Detect) \
+Requires: perl(Locale::Maketext) \
+Requires: perl(integer) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Locale::Maketext) = 1.26 \
+Provides: perl(Locale::Maketext::Guts) = 1.20 \
+Provides: perl(Locale::Maketext::GutsLoader) = 1.20 \
+%{nil}
+%global gendep_perl_Locale_Maketext_Simple \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(Locale::Maketext) \
+Requires: perl(base) \
+Requires: perl(strict) \
+Provides: perl(Locale::Maketext::Simple) = 0.21 \
+%{nil}
+%global gendep_perl_MIME_Base64 \
+Requires: perl(Exporter) \
+Requires: perl(MIME::Base64) \
+Requires: perl(XSLoader) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(MIME::Base64) = 3.15 \
+Provides: perl(MIME::QuotedPrint) = 3.13 \
+%{nil}
+%global gendep_perl_Math_BigInt \
+Requires: perl(:VERSION) >= 5.6.1 \
+Requires: perl(Exporter) \
+Requires: perl(constant) \
+Requires: perl(integer) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Math::BigFloat) = 1.999715 \
+Provides: perl(Math::BigInt) = 1.999715 \
+Provides: perl(Math::BigInt::Calc) = 1.999715 \
+Provides: perl(Math::BigInt::CalcEmu) = 1.999715 \
+%{nil}
+%global gendep_perl_Math_BigInt_FastCalc \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Math::BigInt::Calc) >= 1.999706 \
+Requires: perl(XSLoader) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Math::BigInt::FastCalc) = 0.40 \
+%{nil}
+%global gendep_perl_Math_BigRat \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Math::BigFloat) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Math::BigRat) = 0.260802 \
+%{nil}
+%global gendep_perl_Math_Complex \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(Math::Complex) >= 1.59 \
+Requires: perl(Scalar::Util) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Math::Complex) = 1.59 \
+Provides: perl(Math::Trig) = 1.23 \
+%{nil}
+%global gendep_perl_Memoize \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(NDBM_File) \
+Requires: perl(SDBM_File) \
+Requires: perl(Storable) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Memoize) = 1.03 \
+Provides: perl(Memoize::AnyDBM_File) = 1.03 \
+Provides: perl(Memoize::Expire) = 1.03 \
+Provides: perl(Memoize::ExpireFile) = 1.03 \
+Provides: perl(Memoize::ExpireTest) = 1.03 \
+Provides: perl(Memoize::NDBM_File) = 1.03 \
+Provides: perl(Memoize::SDBM_File) = 1.03 \
+Provides: perl(Memoize::Storable) = 1.03 \
+%{nil}
+%global gendep_perl_Module_CoreList \
+Requires: perl(Module::CoreList) \
+Requires: perl(Module::CoreList::TieHashDelta) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(version) \
+Requires: perl(warnings) \
+Provides: perl(Module::CoreList) = 5.20160506 \
+Provides: perl(Module::CoreList::TieHashDelta) = 5.20160506 \
+Provides: perl(Module::CoreList::Utils) = 5.20160506 \
+%{nil}
+%global gendep_perl_Module_CoreList_tools \
+Requires: perl(Getopt::Long) \
+Requires: perl(List::Util) \
+Requires: perl(Module::CoreList) \
+Requires: perl(Pod::Usage) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+%{nil}
+%global gendep_perl_Module_Load \
+Requires: perl(File::Spec) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Module::Load) = 0.32 \
+%{nil}
+%global gendep_perl_Module_Load_Conditional \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(File::Spec) \
+Requires: perl(FileHandle) \
+Requires: perl(Locale::Maketext::Simple) \
+Requires: perl(Module::Load) \
+Requires: perl(Module::Metadata) \
+Requires: perl(Params::Check) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(version) \
+Provides: perl(Module::Load::Conditional) = 0.64 \
+%{nil}
+%global gendep_perl_Module_Loaded \
+Requires: perl(Carp) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Module::Loaded) = 0.08 \
+%{nil}
+%global gendep_perl_Module_Metadata \
+Requires: perl(Carp) \
+Requires: perl(File::Find) \
+Requires: perl(File::Spec) \
+Requires: perl(strict) \
+Requires: perl(version) >= 0.87 \
+Requires: perl(warnings) \
+Provides: perl(Module::Metadata) = 1.000031 \
+%{nil}
+%global gendep_perl_Net_Ping \
+Requires: perl(:VERSION) >= 5.2.0 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(Fcntl) \
+Requires: perl(FileHandle) \
+Requires: perl(POSIX) \
+Requires: perl(Socket) \
+Requires: perl(Time::HiRes) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Net::Ping) = 2.43 \
+%{nil}
+%global gendep_perl_Params_Check \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(Locale::Maketext::Simple) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Params::Check) = 0.38 \
+%{nil}
+%global gendep_perl_Parse_CPAN_Meta \
+Requires: perl(:VERSION) >= 5.8.1 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Provides: perl(Parse::CPAN::Meta) = 1.4417 \
+%{nil}
+%global gendep_perl_PathTools \
+Requires: perl(Exporter) \
+Requires: perl(File::Spec) \
+Requires: perl(File::Spec::Unix) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Cwd) = 3.63 \
+Provides: perl(File::Spec) = 3.63 \
+Provides: perl(File::Spec::AmigaOS) = 3.64 \
+Provides: perl(File::Spec::Cygwin) = 3.63 \
+Provides: perl(File::Spec::Epoc) = 3.63 \
+Provides: perl(File::Spec::Functions) = 3.63 \
+Provides: perl(File::Spec::Mac) = 3.63 \
+Provides: perl(File::Spec::OS2) = 3.63 \
+Provides: perl(File::Spec::Unix) = 3.63 \
+Provides: perl(File::Spec::Win32) = 3.63 \
+%{nil}
+%global gendep_perl_Perl_OSType \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Perl::OSType) = 1.009 \
+%{nil}
+%global gendep_perl_PerlIO_via_QuotedPrint \
+Requires: perl(MIME::QuotedPrint) \
+Requires: perl(strict) \
+Provides: perl(PerlIO::via::QuotedPrint) = 0.08 \
+%{nil}
+%global gendep_perl_Pod_Checker \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(Getopt::Long) \
+Requires: perl(Pod::Checker) \
+Requires: perl(Pod::ParseUtils) \
+Requires: perl(Pod::Parser) \
+Requires: perl(Pod::Usage) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Pod::Checker) = 1.60 \
+%{nil}
+%global gendep_perl_Pod_Escapes \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Pod::Escapes) = 1.07 \
+%{nil}
+%global gendep_perl_Pod_Html \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Cwd) \
+Requires: perl(Exporter) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Spec) \
+Requires: perl(File::Spec::Unix) \
+Requires: perl(Getopt::Long) \
+Requires: perl(Pod::Html) \
+Requires: perl(Pod::Simple::Search) \
+Requires: perl(Pod::Simple::XHTML) \
+Requires: perl(locale) \
+Requires: perl(parent) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Pod::Html) = 1.22 \
+Provides: perl(Pod::Simple::XHTML::LocalPodLinks) \
+%{nil}
+%global gendep_perl_Pod_Parser \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(Carp) \
+Requires: perl(Cwd) \
+Requires: perl(Exporter) \
+Requires: perl(File::Find) \
+Requires: perl(File::Spec) \
+Requires: perl(Getopt::Long) \
+Requires: perl(Pod::InputObjects) \
+Requires: perl(Pod::Parser) >= 1.04 \
+Requires: perl(Pod::Select) \
+Requires: perl(Pod::Usage) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Pod::Cache) \
+Provides: perl(Pod::Cache::Item) \
+Provides: perl(Pod::Find) = 1.63 \
+Provides: perl(Pod::Hyperlink) \
+Provides: perl(Pod::InputObjects) = 1.63 \
+Provides: perl(Pod::InputSource) \
+Provides: perl(Pod::InteriorSequence) \
+Provides: perl(Pod::List) \
+Provides: perl(Pod::Paragraph) \
+Provides: perl(Pod::ParseTree) \
+Provides: perl(Pod::ParseUtils) = 1.63 \
+Provides: perl(Pod::Parser) = 1.63 \
+Provides: perl(Pod::PlainText) = 2.07 \
+Provides: perl(Pod::Select) = 1.63 \
+%{nil}
+%global gendep_perl_Pod_Perldoc \
+Requires: perl(:VERSION) >= 5.0.0 \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Encode) \
+Requires: perl(Fcntl) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Spec::Functions) \
+Requires: perl(IO::Select) \
+Requires: perl(Pod::Man) >= 2.18 \
+Requires: perl(Pod::Perldoc) \
+Requires: perl(Pod::Perldoc::BaseTo) \
+Requires: perl(Pod::Perldoc::GetOptsOO) \
+Requires: perl(Pod::Simple::RTF) \
+Requires: perl(Pod::Simple::XMLOutStream) \
+Requires: perl(Pod::Text) \
+Requires: perl(Pod::Text::Color) \
+Requires: perl(Pod::Text::Termcap) \
+Requires: perl(parent) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Pod::Perldoc) = 3.25 \
+Provides: perl(Pod::Perldoc::BaseTo) = 3.25 \
+Provides: perl(Pod::Perldoc::GetOptsOO) = 3.25 \
+Provides: perl(Pod::Perldoc::ToANSI) = 3.25 \
+Provides: perl(Pod::Perldoc::ToChecker) = 3.25 \
+Provides: perl(Pod::Perldoc::ToMan) = 3.25 \
+Provides: perl(Pod::Perldoc::ToNroff) = 3.25 \
+Provides: perl(Pod::Perldoc::ToPod) = 3.25 \
+Provides: perl(Pod::Perldoc::ToRtf) = 3.25 \
+Provides: perl(Pod::Perldoc::ToTerm) = 3.25 \
+Provides: perl(Pod::Perldoc::ToText) = 3.25 \
+Provides: perl(Pod::Perldoc::ToTk) = 3.25 \
+Provides: perl(Pod::Perldoc::ToXml) = 3.25 \
+%{nil}
+%global gendep_perl_Pod_Simple \
+Requires: perl(:VERSION) >= 5.0.0 \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(:VERSION) >= 5.8.0 \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Cwd) \
+Requires: perl(Encode) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Spec) \
+Requires: perl(Getopt::Long) \
+Requires: perl(Pod::Escapes) >= 1.04 \
+Requires: perl(Pod::Simple) \
+Requires: perl(Pod::Simple::BlackBox) \
+Requires: perl(Pod::Simple::HTML) \
+Requires: perl(Pod::Simple::LinkSection) \
+Requires: perl(Pod::Simple::Methody) \
+Requires: perl(Pod::Simple::PullParser) \
+Requires: perl(Pod::Simple::PullParserEndToken) \
+Requires: perl(Pod::Simple::PullParserStartToken) \
+Requires: perl(Pod::Simple::PullParserTextToken) \
+Requires: perl(Pod::Simple::PullParserToken) \
+Requires: perl(Pod::Simple::Search) \
+Requires: perl(Symbol) \
+Requires: perl(Text::Wrap) >= 98.112902 \
+Requires: perl(integer) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Pod::Simple) = 3.32 \
+Provides: perl(Pod::Simple::BlackBox) = 3.32 \
+Provides: perl(Pod::Simple::Checker) = 3.32 \
+Provides: perl(Pod::Simple::Debug) = 3.32 \
+Provides: perl(Pod::Simple::DumpAsText) = 3.32 \
+Provides: perl(Pod::Simple::DumpAsXML) = 3.32 \
+Provides: perl(Pod::Simple::HTML) = 3.32 \
+Provides: perl(Pod::Simple::HTMLBatch) = 3.32 \
+Provides: perl(Pod::Simple::HTMLLegacy) = 5.01 \
+Provides: perl(Pod::Simple::LinkSection) = 3.32 \
+Provides: perl(Pod::Simple::Methody) = 3.32 \
+Provides: perl(Pod::Simple::Progress) = 3.32 \
+Provides: perl(Pod::Simple::PullParser) = 3.32 \
+Provides: perl(Pod::Simple::PullParserEndToken) = 3.32 \
+Provides: perl(Pod::Simple::PullParserStartToken) = 3.32 \
+Provides: perl(Pod::Simple::PullParserTextToken) = 3.32 \
+Provides: perl(Pod::Simple::PullParserToken) = 3.32 \
+Provides: perl(Pod::Simple::RTF) = 3.32 \
+Provides: perl(Pod::Simple::Search) = 3.32 \
+Provides: perl(Pod::Simple::SimpleTree) = 3.32 \
+Provides: perl(Pod::Simple::Text) = 3.32 \
+Provides: perl(Pod::Simple::TextContent) = 3.32 \
+Provides: perl(Pod::Simple::TiedOutFH) = 3.32 \
+Provides: perl(Pod::Simple::Transcode) = 3.32 \
+Provides: perl(Pod::Simple::TranscodeDumb) = 3.32 \
+Provides: perl(Pod::Simple::TranscodeSmart) = 3.32 \
+Provides: perl(Pod::Simple::XHTML) = 3.32 \
+Provides: perl(Pod::Simple::XMLOutStream) = 3.32 \
+%{nil}
+%global gendep_perl_Pod_Usage \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(File::Spec) \
+Requires: perl(Getopt::Long) \
+Requires: perl(Pod::Usage) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Pod::Usage) = 1.68 \
+%{nil}
+%global gendep_perl_Scalar_List_Utils \
+Requires: perl(Exporter) \
+Requires: perl(List::Util) \
+Requires: perl(XSLoader) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(List::Util) = 1.42 \
+Provides: perl(List::Util::XS) = 1.42 \
+Provides: perl(Scalar::Util) = 1.42 \
+Provides: perl(Sub::Util) = 1.42 \
+%{nil}
+%global gendep_perl_SelfLoader \
+Requires: perl(:VERSION) >= 5.8.0 \
+Requires: perl(Exporter) \
+Requires: perl(IO::Handle) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(SelfLoader) = 1.23 \
+%{nil}
+%global gendep_perl_Socket \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(XSLoader) \
+Requires: perl(strict) \
+Requires: perl(warnings::register) \
+Provides: perl(Socket) = 2.020 \
+%{nil}
+%global gendep_perl_Storable \
+Requires: perl(Exporter) \
+Requires: perl(XSLoader) \
+Requires: perl(vars) \
+Provides: perl(Storable) = 2.56 \
+%{nil}
+%global gendep_perl_Sys_Syslog \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(File::Basename) \
+Requires: perl(POSIX) \
+Requires: perl(Socket) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Requires: perl(warnings::register) \
+Provides: perl(Sys::Syslog) = 0.33 \
+%{nil}
+%global gendep_perl_Term_ANSIColor \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Term::ANSIColor) = 4.04 \
+%{nil}
+%global gendep_perl_Term_Cap \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Term::Cap) = 1.17 \
+%{nil}
+%global gendep_perl_Test \
+Requires: perl(:VERSION) >= 5.4.0 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Test) = 1.28 \
+%{nil}
+%global gendep_perl_Test_Harness \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(App::Prove) \
+Requires: perl(App::Prove::State) \
+Requires: perl(App::Prove::State::Result) \
+Requires: perl(App::Prove::State::Result::Test) \
+Requires: perl(Benchmark) \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Find) \
+Requires: perl(File::Path) \
+Requires: perl(File::Spec) \
+Requires: perl(Getopt::Long) \
+Requires: perl(IO::Handle) \
+Requires: perl(IO::Select) \
+Requires: perl(POSIX) \
+Requires: perl(TAP::Base) \
+Requires: perl(TAP::Formatter::Base) \
+Requires: perl(TAP::Formatter::Console::Session) \
+Requires: perl(TAP::Formatter::File::Session) \
+Requires: perl(TAP::Formatter::Session) \
+Requires: perl(TAP::Harness) \
+Requires: perl(TAP::Harness::Env) \
+Requires: perl(TAP::Object) \
+Requires: perl(TAP::Parser::Aggregator) \
+Requires: perl(TAP::Parser::Grammar) \
+Requires: perl(TAP::Parser::Iterator) \
+Requires: perl(TAP::Parser::Iterator::Array) \
+Requires: perl(TAP::Parser::Iterator::Process) \
+Requires: perl(TAP::Parser::Iterator::Stream) \
+Requires: perl(TAP::Parser::IteratorFactory) \
+Requires: perl(TAP::Parser::Result) \
+Requires: perl(TAP::Parser::Result::Bailout) \
+Requires: perl(TAP::Parser::Result::Comment) \
+Requires: perl(TAP::Parser::Result::Plan) \
+Requires: perl(TAP::Parser::Result::Pragma) \
+Requires: perl(TAP::Parser::Result::Test) \
+Requires: perl(TAP::Parser::Result::Unknown) \
+Requires: perl(TAP::Parser::Result::Version) \
+Requires: perl(TAP::Parser::Result::YAML) \
+Requires: perl(TAP::Parser::ResultFactory) \
+Requires: perl(TAP::Parser::Scheduler::Job) \
+Requires: perl(TAP::Parser::Scheduler::Spinner) \
+Requires: perl(TAP::Parser::Source) \
+Requires: perl(TAP::Parser::SourceHandler) \
+Requires: perl(TAP::Parser::SourceHandler::Executable) \
+Requires: perl(TAP::Parser::SourceHandler::File) \
+Requires: perl(TAP::Parser::SourceHandler::Handle) \
+Requires: perl(TAP::Parser::SourceHandler::Perl) \
+Requires: perl(TAP::Parser::SourceHandler::RawTAP) \
+Requires: perl(TAP::Parser::YAMLish::Reader) \
+Requires: perl(TAP::Parser::YAMLish::Writer) \
+Requires: perl(Text::ParseWords) \
+Requires: perl(base) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(App::Prove) = 3.36 \
+Provides: perl(App::Prove::State) = 3.36 \
+Provides: perl(App::Prove::State::Result) = 3.36 \
+Provides: perl(App::Prove::State::Result::Test) = 3.36 \
+Provides: perl(TAP::Base) = 3.36 \
+Provides: perl(TAP::Formatter::Base) = 3.36 \
+Provides: perl(TAP::Formatter::Color) = 3.36 \
+Provides: perl(TAP::Formatter::Console) = 3.36 \
+Provides: perl(TAP::Formatter::Console::ParallelSession) = 3.36 \
+Provides: perl(TAP::Formatter::Console::Session) = 3.36 \
+Provides: perl(TAP::Formatter::File) = 3.36 \
+Provides: perl(TAP::Formatter::File::Session) = 3.36 \
+Provides: perl(TAP::Formatter::Session) = 3.36 \
+Provides: perl(TAP::Harness) = 3.36 \
+Provides: perl(TAP::Harness::Env) = 3.36 \
+Provides: perl(TAP::Object) = 3.36 \
+Provides: perl(TAP::Parser) = 3.36 \
+Provides: perl(TAP::Parser::Aggregator) = 3.36 \
+Provides: perl(TAP::Parser::Grammar) = 3.36 \
+Provides: perl(TAP::Parser::Iterator) = 3.36 \
+Provides: perl(TAP::Parser::Iterator::Array) = 3.36 \
+Provides: perl(TAP::Parser::Iterator::Process) = 3.36 \
+Provides: perl(TAP::Parser::Iterator::Stream) = 3.36 \
+Provides: perl(TAP::Parser::IteratorFactory) = 3.36 \
+Provides: perl(TAP::Parser::Multiplexer) = 3.36 \
+Provides: perl(TAP::Parser::Result) = 3.36 \
+Provides: perl(TAP::Parser::Result::Bailout) = 3.36 \
+Provides: perl(TAP::Parser::Result::Comment) = 3.36 \
+Provides: perl(TAP::Parser::Result::Plan) = 3.36 \
+Provides: perl(TAP::Parser::Result::Pragma) = 3.36 \
+Provides: perl(TAP::Parser::Result::Test) = 3.36 \
+Provides: perl(TAP::Parser::Result::Unknown) = 3.36 \
+Provides: perl(TAP::Parser::Result::Version) = 3.36 \
+Provides: perl(TAP::Parser::Result::YAML) = 3.36 \
+Provides: perl(TAP::Parser::ResultFactory) = 3.36 \
+Provides: perl(TAP::Parser::Scheduler) = 3.36 \
+Provides: perl(TAP::Parser::Scheduler::Job) = 3.36 \
+Provides: perl(TAP::Parser::Scheduler::Spinner) = 3.36 \
+Provides: perl(TAP::Parser::Source) = 3.36 \
+Provides: perl(TAP::Parser::SourceHandler) = 3.36 \
+Provides: perl(TAP::Parser::SourceHandler::Executable) = 3.36 \
+Provides: perl(TAP::Parser::SourceHandler::File) = 3.36 \
+Provides: perl(TAP::Parser::SourceHandler::Handle) = 3.36 \
+Provides: perl(TAP::Parser::SourceHandler::Perl) = 3.36 \
+Provides: perl(TAP::Parser::SourceHandler::RawTAP) = 3.36 \
+Provides: perl(TAP::Parser::YAMLish::Reader) = 3.36 \
+Provides: perl(TAP::Parser::YAMLish::Writer) = 3.36 \
+Provides: perl(Test::Harness) = 3.36 \
+%{nil}
+%global gendep_perl_Test_Simple \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(IO::Handle) \
+Requires: perl(Symbol) \
+Requires: perl(Test::Builder) >= 0.99 \
+Requires: perl(Test::Builder) >= 1.00 \
+Requires: perl(Test::Builder::Module) >= 0.99 \
+Requires: perl(Test::Builder::Tester) \
+Requires: perl(Test::More) \
+Requires: perl(Test::Tester::Capture) \
+Requires: perl(Test::Tester::CaptureRunner) \
+Requires: perl(Test::Tester::Delegate) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Test::Builder) = 1.001014 \
+Provides: perl(Test::Builder::IO::Scalar) = 2.113 \
+Provides: perl(Test::Builder::Module) = 1.001014 \
+Provides: perl(Test::Builder::Tester) = 1.28 \
+Provides: perl(Test::Builder::Tester::Color) = 1.290001 \
+Provides: perl(Test::Builder::Tester::Tie) \
+Provides: perl(Test::More) = 1.001014 \
+Provides: perl(Test::Simple) = 1.001014 \
+Provides: perl(Test::Tester) = 0.114 \
+Provides: perl(Test::Tester::Capture) \
+Provides: perl(Test::Tester::CaptureRunner) \
+Provides: perl(Test::Tester::Delegate) \
+Provides: perl(Test::use::ok) = 0.16 \
+Provides: perl(ok) = 0.16 \
+%{nil}
+%global gendep_perl_Text_Balanced \
+Requires: perl(:VERSION) >= 5.5.0 \
+Requires: perl(Carp) \
+Requires: perl(Exporter) \
+Requires: perl(SelfLoader) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Text::Balanced) = 2.03 \
+Provides: perl(Text::Balanced::ErrorMsg) \
+Provides: perl(Text::Balanced::Extractor) \
+%{nil}
+%global gendep_perl_Text_ParseWords \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Provides: perl(Text::ParseWords) = 3.30 \
+%{nil}
+%global gendep_perl_Text_Tabs_Wrap \
+Requires: perl(:VERSION) >= 5.10.0 \
+Requires: perl(Exporter) \
+Requires: perl(Text::Tabs) \
+Requires: perl(re) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings::register) \
+Provides: perl(Text::Tabs) = 2013.0523 \
+Provides: perl(Text::Wrap) = 2013.0523 \
+%{nil}
+%global gendep_perl_Thread_Queue \
+Requires: perl(Scalar::Util) >= 1.10 \
+Requires: perl(strict) \
+Requires: perl(threads::shared) >= 1.21 \
+Requires: perl(warnings) \
+Provides: perl(Thread::Queue) = 3.09 \
+%{nil}
+%global gendep_perl_Time_HiRes \
+Requires: perl(DynaLoader) \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Provides: perl(Time::HiRes) = 1.9733 \
+%{nil}
+%global gendep_perl_Time_Local \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Exporter) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(Time::Local) = 1.2300 \
+%{nil}
+%global gendep_perl_Time_Piece \
+Requires: perl(Carp) \
+Requires: perl(DynaLoader) \
+Requires: perl(Exporter) >= 5.57 \
+Requires: perl(Time::Local) \
+Requires: perl(Time::Seconds) \
+Requires: perl(constant) \
+Requires: perl(integer) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Provides: perl(Time::Piece) = 1.31 \
+Provides: perl(Time::Seconds) = 1.31 \
+%{nil}
+%global gendep_perl_Unicode_Collate \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(DynaLoader) \
+Requires: perl(File::Spec) \
+Requires: perl(Unicode::Collate) \
+Requires: perl(base) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Unicode::Collate) = 1.14 \
+Provides: perl(Unicode::Collate::CJK::Big5) = 1.14 \
+Provides: perl(Unicode::Collate::CJK::GB2312) = 1.14 \
+Provides: perl(Unicode::Collate::CJK::JISX0208) = 1.14 \
+Provides: perl(Unicode::Collate::CJK::Korean) = 1.14 \
+Provides: perl(Unicode::Collate::CJK::Pinyin) = 1.14 \
+Provides: perl(Unicode::Collate::CJK::Stroke) = 1.14 \
+Provides: perl(Unicode::Collate::CJK::Zhuyin) = 1.14 \
+Provides: perl(Unicode::Collate::Locale) = 1.14 \
+%{nil}
+%global gendep_perl_Unicode_Normalize \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(DynaLoader) \
+Requires: perl(Exporter) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Unicode::Normalize) = 1.25 \
+%{nil}
+%global gendep_perl_autodie \
+Requires: perl(:VERSION) >= 5.8.0 \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(Exporter) >= 5.57 \
+Requires: perl(Fatal) \
+Requires: perl(Scalar::Util) \
+Requires: perl(Tie::RefHash) \
+Requires: perl(autodie::Scope::Guard) \
+Requires: perl(autodie::Scope::GuardStack) \
+Requires: perl(autodie::Util) \
+Requires: perl(autodie::exception) \
+Requires: perl(constant) \
+Requires: perl(lib) \
+Requires: perl(overload) \
+Requires: perl(parent) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Fatal) = 2.29 \
+Provides: perl(autodie) = 2.29 \
+Provides: perl(autodie::Scope::Guard) = 2.29 \
+Provides: perl(autodie::Scope::GuardStack) = 2.29 \
+Provides: perl(autodie::Util) = 2.29 \
+Provides: perl(autodie::exception) = 2.29 \
+Provides: perl(autodie::exception::system) = 2.29 \
+Provides: perl(autodie::hints) = 2.29 \
+Provides: perl(autodie::skip) = 2.29 \
+%{nil}
+%global gendep_perl_bignum \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Exporter) \
+Requires: perl(Math::BigFloat) \
+Requires: perl(Math::BigInt) \
+Requires: perl(bigint) \
+Requires: perl(constant) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Math::BigFloat::Trace) = 0.42 \
+Provides: perl(Math::BigInt::Trace) = 0.42 \
+Provides: perl(bigint) = 0.42 \
+Provides: perl(bignum) = 0.42 \
+Provides: perl(bigrat) = 0.42 \
+%{nil}
+%global gendep_perl_constant \
+Requires: perl(:VERSION) >= 5.8.0 \
+Requires: perl(strict) \
+Requires: perl(warnings::register) \
+Provides: perl(constant) = 1.33 \
+%{nil}
+%global gendep_perl_core \
+%{nil}
+%global gendep_perl_debuginfo \
+%{nil}
+%global gendep_perl_devel \
+Requires: perl(Config) \
+Requires: perl(ExtUtils::Constant) \
+Requires: perl(ExtUtils::Installed) \
+Requires: perl(File::Compare) \
+Requires: perl(File::Path) \
+Requires: perl(File::Spec) \
+Requires: perl(Getopt::Long) \
+Requires: perl(Text::Wrap) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+%{nil}
+%global gendep_perl_encoding \
+Requires: perl(Encode) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(encoding) = 2.17 \
+%{nil}
+%global gendep_perl_experimental \
+Requires: perl(Carp) \
+Requires: perl(feature) \
+Requires: perl(strict) \
+Requires: perl(version) \
+Requires: perl(warnings) \
+Provides: perl(experimental) = 0.016 \
+%{nil}
+%global gendep_perl_libnet \
+Requires: perl(:VERSION) >= 5.8.1 \
+Requires: perl(Carp) \
+Requires: perl(Errno) \
+Requires: perl(Exporter) \
+Requires: perl(Fcntl) \
+Requires: perl(FileHandle) \
+Requires: perl(IO::Select) \
+Requires: perl(IO::Socket) \
+Requires: perl(Net::Cmd) \
+Requires: perl(Net::Config) \
+Requires: perl(Net::FTP::I) \
+Requires: perl(Net::FTP::dataconn) \
+Requires: perl(Socket) \
+Requires: perl(Symbol) \
+Requires: perl(Time::Local) \
+Requires: perl(constant) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(Net::Cmd) = 3.08 \
+Provides: perl(Net::Config) = 3.08 \
+Provides: perl(Net::Domain) = 3.08 \
+Provides: perl(Net::FTP) = 3.08 \
+Provides: perl(Net::FTP::A) = 3.08 \
+Provides: perl(Net::FTP::E) = 3.08 \
+Provides: perl(Net::FTP::I) = 3.08 \
+Provides: perl(Net::FTP::L) = 3.08 \
+Provides: perl(Net::FTP::_SSL_SingleSessionCache) \
+Provides: perl(Net::FTP::dataconn) = 3.08 \
+Provides: perl(Net::NNTP) = 3.08 \
+Provides: perl(Net::NNTP::_SSL) \
+Provides: perl(Net::Netrc) = 3.08 \
+Provides: perl(Net::POP3) = 3.08 \
+Provides: perl(Net::POP3::_SSL) \
+Provides: perl(Net::SMTP) = 3.08 \
+Provides: perl(Net::SMTP::_SSL) \
+Provides: perl(Net::Time) = 3.08 \
+%{nil}
+%global gendep_perl_libnetcfg \
+Requires: perl(ExtUtils::MakeMaker) \
+Requires: perl(File::Spec) \
+Requires: perl(Getopt::Std) \
+Requires: perl(IO::File) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+%{nil}
+%global gendep_perl_libs \
+Requires: perl(integer) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(:MODULE_COMPAT_5.24.0) \
+Provides: perl(:VERSION) = 5.24.0 \
+Provides: perl(:WITH_ITHREADS) \
+Provides: perl(:WITH_LARGEFILES) \
+Provides: perl(:WITH_PERLIO) \
+Provides: perl(:WITH_THREADS) \
+Provides: perl(XSLoader) = 0.21 \
+Provides: perl(integer) = 1.01 \
+Provides: perl(re) = 0.32 \
+Provides: perl(strict) = 1.11 \
+Provides: perl(unicore::Name) \
+Provides: perl(utf8) = 1.19 \
+Provides: perl(utf8_heavy.pl) \
+Provides: perl(warnings) = 1.36 \
+%{nil}
+%global gendep_perl_macros \
+%{nil}
+%global gendep_perl_open \
+Requires: perl(:VERSION) >= 5.8.1 \
+Requires: perl(warnings) \
+Provides: perl(open) = 1.10 \
+%{nil}
+%global gendep_perl_parent \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Provides: perl(parent) = 0.234 \
+%{nil}
+%global gendep_perl_perlfaq \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(perlfaq) = 5.021010 \
+%{nil}
+%global gendep_perl_podlators \
+Requires: perl(:VERSION) >= 5.6.0 \
+Requires: perl(Carp) \
+Requires: perl(Encode) \
+Requires: perl(Exporter) \
+Requires: perl(Getopt::Long) \
+Requires: perl(POSIX) \
+Requires: perl(Pod::Man) \
+Requires: perl(Pod::Simple) \
+Requires: perl(Pod::Text) \
+Requires: perl(Pod::Usage) \
+Requires: perl(Term::ANSIColor) \
+Requires: perl(Term::Cap) \
+Requires: perl(strict) \
+Requires: perl(subs) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+Provides: perl(Pod::Man) = 4.07 \
+Provides: perl(Pod::ParseLink) = 4.07 \
+Provides: perl(Pod::Text) = 4.07 \
+Provides: perl(Pod::Text::Color) = 4.07 \
+Provides: perl(Pod::Text::Overstrike) = 4.07 \
+Provides: perl(Pod::Text::Termcap) = 4.07 \
+%{nil}
+%global gendep_perl_tests \
+%{nil}
+%global gendep_perl_threads \
+Requires: perl(:VERSION) >= 5.8.0 \
+Requires: perl(Config) \
+Requires: perl(XSLoader) \
+Requires: perl(overload) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(threads) = 2.07 \
+%{nil}
+%global gendep_perl_threads_shared \
+Requires: perl(:VERSION) >= 5.8.0 \
+Requires: perl(Scalar::Util) \
+Requires: perl(strict) \
+Requires: perl(warnings) \
+Provides: perl(threads::shared) = 1.51 \
+%{nil}
+%global gendep_perl_utils \
+Requires: perl(:VERSION) >= 5.9.1 \
+Requires: perl(Carp) \
+Requires: perl(Config) \
+Requires: perl(File::Basename) \
+Requires: perl(File::Path) \
+Requires: perl(File::Spec) \
+Requires: perl(File::Temp) \
+Requires: perl(Getopt::Std) \
+Requires: perl(Text::Tabs) \
+Requires: perl(re) \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(warnings) \
+%{nil}
+%global gendep_perl_version \
+Requires: perl(:VERSION) >= 5.6.2 \
+Requires: perl(strict) \
+Requires: perl(vars) \
+Requires: perl(version::regex) \
+Requires: perl(warnings::register) \
+Provides: perl(version) = 0.9916 \
+Provides: perl(version::regex) = 0.9916 \
+%{nil}
diff --git a/generatedependencies b/generatedependencies
new file mode 100755
index 0000000..cc1d278
--- /dev/null
+++ b/generatedependencies
@@ -0,0 +1,163 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+# Split "A B >= 1" dependencies string into ("A", "B >= 1") list.
+sub appendsymbols {
+    my ($array, $line) = @_;
+    my $qualified;
+    my $dependency;
+    for my $token (split(/\s/, $line)) {
+        if ($token =~ /\A[<>]?=\z/) {
+            $qualified = 1;
+            $dependency .= ' ' . $token;
+            next;
+        }
+        if (!$qualified) {
+            if (defined $dependency) {
+                push @$array, $dependency;
+            }
+            $dependency = $token;
+            next;
+        }
+        if ($qualified) {
+            $qualified = 0;
+            $dependency .= ' ' . $token;
+            push @$array, $dependency;
+            $dependency = undef;
+            next;
+        }
+    }
+    if (defined $dependency) {
+        push @$array, $dependency;
+    }
+}
+
+# Return true if the argument is a Perl dependency. Otherwise return false.
+sub is_perl_dependency {
+    my $dependency = shift;
+    return ($dependency =~ /\Aperl\(/);
+}
+
+my $file = shift @ARGV;
+if (!defined $file) {
+       die "Missing an argument with an RPM build log!\n"
+}
+
+# Parse build log
+open(my $log, '<', $file) or die "Could not open `$file': $!\n";
+my ($package, %packages);
+while (!eof($log)) {
+    defined($_ = <$log>) or die "Error while reading from `$file': $!\n";
+       chomp;
+
+       if (/\AProcessing files: ([\S]+)-[^-]+-[^-]+$/) {
+               $package = $1;
+        $packages{$package}{requires} = [];
+        $packages{$package}{provides} = [];
+       } elsif ($package && /\AProvides: (.*)\z/) {
+               appendsymbols($packages{$package}{provides}, $1);
+       } elsif ($package && /\ARequires: (.*)\z/) {
+               appendsymbols($packages{$package}{requires}, $1);
+       }
+}
+close($log);
+
+# Save dependencies into file
+my $filename = 'gendep.macros';
+open (my $gendep, '>', $filename) or
+    die "Could not open `$filename' for writing: $!\n";
+for my $package (sort keys %packages) {
+    # Macro name
+    my $macro = 'gendep_' . $package;
+    $macro =~ s/[+-]/_/g;
+    $gendep->print("%global $macro \\\n");
+    # Macro value
+    for my $dependency (@{$packages{$package}{requires}}) {
+        if (is_perl_dependency($dependency)) {
+            $gendep->print("Requires: $dependency \\\n");
+        }
+    }
+    for my $dependency (@{$packages{$package}{provides}}) {
+        if (is_perl_dependency($dependency)) {
+            $gendep->print("Provides: $dependency \\\n");
+        }
+    }
+    # Macro trailer
+    $gendep->print("%{nil}\n");
+}
+close($gendep) or die "Could not close `$filename': $!\n";
+
+
+__END__
+=encoding utf8
+
+=head1 NAME
+
+generatedependencies - Distil generated Perl dependencies from a build log
+
+=head1 SYNOPSIS
+
+B<generatedependencies> I<BUILD_LOG>
+
+=head1 DESCRIPTION
+
+It opens specified RPM build log I<BUILD_LOG>. It locates a protocol about
+autogenerated dependencies. It stores the reported dependencies into 
F<./gendep.macros> file.
+
+The output file will define macros C<gendep_I<BINARY_PACKAGE_NAME>>. A macro
+for each binary package. The macro name will use underscores instead of
+hyphens or other SPEC language special characters.
+
+It will ignore non-Perl dependencies (not C<perl(*)>) as they do not come from
+Perl dependency generator.
+
+=head1 EXIT CODE
+
+Returns zero, if no error occurred. Otherwise non-zero code is returned.
+
+=head1 EXAMPLE
+
+The invocation is:
+
+    $ generatedependencies .build-5.24.0-364.fc25.log
+
+The output is:
+
+    $ grep -A5 perl_Devel_Peek gendep.macros
+    %global gendep_perl_Devel_Peek \
+    Requires: perl(Exporter) \
+    Requires: perl(XSLoader) \
+    Provides: perl(Devel::Peek) = 1.23 \
+    %nil{}
+    %global gendep_perl_Devel_SelfStubber \
+
+
+The output can be used in a spec file like:
+
+    Name: perl
+    Source0: gendep.macros
+    %include %{SOURCE0}
+    %package Devel-Peek
+    %gendep_Devel_Peek
+    %package Devel-SelfStubber
+    %gendep_Devel_SelfStubber
+
+=head1 COPYING
+
+Copyright (C) 2016  Petr Písař <[email protected]>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+=cut
diff --git a/perl.spec b/perl.spec
index 8cad5d0..4e0f9ef 100644
--- a/perl.spec
+++ b/perl.spec
@@ -61,6 +61,14 @@ Source5:        perl-example.stp
 # Tom Christiansen confirms Pod::Html uses the same license as perl
 Source6:        Pod-Html-license-clarification
 
+# Pregenerated dependencies for bootstrap.
+# If your RPM tool fails on including the source file, then you forgot to
+# define _sourcedir macro to point to the directory with the sources.
+Source7:        gendep.macros
+%if %{defined perl_bootstrap}
+%include %{SOURCE7}
+%endif
+
 # Removes date check, Fedora/RHEL specific
 Patch1:         perl-perlbug-tag.patch
 
@@ -122,9 +130,9 @@ BuildRequires:  systemtap-sdt-devel
 BuildRequires:  gdbm-devel
 %endif
 %if !%{defined perl_bootstrap}
-BuildRequires:  perl
+BuildRequires: perl
+BuildRequires: perl-generators
 %endif
-BuildRequires:  perl-generators
 
 # For tests
 BuildRequires:  procps, rsyslog
@@ -146,6 +154,9 @@ Obsoletes: perl-suidperl <= 4:5.12.2
 Requires: perl-libs = %{perl_epoch}:%{perl_version}-%{release}
 # Require this till perl sub-package requires any modules
 Requires: %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl
+%endif
 
 # We need this to break the dependency loop, and ensure that perl-libs 
 # gets installed before perl.
@@ -205,6 +216,9 @@ Requires:       perl(Carp)
 Requires:       perl(Exporter)
 # Term::Cap is optional
 Requires:       perl(XSLoader)
+%if %{defined perl_bootstrap}
+%gendep_perl_libs
+%endif
 
 # Remove private redefinitions
 # XSLoader redefines DynaLoader name space for compatibility, but does not
@@ -232,6 +246,9 @@ Requires:       perl(ExtUtils::ParseXS)
 Requires:       %perl_compat
 # Match library and header files when downgrading releases
 Requires:       perl-libs = %{perl_epoch}:%{perl_version}-%{release}
+%if %{defined perl_bootstrap}
+%gendep_perl_devel
+%endif
 
 %description devel
 This package contains header files and development modules.
@@ -243,6 +260,9 @@ Summary:        Macros for rpmbuild
 Group:          Development/Languages
 License:        GPL+ or Artistic
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_macros
+%endif
 
 %description macros
 Macros for rpmbuild are needed during build of srpm in koji. This
@@ -259,6 +279,9 @@ AutoReqProv:    0
 Requires:       %perl_compat
 # FIXME - note this will need to change when doing the core/minimal swizzle
 Requires:       perl-core
+%if %{defined perl_bootstrap}
+%gendep_perl_tests
+%endif
 
 %description tests
 This package contains the test suite included with Perl %{perl_version}.
@@ -277,6 +300,9 @@ BuildArch:      noarch
 # Match library exactly for splain messages
 Requires:       perl-libs = %{perl_epoch}:%{perl_version}-%{release}
 # Keep /usr/sbin/sendmail and Module::CoreList optional for the perlbug tool
+%if %{defined perl_bootstrap}
+%gendep_perl_utils
+%endif
 Conflicts:      perl < 4:5.22.0-351
 
 %description utils
@@ -299,6 +325,9 @@ Requires:       perl-libs = 
%{perl_epoch}:%{perl_version}-%{release}
 Requires:       perl-devel = %{perl_epoch}:%{perl_version}-%{release}
 Requires:       perl-macros
 Requires:       perl-utils
+%if %{defined perl_bootstrap}
+%gendep_perl_core
+%endif
 
 Requires:       perl-Archive-Tar, perl-Attribute-Handlers, perl-autodie,
 Requires:       perl-B-Debug, perl-bignum
@@ -372,6 +401,9 @@ Requires:       perl(IO::Uncompress::Bunzip2) >= 2.015
 %if !%{defined perl_bootstrap}
 Requires:       perl(Text::Diff)
 %endif
+%if %{defined perl_bootstrap}
+%gendep_perl_Archive_Tar
+%endif
 
 %description Archive-Tar
 Archive::Tar provides an object oriented mechanism for handling tar files.  It
@@ -389,6 +421,9 @@ Epoch:          0
 Version:        0.99
 BuildArch:      noarch
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Attribute_Handlers
+%endif
 Conflicts:      perl < 4:5.22.0-351
 
 %description Attribute-Handlers
@@ -412,6 +447,9 @@ Requires:       perl(B)
 Requires:       perl(Fcntl)
 Requires:       perl(overload)
 Requires:       perl(POSIX)
+%if %{defined perl_bootstrap}
+%gendep_perl_autodie
+%endif
 Conflicts:      perl < 4:5.16.2-259
 
 %description autodie
@@ -432,6 +470,9 @@ Epoch:          0
 Version:        1.23
 Requires:       %perl_compat
 BuildArch:      noarch
+%if %{defined perl_bootstrap}
+%gendep_perl_B_Debug
+%endif
 Conflicts:      perl < 4:5.20.1-310
 
 %description B-Debug
@@ -451,6 +492,9 @@ Requires:       perl(Carp)
 Requires:       perl(Math::BigRat)
 Requires:       perl(warnings)
 BuildArch:      noarch
+%if %{defined perl_bootstrap}
+%gendep_perl_bignum
+%endif
 Conflicts:      perl < 4:5.22.0-348
 
 %description bignum
@@ -467,6 +511,9 @@ License:        GPL+ or Artistic
 Group:          Development/Libraries
 Requires:       %perl_compat
 Provides:       perl(Carp::Heavy) = %{version}
+%if %{defined perl_bootstrap}
+%gendep_perl_Carp
+%endif
 BuildArch:      noarch
 
 # Do not export unversioned module
@@ -490,6 +537,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        2.069
 Requires:       perl(Exporter), perl(File::Temp)
+%if %{defined perl_bootstrap}
+%gendep_perl_Compress_Raw_Bzip2
+%endif
 
 %description Compress-Raw-Bzip2
 This module provides a Perl interface to the bzip2 compression library.
@@ -502,6 +552,9 @@ License:        (GPL+ or Artistic) and zlib
 Epoch:          0
 Version:        2.069
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Compress_Raw_Zlib
+%endif
 
 %description Compress-Raw-Zlib
 This module provides a Perl interface to the zlib compression library.
@@ -516,6 +569,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        0.25
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Config_Perl_V
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-347
 
@@ -535,6 +591,9 @@ Epoch:          0
 Version:        1.33
 Requires:       %perl_compat
 Requires:       perl(Carp)
+%if %{defined perl_bootstrap}
+%gendep_perl_constant
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.16.3-264
 
@@ -609,6 +668,9 @@ Requires:       perl(Text::Glob)
 %endif
 Requires:       %perl_compat
 Provides:       cpan = %{version}
+%if %{defined perl_bootstrap}
+%gendep_perl_CPAN
+%endif
 BuildArch:      noarch
 
 %description CPAN
@@ -626,6 +688,9 @@ Version:        2.150005
 License:        GPL+ or Artistic
 Group:          Development/Libraries
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_CPAN_Meta
+%endif
 BuildArch:      noarch
 
 %description CPAN-Meta
@@ -649,6 +714,9 @@ BuildArch:      noarch
 # CPAN-Meta-Requirements used to have six decimal places
 %global __provides_exclude 
%{?__provides_exclude:%__provides_exclude|}^perl\\(CPAN::Meta::Requirements\\)
 Provides:       perl(CPAN::Meta::Requirements) = %{version}000
+%if %{defined perl_bootstrap}
+%gendep_perl_CPAN_Meta_Requirements
+%endif
 
 %description CPAN-Meta-Requirements
 A CPAN::Meta::Requirements object models a set of version constraints like
@@ -666,6 +734,9 @@ License:        GPL+ or Artistic
 Group:          Development/Libraries
 BuildArch:      noarch
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_CPAN_Meta_YAML
+%endif
 
 %description CPAN-Meta-YAML
 This module implements a subset of the YAML specification for use in reading
@@ -684,6 +755,9 @@ Version:        2.160
 Requires:       %perl_compat
 Requires:       perl(Scalar::Util)
 Requires:       perl(XSLoader)
+%if %{defined perl_bootstrap}
+%gendep_perl_Data_Dumper
+%endif
 
 %description Data-Dumper
 Given a list of scalars or reference variables, writes out their contents
@@ -702,6 +776,9 @@ Version:        1.835
 Requires:       %perl_compat
 Requires:       perl(Fcntl)
 Requires:       perl(XSLoader)
+%if %{defined perl_bootstrap}
+%gendep_perl_DB_File
+%endif
 Conflicts:      perl < 4:5.16.3-264
 
 %description DB_File
@@ -718,6 +795,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        1.23
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Devel_Peek
+%endif
 Conflicts:      perl < 4:5.22.0-351
 
 %description Devel-Peek
@@ -734,6 +814,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        3.32
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Devel_PPPort
+%endif
 Conflicts:      perl < 4:5.20.1-310
 
 %description Devel-PPPort
@@ -753,6 +836,9 @@ Epoch:          0
 Version:        1.05
 BuildArch:      noarch
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Devel_SelfStubber
+%endif
 Conflicts:      perl < 4:5.22.0-351
 
 %description Devel-SelfStubber
@@ -772,6 +858,9 @@ Version:        1.17
 BuildArch:      noarch
 Requires:       %perl_compat
 Requires:       perl(MIME::Base64)
+%if %{defined perl_bootstrap}
+%gendep_perl_Digest
+%endif
 
 %description Digest
 The Digest:: modules calculate digests, also called "fingerprints" or
@@ -793,6 +882,9 @@ Requires:       %perl_compat
 Requires:       perl(XSLoader)
 # Recommended
 Requires:       perl(Digest::base) >= 1.00
+%if %{defined perl_bootstrap}
+%gendep_perl_Digest_MD5
+%endif
 
 %description Digest-MD5
 The Digest::MD5 module allows you to use the RSA Data Security Inc. MD5
@@ -813,6 +905,9 @@ Requires:       %perl_compat
 Requires:       perl(Carp)
 # Recommended
 Requires:       perl(Digest::base)
+%if %{defined perl_bootstrap}
+%gendep_perl_Digest_SHA
+%endif
 
 %description Digest-SHA
 Digest::SHA is a complete implementation of the NIST Secure Hash
@@ -829,6 +924,9 @@ License:        (GPL+ or Artistic) and UCD
 Epoch:          4
 Version:        2.80
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Encode
+%endif
 Conflicts:      perl < 4:5.16.2-256
 
 %description Encode
@@ -851,6 +949,9 @@ Requires:       perl(Filter::Util::Call)
 # I18N::Langinfo is optional
 # PerlIO::encoding is optional
 Requires:       perl(utf8)
+%if %{defined perl_bootstrap}
+%gendep_perl_encoding
+%endif
 Conflicts:      perl-Encode < 2:2.60-314
 
 %description encoding
@@ -873,6 +974,9 @@ Version:        2.80
 Requires:       %perl_compat
 Requires:       %{name}-Encode = %{epoch}:%{version}-%{release}
 Recommends:     perl-devel
+%if %{defined perl_bootstrap}
+%gendep_perl_Encode_devel
+%endif
 BuildArch:      noarch
 
 %description Encode-devel
@@ -889,6 +993,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        1.04
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Env
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.16.2-265
 
@@ -906,6 +1013,9 @@ Epoch:          0
 Version:        1.25
 Requires:       %perl_compat
 Requires:       perl(Carp)
+%if %{defined perl_bootstrap}
+%gendep_perl_Errno
+%endif
 Conflicts:      perl < 4:5.22.0-351
 
 %description Errno
@@ -921,6 +1031,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        0.016
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_experimental
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.20.0-303
 
@@ -938,6 +1051,9 @@ Epoch:          0
 Version:        5.72
 Requires:       %perl_compat
 Requires:       perl(Carp) >= 1.05
+%if %{defined perl_bootstrap}
+%gendep_perl_Exporter
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.16.2-265
 
@@ -964,6 +1080,9 @@ Requires:       perl(DynaLoader)
 Requires:       perl(ExtUtils::Mksymlists)
 Requires:       perl(File::Spec) >= 3.13
 Requires:       perl(Perl::OSType) >= 1
+%if %{defined perl_bootstrap}
+%gendep_perl_ExtUtils_CBuilder
+%endif
 
 %description ExtUtils-CBuilder
 This module can build the C portions of Perl modules by invoking the
@@ -982,6 +1101,9 @@ BuildArch:      noarch
 Requires:       %perl_compat
 Conflicts:      perl < 4:5.20.1-312
 Requires:       perl(File::Find)
+%if %{defined perl_bootstrap}
+%gendep_perl_ExtUtils_Command
+%endif
 
 %description ExtUtils-Command
 This Perl module is used to replace common UNIX commands. In all cases the
@@ -997,6 +1119,9 @@ Epoch:          0
 Version:        1.33
 Requires:       perl-devel
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_ExtUtils_Embed
+%endif
 BuildArch:      noarch
 
 %description ExtUtils-Embed
@@ -1013,6 +1138,9 @@ Version:        2.04
 BuildArch:      noarch
 Requires:       %perl_compat
 Requires:       perl(Data::Dumper)
+%if %{defined perl_bootstrap}
+%gendep_perl_ExtUtils_Install
+%endif
 
 %description ExtUtils-Install
 Handles the installing and uninstalling of perl modules, scripts, man
@@ -1045,6 +1173,9 @@ Requires:       perl(POSIX)
 Requires:       perl(Test::Harness)
 # If an XS module is compiled, xsubpp(1) is needed
 Requires:       perl-ExtUtils-ParseXS
+%if %{defined perl_bootstrap}
+%gendep_perl_ExtUtils_MakeMaker
+%endif
 BuildArch:      noarch
 
 # Filter false DynaLoader provides. Versioned perl(DynaLoader) keeps
@@ -1065,6 +1196,9 @@ Epoch:          0
 Version:        1.70
 Requires:       %perl_compat
 Requires:       perl(File::Path)
+%if %{defined perl_bootstrap}
+%gendep_perl_ExtUtils_Manifest
+%endif
 BuildArch:      noarch
 
 %description ExtUtils-Manifest
@@ -1079,6 +1213,9 @@ Epoch:          0
 Version:        1.05
 Requires:       perl-devel
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_ExtUtils_Miniperl
+%endif
 BuildArch:      noarch
 
 %description ExtUtils-Miniperl
@@ -1099,6 +1236,9 @@ Epoch:          0
 Version:        7.11
 BuildArch:      noarch
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_ExtUtils_MM_Utils
+%endif
 
 %description -n perl-ExtUtils-MM-Utils
 This is a collection of ExtUtils::MM subroutines that are used by many
@@ -1116,6 +1256,9 @@ License:        GPL+ or Artistic
 Epoch:          1
 Version:        3.31
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_ExtUtils_ParseXS
+%endif
 BuildArch:      noarch
 Obsoletes:      perl-ExtUtils-Typemaps
 
@@ -1137,6 +1280,9 @@ Requires:       perl(IPC::Cmd) >= 0.36
 Requires:       perl(Module::Load::Conditional) >= 0.04
 Requires:       perl(Params::Check) >= 0.07
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_File_Fetch
+%endif
 BuildArch:      noarch
 
 %description File-Fetch
@@ -1152,6 +1298,9 @@ Epoch:          0
 Version:        2.12
 Requires:       %perl_compat
 Requires:       perl(Carp)
+%if %{defined perl_bootstrap}
+%gendep_perl_File_Path
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.16.2-265
 
@@ -1172,6 +1321,9 @@ Requires:       %perl_compat
 BuildArch:      noarch
 Requires:       perl(File::Path) >= 2.06
 Requires:       perl(POSIX)
+%if %{defined perl_bootstrap}
+%gendep_perl_File_Temp
+%endif
 Conflicts:      perl < 4:5.16.2-265
 
 %description File-Temp
@@ -1191,6 +1343,9 @@ License:        GPL+ or Artistic
 Epoch:          2
 Version:        1.55
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Filter
+%endif
 
 %description Filter
 Source filters alter the program text of a module before Perl sees it, much as
@@ -1210,6 +1365,9 @@ Requires:       %perl_compat
 Conflicts:      perl < 4:5.20.1-312
 Requires:       perl(Text::Balanced) >= 1.97
 Requires:       perl(warnings)
+%if %{defined perl_bootstrap}
+%gendep_perl_Filter_Simple
+%endif
 
 %description Filter-Simple
 The Filter::Simple Perl module provides a simplified interface to
@@ -1228,6 +1386,9 @@ Requires:       perl(overload)
 Requires:       perl(Text::ParseWords)
 # Recommended:
 Requires:       perl(Pod::Usage) >= 1.14
+%if %{defined perl_bootstrap}
+%gendep_perl_Getopt_Long
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.16.3-268
 
@@ -1249,6 +1410,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        1.36
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_IO
+%endif
 Conflicts:      perl < 4:5.22.0-351
 
 %description IO
@@ -1264,6 +1428,9 @@ Version:        2.069
 Requires:       %perl_compat
 Obsoletes:      perl-Compress-Zlib <= 2.020
 Provides:       perl(IO::Uncompress::Bunzip2)
+%if %{defined perl_bootstrap}
+%gendep_perl_IO_Compress
+%endif
 BuildArch:      noarch
 
 %description IO-Compress
@@ -1280,6 +1447,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        0.37
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_IO_Socket_IP
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.20.0-303
 
@@ -1298,6 +1468,9 @@ Epoch:          1
 Version:        1.10
 Requires:       perl(Compress::Zlib)
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_IO_Zlib
+%endif
 BuildArch:      noarch
 
 %description IO-Zlib
@@ -1317,6 +1490,9 @@ Epoch:          1
 Version:        0.92
 Requires:       perl(ExtUtils::MM::Utils)
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_IPC_Cmd
+%endif
 BuildArch:      noarch
 
 %description IPC-Cmd
@@ -1333,6 +1509,9 @@ Epoch:          0
 Version:        2.06
 Requires:       %perl_compat
 Requires:       perl(DynaLoader)
+%if %{defined perl_bootstrap}
+%gendep_perl_IPC_SysV
+%endif
 Conflicts:      perl < 4:5.22.0-351
 
 %description IPC-SysV
@@ -1351,6 +1530,9 @@ Requires:       perl(bytes)
 Requires:       perl(Carp)
 Requires:       perl(IO::Socket)
 Requires:       perl(Time::Local)
+%if %{defined perl_bootstrap}
+%gendep_perl_HTTP_Tiny
+%endif
 BuildArch:      noarch
 
 %description HTTP-Tiny
@@ -1376,6 +1558,9 @@ Requires:       perl(Math::BigFloat)
 Requires:       perl(Math::BigInt)
 Requires:       perl(Scalar::Util)
 Requires:       perl(subs)
+%if %{defined perl_bootstrap}
+%gendep_perl_JSON_PP
+%endif
 Conflicts:      perl-JSON < 2.50
 
 %description JSON-PP
@@ -1399,6 +1584,9 @@ Requires:       perl(IO::Socket::IP) >= 0.20
 Requires:       perl(POSIX)
 Requires:       perl(Socket) >= 2.016
 Requires:       perl(utf8)
+%if %{defined perl_bootstrap}
+%gendep_perl_libnet
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-347
 
@@ -1416,6 +1604,9 @@ Epoch:          %perl_epoch
 Version:        %perl_version
 # Net::Config is optional
 BuildArch:      noarch
+%if %{defined perl_bootstrap}
+%gendep_perl_libnetcfg
+%endif
 Conflicts:      perl-devel < 4:5.22.0-347
 
 %description libnetcfg
@@ -1431,6 +1622,9 @@ Group:          Development/Libraries
 Requires:       %perl_compat
 Requires:       perl(constant)
 Provides:       perl(Locale::Codes) = %{version}
+%if %{defined perl_bootstrap}
+%gendep_perl_Locale_Codes
+%endif
 BuildArch:      noarch
 
 # Do not export unversioned module
@@ -1454,6 +1648,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        1.26
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Locale_Maketext
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.16.3-268
 
@@ -1475,6 +1672,9 @@ License:        MIT
 Epoch:          1
 Version:        0.21
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Locale_Maketext_Simple
+%endif
 BuildArch:      noarch
 
 %description Locale-Maketext-Simple
@@ -1492,6 +1692,9 @@ Version:        1.9997.15
 Requires:       %perl_compat
 Requires:       perl(Carp)
 # File::Spec not used on recent perl
+%if %{defined perl_bootstrap}
+%gendep_perl_Math_BigInt
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-347
 
@@ -1509,6 +1712,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        0.40
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Math_BigInt_FastCalc
+%endif
 Conflicts:      perl < 4:5.22.0-348
 
 %description Math-BigInt-FastCalc
@@ -1523,6 +1729,9 @@ Epoch:          0
 Version:        0.2608.02
 Requires:       %perl_compat
 Requires:       perl(Math::BigInt)
+%if %{defined perl_bootstrap}
+%gendep_perl_Math_BigRat
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-348
 
@@ -1537,6 +1746,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        1.59
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Math_Complex
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-348
 
@@ -1554,6 +1766,9 @@ Epoch:          0
 Version:        1.03
 Requires:       %perl_compat
 # Keep Time::HiRes optional
+%if %{defined perl_bootstrap}
+%gendep_perl_Memoize
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-350
 
@@ -1574,6 +1789,9 @@ License:        (GPL+ or Artistic) and MIT
 Epoch:          0
 Version:        3.15
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_MIME_Base64
+%endif
 Conflicts:      perl < 4:5.22.0-347
 
 %description MIME-Base64
@@ -1592,6 +1810,9 @@ Version:        5.20160506
 Requires:       %perl_compat
 Requires:       perl(List::Util)
 Requires:       perl(version) >= 0.88
+%if %{defined perl_bootstrap}
+%gendep_perl_Module_CoreList
+%endif
 BuildArch:      noarch
 
 %description Module-CoreList
@@ -1609,6 +1830,9 @@ Requires:       %perl_compat
 Requires:       perl(feature)
 Requires:       perl(version) >= 0.88
 Requires:       perl-Module-CoreList = %{epoch}:%{version}-%{release}
+%if %{defined perl_bootstrap}
+%gendep_perl_Module_CoreList_tools
+%endif
 # The files were distributed with perl.spec's subpackage
 # perl-Module-CoreList <= 1:5.020001-309
 Conflicts:      perl-Module-CoreList < 1:5.020001-310
@@ -1629,6 +1853,9 @@ License:        GPL+ or Artistic
 Epoch:          1
 Version:        0.32
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Module_Load
+%endif
 BuildArch:      noarch
 
 %description Module-Load
@@ -1645,6 +1872,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        0.64
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Module_Load_Conditional
+%endif
 BuildArch:      noarch
 
 %description Module-Load-Conditional
@@ -1661,6 +1891,9 @@ License:        GPL+ or Artistic
 Epoch:          1
 Version:        0.08
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Module_Loaded
+%endif
 BuildArch:      noarch
 
 %description Module-Loaded
@@ -1680,6 +1913,9 @@ License:        GPL+ or Artistic
 Group:          Development/Libraries
 BuildArch:      noarch
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Module_Metadata
+%endif
 
 %description Module-Metadata
 Gather package and POD information from perl module files
@@ -1693,6 +1929,9 @@ Epoch:          0
 Version:        2.43
 Requires:       %perl_compat
 # Keep Net::Ping::External optional
+%if %{defined perl_bootstrap}
+%gendep_perl_Net_Ping
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-350
 
@@ -1710,6 +1949,9 @@ Requires:       %perl_compat
 Requires:       perl(Carp)
 Requires:       perl(Encode)
 Requires:       perl(encoding)
+%if %{defined perl_bootstrap}
+%gendep_perl_open
+%endif
 Conflicts:      perl < 4:5.20.2-326
 BuildArch:      noarch
 
@@ -1726,6 +1968,9 @@ License:        GPL+ or Artistic
 Epoch:          1
 Version:        0.234
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_parent
+%endif
 BuildArch:      noarch
 
 %description parent
@@ -1751,6 +1996,9 @@ License:        GPL+ or Artistic
 Epoch:          1
 Version:        0.38
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Params_Check
+%endif
 BuildArch:      noarch
 
 %description Params-Check
@@ -1769,6 +2017,9 @@ Requires:       %perl_compat
 BuildArch:      noarch
 Requires:       perl(CPAN::Meta::YAML) >= 0.002
 Requires:       perl(JSON::PP) >= 2.27103
+%if %{defined perl_bootstrap}
+%gendep_perl_Parse_CPAN_Meta
+%endif
 # FIXME it could be removed now?
 Obsoletes:      perl-Parse-CPAN-Meta < 1.40
 
@@ -1786,6 +2037,9 @@ Epoch:          0
 Version:        3.63
 Requires:       %perl_compat
 Requires:       perl(Carp)
+%if %{defined perl_bootstrap}
+%gendep_perl_PathTools
+%endif
 
 %description PathTools
 PathTools Perl module (Cwd, File::Spec).
@@ -1800,6 +2054,9 @@ License:        (GPL+ or Artistic) and Public Domain
 Epoch:          0
 Version:        5.021010
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_perlfaq
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-347
 
@@ -1816,6 +2073,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        0.08
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_PerlIO_via_QuotedPrint
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-347
 
@@ -1834,6 +2094,9 @@ Epoch:          0
 License:        GPL+ or Artistic
 Group:          Development/Libraries
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Perl_OSType
+%endif
 BuildArch:      noarch
 
 %description Perl-OSType
@@ -1854,6 +2117,9 @@ Version:        1.60
 License:        GPL+ or Artistic
 Group:          Development/Libraries
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Pod_Checker
+%endif
 BuildArch:      noarch
 
 %description Pod-Checker
@@ -1870,6 +2136,9 @@ License:        GPL+ or Artistic
 Epoch:          1
 Version:        1.07
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Pod_Escapes
+%endif
 BuildArch:      noarch
 
 %description Pod-Escapes
@@ -1883,6 +2152,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        1.22
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Pod_Html
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-350
 
@@ -1899,6 +2171,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        1.63
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Pod_Parser
+%endif
 BuildArch:      noarch
 
 %description Pod-Parser
@@ -1929,6 +2204,9 @@ Requires:       perl(Pod::Simple::XMLOutStream) >= 3.16
 Requires:       perl(Text::ParseWords)
 # Tk is optional
 Requires:       perl(Symbol)
+%if %{defined perl_bootstrap}
+%gendep_perl_Pod_Perldoc
+%endif
 BuildArch:      noarch
 
 %description Pod-Perldoc
@@ -1947,6 +2225,9 @@ License:        GPL+ or Artistic
 Epoch:          1
 Version:        3.32
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Pod_Simple
+%endif
 BuildArch:      noarch
 
 %description Pod-Simple
@@ -1966,6 +2247,9 @@ Requires:       %perl_compat
 # Pod::Usage executes perldoc from perl-Pod-Perldoc by default
 Requires:       perl-Pod-Perldoc
 Requires:       perl(Pod::Text)
+%if %{defined perl_bootstrap}
+%gendep_perl_Pod_Usage
+%endif
 BuildArch:      noarch
 
 %description Pod-Usage
@@ -1989,6 +2273,9 @@ BuildArch:      noarch
 Requires:       %perl_compat
 Requires:       perl(File::Spec) >= 0.8
 Requires:       perl(Pod::Simple) >= 3.06
+%if %{defined perl_bootstrap}
+%gendep_perl_podlators
+%endif
 Conflicts:      perl < 4:5.16.1-234
 
 %description podlators
@@ -2007,6 +2294,9 @@ Epoch:          3
 # Real version 1.42_02
 Version:        1.42
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Scalar_List_Utils
+%endif
 
 %description Scalar-List-Utils
 Scalar::Util and List::Util contain a selection of subroutines that people have
@@ -2024,6 +2314,9 @@ Version:        1.23
 BuildArch:      noarch
 Requires:       %perl_compat
 Requires:       perl(Carp)
+%if %{defined perl_bootstrap}
+%gendep_perl_SelfLoader
+%endif
 Conflicts:      perl < 4:5.22.0-351
 
 %description SelfLoader
@@ -2039,6 +2332,9 @@ License:        GPL+ or Artistic
 Epoch:          4
 Version:        2.020
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Socket
+%endif
 
 %description Socket
 This module is just a translation of the C socket.h file.  Unlike the old
@@ -2062,6 +2358,9 @@ Requires:       perl(Config)
 # Fcntl is optional, but locking is good
 Requires:       perl(Fcntl)
 Requires:       perl(IO::File)
+%if %{defined perl_bootstrap}
+%gendep_perl_Storable
+%endif
 Conflicts:      perl < 4:5.16.3-274
 
 %description Storable
@@ -2079,6 +2378,9 @@ Epoch:          0
 Version:        0.33
 Requires:       %perl_compat
 Requires:       perl(XSLoader)
+%if %{defined perl_bootstrap}
+%gendep_perl_Sys_Syslog
+%endif
 Conflicts:      perl < 4:5.16.3-269
 
 %description Sys-Syslog
@@ -2094,6 +2396,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        4.04
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Term_ANSIColor
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.18.2-302
 
@@ -2115,6 +2420,9 @@ Requires:       %perl_compat
 # ncurses for infocmp tool
 Requires:       ncurses
 Requires:       perl(Carp)
+%if %{defined perl_bootstrap}
+%gendep_perl_Term_Cap
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-347
 
@@ -2132,6 +2440,9 @@ Version:        1.28
 Requires:       %perl_compat
 # Algorithm::Diff 1.15 is optional
 Requires:       perl(File::Temp)
+%if %{defined perl_bootstrap}
+%gendep_perl_Test
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-351
 
@@ -2147,6 +2458,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        3.36
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Test_Harness
+%endif
 BuildArch:      noarch
 
 %description Test-Harness
@@ -2163,6 +2477,9 @@ Epoch:          0
 Version:        1.001014
 Requires:       %perl_compat
 Requires:       perl(Data::Dumper)
+%if %{defined perl_bootstrap}
+%gendep_perl_Test_Simple
+%endif
 BuildArch:      noarch
 
 %description Test-Simple
@@ -2177,6 +2494,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        2.03
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Text_Balanced
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.22.0-347
 
@@ -2194,6 +2514,9 @@ Epoch:          0
 Version:        3.30
 Requires:       %perl_compat
 Requires:       perl(Carp)
+%if %{defined perl_bootstrap}
+%gendep_perl_Text_ParseWords
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.16.2-256
 
@@ -2209,6 +2532,9 @@ License:        TTWL
 Epoch:          0
 Version:        2013.0523
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Text_Tabs_Wrap
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.20.2-325
 
@@ -2229,6 +2555,9 @@ Epoch:          0
 Version:        3.09
 Requires:       %perl_compat
 Requires:       perl(Carp)
+%if %{defined perl_bootstrap}
+%gendep_perl_Thread_Queue
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.16.2-257
 
@@ -2246,6 +2575,9 @@ Epoch:          0
 Version:        1.9733
 Requires:       %perl_compat
 Requires:       perl(Carp)
+%if %{defined perl_bootstrap}
+%gendep_perl_Time_HiRes
+%endif
 Conflicts:      perl < 4:5.16.3-271
 
 %description Time-HiRes
@@ -2262,6 +2594,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        1.2300
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Time_Local
+%endif
 BuildArch:      noarch
 Conflicts:      perl < 4:5.16.3-262
 
@@ -2281,6 +2616,9 @@ License:        (GPL+ or Artistic) and BSD
 Epoch:          0
 Version:        1.31
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_Time_Piece
+%endif
 
 %description Time-Piece
 The Time::Piece module replaces the standard localtime and gmtime functions
@@ -2296,6 +2634,9 @@ License:        GPL+ or Artistic
 Epoch:          1
 Version:        2.07
 Requires:       perl = %{perl_epoch}:%{perl_version}
+%if %{defined perl_bootstrap}
+%gendep_perl_threads
+%endif
 
 %description threads
 Since Perl 5.8, thread programming has been available using a model called
@@ -2318,6 +2659,9 @@ License:        GPL+ or Artistic
 Epoch:          0
 Version:        1.51
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_threads_shared
+%endif
 
 %description threads-shared
 By default, variables are private to each thread, and each newly created thread
@@ -2337,6 +2681,9 @@ Epoch:          0
 Version:        1.14
 Requires:       %perl_compat
 Requires:       perl(Unicode::Normalize)
+%if %{defined perl_bootstrap}
+%gendep_perl_Unicode_Collate
+%endif
 Conflicts:      perl < 4:5.22.0-347
 
 %description Unicode-Collate
@@ -2354,6 +2701,9 @@ Version:        1.25
 Requires:       %perl_compat
 # unicore/CombiningClass.pl and unicore/Decomposition.pl from perl, perl is
 # auto-detected.
+%if %{defined perl_bootstrap}
+%gendep_perl_Unicode_Normalize
+%endif
 Conflicts:      perl < 4:5.22.0-347
 
 %description Unicode-Normalize
@@ -2371,6 +2721,9 @@ Epoch:          5
 # real version 0.9916
 Version:        0.99.16
 Requires:       %perl_compat
+%if %{defined perl_bootstrap}
+%gendep_perl_version
+%endif
 BuildArch:      noarch
 
 %description version
@@ -4683,6 +5036,7 @@ popd
 %changelog
 * Thu May 19 2016 Petr Pisar <[email protected]> - 4:5.24.0-364
 - Remove reflexive dependencies
+- Use pregenerated dependencies on bootstrapping
 
 * Wed May 18 2016 Jitka Plesnikova <[email protected]> - 4:5.24.0-363
 - Stop providing old perl(MODULE_COMPAT_5.22.*)
-- 
cgit v0.12


        
http://pkgs.fedoraproject.org/cgit/perl.git/commit/?h=master&id=c1d0a9658155c0f512faad7b54e20e00f3d682e3
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
[email protected]
https://lists.fedoraproject.org/admin/lists/[email protected]

Reply via email to