Get all dependencies for Par::Packer?

352 views Asked by At

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.

1

There are 1 answers

1
Tigran Khachikyan On

Here is how i make a build.

pp -o build/run -B -I local/lib/perl5/ script/app.pl