# perldoc -l <mod> searches $(pwd)/lib in addition to PERL5LIB etc, hence the cd /
echo_err "Latest stable DBIC (without deps) locatable via \$PERL5LIB at $(cd / && perldoc -l DBIx::Class)"
+
+ # FIXME - this is a kludge in place of proper MDV testing. For the time
+ # being simply use the minimum versions of our DBI/DBDstack, to avoid
+ # fuckups like 0.08260 (went unnoticed for 5 months)
+ #
+ # use url-spec for DBI due to https://github.com/miyagawa/cpanminus/issues/328
+ if perl -M5.013003 -e1 &>/dev/null ; then
+ # earlier DBI will not compile without PERL_POLLUTE which was gone in 5.14
+ parallel_installdeps_notest T/TI/TIMB/DBI-1.614.tar.gz
+ else
+ parallel_installdeps_notest T/TI/TIMB/DBI-1.57.tar.gz
+ fi
+
+ # Test both minimum DBD::SQLite and minimum BigInt SQLite
+ if [[ "$CLEANTEST" = "true" ]]; then
+ parallel_installdeps_notest DBD::SQLite@1.37
+ else
+ parallel_installdeps_notest DBD::SQLite@1.29
+ fi
+
fi
if [[ "$CLEANTEST" = "true" ]]; then
parallel_installdeps_notest Test::Exception Encode::Locale Test::Fatal
parallel_installdeps_notest Test::Warn B::Hooks::EndOfScope Test::Differences HTTP::Status
parallel_installdeps_notest Test::Pod::Coverage Test::EOL Devel::GlobalDestruction Sub::Name MRO::Compat Class::XSAccessor URI::Escape HTML::Entities
- parallel_installdeps_notest YAML LWP Class::Trigger JSON::XS DBI DateTime::Format::Builder Class::Accessor::Grouped Package::Variant
+ parallel_installdeps_notest YAML LWP Class::Trigger JSON::XS DateTime::Format::Builder Class::Accessor::Grouped Package::Variant
parallel_installdeps_notest 'SQL::Abstract~<1.99' Moose Module::Install JSON SQL::Translator File::Which
if [[ -n "DBICTEST_FIREBIRD_DSN" ]] ; then
if [[ "$DEVREL_DEPS" != "true" ]] && ! CPAN_is_sane ; then
# combat dzillirium on harness-wide level, otherwise breakage happens weekly
echo_err "$(tstamp) Ancient CPAN.pm: engaging TAP::Harness::IgnoreNonessentialDzilAutogeneratedTests during dep install"
- perl -MTAP::Harness=3.18 -e1 &>/dev/null || run_or_err "Upgrading TAP::Harness for HARNESS_SUBCLASS support" "cpan TAP::Harness"
+ perl -MTAP::Harness\ 3.18 -e1 &>/dev/null || run_or_err "Upgrading TAP::Harness for HARNESS_SUBCLASS support" "cpan TAP::Harness"
export PERL5LIB="$(pwd)/maint/travis-ci_scripts/lib:$PERL5LIB"
export HARNESS_SUBCLASS="TAP::Harness::IgnoreNonessentialDzilAutogeneratedTests"
# sanity check, T::H does not report sensible errors when the subclass fails to load
perl -MTAP::Harness::IgnoreNonessentialDzilAutogeneratedTests -e1
# DBD::SQLite reasonably wants DBI at config time
- HARD_DEPS="DBI $HARD_DEPS"
+ perl -MDBI -e1 &>/dev/null || HARD_DEPS="DBI $HARD_DEPS"
# this is a fucked CPAN - won't understand configure_requires of
# various pieces we may run into
# listalldeps is deliberate - will upgrade everything it can find
# we exclude SQLA specifically, since we do not want to pull
# in 1.99_xx on bleadcpan runs
- parallel_installdeps_notest $(make listalldeps | grep -vP 'SQL::Abstract')
+ deplist="$(make listalldeps | grep -vP '^(SQL::Abstract)$')"
+ # assume MDV on POISON_ENV, do not touch DBI/SQLite
+ if [[ "$POISON_ENV" = "true" ]] ; then
+ deplist="$(grep -vP '^(DBI|DBD::SQLite)$' <<< "$deplist")"
+ fi
+
+ parallel_installdeps_notest "$deplist"
fi
echo_err "$(tstamp) Dependency installation finished"
exit 1
fi
+# check that our MDV somewhat works
+if [[ "$POISON_ENV" = "true" ]] && ( perl -MDBD::SQLite\ 1.38 -e1 || perl -MDBI\ 1.615 -e1 ) &>/dev/null ; then
+ echo_err "Something went wrong - higher versions of DBI and/or DBD::SQLite than we expected"
+ exit 1
+fi
+
+
# announce what are we running
echo_err "
===================== DEPENDENCY CONFIGURATION COMPLETE =====================