I've been working on a deployment function for a perl application using the following guide (http://serialized.net/2010/08/deploying-self-contained-perl-dancer-applications/)
It works just fine on a new clean box with no cpan modules (apart from Shipwright), however the process of importing the required modules to the shipyard fails when working on a different server which already has some modules installed (Which is the server image we will currently need to deploy to for this release. Out of my control).
The perl application uses the Dancer framework, and one of the required modules is Dancer::Plugin::DBIC, which requires the DBIx module. Because the system we're deploying to already has some modules installed, we run the import command with a --skip-installed flag. This checks the version installed and the version required, and will only import the module if a higher version is required. In our case, the DBIx module is of the same version.
At some point, some module appears to be trying to install DBIx::Class::Schema as a module. Because of the skip installed flag, it checks the version installed. The .pm file doesn't have a version number, as it can't be installed as a cpan module (I believe).
Shipwright dies at https://metacpan.org/source/SUNNAVY/Shipwright-2.4.39/lib/Shipwright/Source/Base.pm#L523 when it is checking the current version of DBIx::Class::Schema, it tries to parse the version number, which is of invalid format, being "-1, set by base.pm.". base.pm referres to http://search.cpan.org/~jhi/perl-5.8.0/lib/base.pm.
Does this mean there is a bug with Shipwright, that should remove non numeric data before trying to parse the version number?
Hopefully this is enough information to go on. The exact error we see via cli is... Invalid version format (non-numeric data) at /usr/local/share/perl/5.14.2/Shipwright/Source/Base.pm line 523. After which, the proceses is terminated.
I understand from some people on irc, that Shipwright may not be the best way to go about doing deployments, but I've spent a while working on this, and I'd like to solve the issue anyway, if possible.
Thanks in advance.
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |