Install EU::CB in a separate step as to not tickle an old CPAN bug
Peter Rabbitson [Mon, 22 Jul 2013 03:06:19 +0000 (05:06 +0200)]
Older CPAN.pm had a problem with the circular dependency resolution firing
erroneously *after* everything was successfully installed, e.g.:

https://s3.amazonaws.com/archive.travis-ci.org/jobs/9336470/log.txt

(scroll to the end)

maint/travis-ci_scripts/30_before_script.bash

index a1968b4..3428b87 100755 (executable)
@@ -45,9 +45,11 @@ if [[ "$CLEANTEST" = "true" ]]; then
   # possible, mainly to catch "but X is perl core" mistakes
   # So instead we still use our stock (possibly old) CPAN, and add some
   # handholding
-  CPAN_is_sane || \
-    run_or_err "Pre-installing ExtUtils::MakeMaker and Module::Build" \
-      "cpan ExtUtils::MakeMaker Module::Build"
+  if ! CPAN_is_sane ; then
+    for m in ExtUtils::MakeMaker ExtUtils::CBuilder Module::Build ; do
+      run_or_err "Pre-installing $m" "cpan $m"
+    done
+  fi
 
   if ! perl -MModule::Build -e 1 &> /dev/null ; then
     echo_err -e "Module::Build installation failed\n$LASTOUT"