CC: | "Magri, Matt" <mmagri [...] akamai.com> |
Subject: | shipwright update --follow sometimes fails |
Date: | Fri, 06 Dec 2013 11:44:25 -0500 |
To: | bug-Shipwright [...] rt.cpan.org |
From: | Andrew Psaltis <apsaltis [...] akamai.com> |
-- Shipwright 2.4.36 (latest dependencies from CPAN)
-- Perl 5.18.1 (Debian Unstable), Perl 5.14.2 (Ubuntu 12.04)
Greetings.
I have been attempting to use shipwright to manage a large collection of CPAN modules, and
attempting to do a recursive module update often (but not always) results in some
dependent modules losing their "require.yml" files. This prevents updates of any other
module in the shipyard without deleting and re-importing all of the modules for which this
has happened.
For example, the following output can result from a simple "shipwright update --follow"
command:
------------------------------------------------------------
+ rm -rf /home/apsaltis/test-sw/sy
+ /home/apsaltis/perl5/bin/shipwright create
successfully created
+ /home/apsaltis/perl5/bin/shipwright import Net::SSLeay --version 1.48
CPAN related output will be at /tmp/shipwright_cpan.log
importing cpan-Net-SSLeay
successfully imported
+ /home/apsaltis/perl5/bin/shipwright import IO::Socket::SSL --version 1.76
CPAN related output will be at /tmp/shipwright_cpan.log
import cpan-Net-SSLeay
importing cpan-IO-Socket-SSL
successfully imported
+ /home/apsaltis/perl5/bin/shipwright update --follow cpan-IO-Socket-SSL
CPAN related output will be at /tmp/shipwright_cpan.log
import cpan-Net-SSLeay
importing cpan-IO-Socket-SSL
successfully imported
CPAN related output will be at /tmp/shipwright_cpan.log
importing cpan-Net-SSLeay
Failed to load YAML document from
'/home/apsaltis/test-sw/sy//scripts/cpan-Net-SSLeay/require.yml' at
/home/apsaltis/perl5/lib/perl5/Shipwright/Backend/FS.pm line 204.
successfully updated
------------------------------------------------------------
Here, the environment variable "SHIPWRIGHT_SHIPYARD" is set to
"fs:/home/apsaltis/test-sw/sy". Tests using the -r flag set to that same value yielded
similar results.
Nothing appears out of place in /tmp/shipwright_cpan.log. Using the latest CPAN.pm has no
effect on whether the problem manifests.
The problem can also be demonstrated by updating dependent components of DBIx::SearchBuilder.
Sometimes, nothing goes wrong when I do a call to "shipwright update --follow". It may
take take multiple executions of the below test case for the problem to appear:
------------------------------------------------------------
#!/bin/bash
CWD=$(pwd)
SY=fs:$CWD/sy
export SHIPWRIGHT_SHIPYARD=$SY
SW=$(which shipwright)
set -x
rm -rf $CWD/sy
$SW create
$SW import Net::SSLeay --version 1.48
$SW import IO::Socket::SSL --version 1.76
$SW update --follow cpan-IO-Socket-SSL
------------------------------------------------------------
Thanks,
~Andrew
--
Andrew Psaltis -- Akamai Technologies -- apsaltis@akamai.com