--- #description_paragraphs: 3 #no_testing: broken upstream #patches: # foo.patch: -p1 # bar.patch: sources: - fatunpack preamble: |- # Run-time: # Nothing special. The tests are very poor. But we run perl -c at built-time # to check for correct unpacking. So we need non-optional run-time # dependencies at build-time too: BuildRequires: perl(Config) BuildRequires: perl(aliased) BuildRequires: perl(constant) # CPAN::DistnameInfo not needed for compilation # CPAN::Meta not needed for copmilation # CPAN::Meta::Check not needed for compilation # CPAN::Meta::Prereqs not needed for compilation BuildRequires: perl(CPAN::Meta::Requirements) # CPAN::Meta::YAML not needed for compilation BuildRequires: perl(Cwd) # Digest::SHA not needed for compilation # Dumpvalue not needed for compilation # ExtUtils::Manifest not needed for compilation BuildRequires: perl(File::Basename) BuildRequires: perl(File::Copy) BuildRequires: perl(File::Find) # File::pushd not needed for compilation BuildRequires: perl(File::Temp) # HTTP::Tiny not needed for compilation # JSON::PP not needed for compilation # local::lib not needed for compilation # Module::CoreList not needed for compilation # Module::CPANfile not needed for compilation # Module::Metadata not needed for compilation BuildRequires: perl(Parse::CPAN::Meta) # POSIX not needed for compilation # Safe not needed for compilation BuildRequires: perl(String::ShellQuote) BuildRequires: perl(Symbol) BuildRequires: perl(version) # version::vpp not needed for compilation BuildRequires: perl(warnings::register) # YAML not needed for compilation # Tests: BuildRequires: perl(Test::More) BuildRequires: perl(Pod::Select) # Current dependency generator cannot parse compressed code. Use PPI to find # them, and list them manually: # Archive::Tar is optional # Archive::Zip is optional # Compress::Zlib is optional Requires: perl(CPAN::DistnameInfo) Requires: perl(CPAN::Meta) Requires: perl(CPAN::Meta::Check) Requires: perl(CPAN::Meta::Prereqs) Requires: perl(CPAN::Meta::YAML) Requires: perl(Digest::SHA) Requires: perl(ExtUtils::Install) >= 1.46 Requires: perl(ExtUtils::MakeMaker) >= 6.31 Requires: perl(ExtUtils::Manifest) # File::HomeDir is optional Requires: perl(File::pushd) # HTTP getter by LWP::UserAgent or wget or curl or HTTP::Tiny Requires: perl(HTTP::Tiny) Requires: perl(Parse::PMFile) Requires: perl(local::lib) # LWP::Protocol::https is optional # LWP::UserAgent is optional Requires: perl(Module::Build) Requires: perl(Module::CPANfile) Requires: perl(Module::CoreList) Requires: perl(Module::Metadata) # Module::Signature is optional Requires: perl(String::ShellQuote) # Win32 not used Requires: perl(YAML) Provides: cpanm = %{version}-%{release} Obsoletes: cpanm <= 1.5010 post_prep: |- # Unbundle fat-packed modules podselect lib/App/cpanminus.pm > lib/App/cpanminus.pod # https://bugzilla.suse.com/show_bug.cgi?id=1229819 CVE-2024-45321 bsc#1229819 perl -pi -E 's{http://(cpan\.cpantesters\.org|www\.cpan\.org|backpan\.perl\.org|cpan\.metacpan\.org|fastapi\.metacpan\.org|cpanmetadb\.plackperl\.org)}{https://$2}g' bin/cpanm for F in bin/cpanm lib/App/cpanminus/fatscript.pm; do perl %{SOURCE1} --libdir lib --filter '^App/cpanminus' "$F" > "${F}.stripped" perl -c -Ilib "${F}.stripped" mv "${F}.stripped" "$F" done #license: SUSE-NonFree