0

I'm using Par::Packer on OSX and Linux to create binaries for some applications that utilize Paws.

I'm calling pp like so:

pp -o build_cluster -x -c -I lib/ @ppdeps bin/build_cluster

ppdeps contains a list of modules that caused pp to fail because they weren't detected at build time. The only way that I'm aware of to make this work is to run pp repeatedly, wait for it to fail, then add the module it complains about to ppdeps.

My question is whether there's a better way to do this, or a way to get a full list of dependencies beforehand? I could write a script to do what I've been doing manually, but if there's a better way, I'd be glad to know it.

ppdeps contents:

-I local/lib/perl5/
-a fakename.conf
-M Paws::Net::Caller
-M Paws::Net::RetryCallerRole
-M Paws::Net::APIResponse
-M Paws::Net::S3Signature
-M Paws::Net::RestXmlCaller
-M Paws::Net::RestXMLResponse
-M Paws::API::Caller
-M Paws::API::EndpointResolver
-M Paws::S3
-M Paws::S3::ListBuckets
-M Paws::S3::ListBucketsOutput
-M Paws::Route53
-M Method::Generate::BuildAll
-M IO::Socket::SSL
-M Net::SSLeay
-M Archive::Zip::ZipFileMember

This is incomplete, I'm still building it for this app. The more Paws modules are included in the app, the more hidden dependencies pop up.

This has only been an issue with apps that use Paws and, to a lesser extent, Moose.

antzshrek
  • 9,276
  • 5
  • 26
  • 43
Roy Hubbard
  • 53
  • 1
  • 7

1 Answers1

1

Here is how i make a build.

pp -o build/run -B -I local/lib/perl5/ script/app.pl 
  • I should have posted the contents of ppdeps, sorry about that. Will update the question. I'm already doing -l local/lib/perl5/. It doesn't work. I should also point out that I don't have issues with pp except where Paws or, to a lesser degree, Moose are concerned. – Roy Hubbard Aug 09 '18 at 19:32