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.
Here is how i make a build.