X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=maint%2Ftravis-ci_scripts%2F20_install.bash;h=23ac294c49b12838d457b3fe3b2c5b6f7c780c66;hb=5c0b7a18c25ff3b7c5c723a2c905b0e2eb58cfe2;hp=7c19a5619df01cd4983b00b9b3c45712ef42fd40;hpb=4bbabf15ead15ffb2423e95814727b7d5bf0cda3;p=dbsrgits%2FDBIx-Class.git diff --git a/maint/travis-ci_scripts/20_install.bash b/maint/travis-ci_scripts/20_install.bash index 7c19a56..23ac294 100755 --- a/maint/travis-ci_scripts/20_install.bash +++ b/maint/travis-ci_scripts/20_install.bash @@ -1,6 +1,5 @@ #!/bin/bash -source maint/travis-ci_scripts/common.bash if [[ -n "$SHORT_CIRCUIT_SMOKE" ]] ; then return ; fi CPAN_MIRROR=$(echo "$PERL_CPANM_OPT" | grep -oP -- '--mirror\s+\S+' | head -n 1 | cut -d ' ' -f 2) @@ -12,16 +11,12 @@ if ! [[ "$CPAN_MIRROR" =~ "http://" ]] ; then echo_err "Using $CPAN_MIRROR for the time being" fi -export PERL_MM_USE_DEFAULT=1 PERL_MM_NONINTERACTIVE=1 PERL_AUTOINSTALL_PREFER_CPAN=1 PERLBREW_CPAN_MIRROR="$CPAN_MIRROR" +# do not set PERLBREW_CPAN_MIRROR - not all backpan-like mirrors have the perl tarballs +export PERL_MM_USE_DEFAULT=1 PERL_MM_NONINTERACTIVE=1 PERL_AUTOINSTALL_PREFER_CPAN=1 HARNESS_TIMER=1 MAKEFLAGS="-j$NUMTHREADS" # try CPAN's latest offering if requested if [[ "$DEVREL_DEPS" == "true" ]] ; then - if [[ "$CLEANTEST" == "true" ]] ; then - echo_err "DEVREL_DEPS combined with CLEANTEST makes no sense - it is only possible with cpanm" - exit 1 - fi - PERL_CPANM_OPT="$PERL_CPANM_OPT --dev" # FIXME inline-upgrade cpanm, work around https://github.com/travis-ci/travis-ci/issues/1477 @@ -54,6 +49,27 @@ if [[ -n "$BREWVER" ]] ; then exit 1 fi +# no brewver - this means a travis perl, which means we want to clean up +# the presently installed libs +# Idea stolen from +# https://github.com/kentfredric/Dist-Zilla-Plugin-Prereqs-MatchInstalled-All/blob/master/maint-travis-ci/sterilize_env.pl +elif [[ "$CLEANTEST" == "true" ]] && [[ "$POISON_ENV" != "true" ]] ; then + + echo_err "$(tstamp) Cleaning precompiled Travis-Perl" + perl -MConfig -MFile::Find -e ' + my $sitedirs = { + map { $Config{$_} => 1 } + grep { $_ =~ /site(lib|arch)exp$/ } + keys %Config + }; + find({ bydepth => 1, no_chdir => 1, follow_fast => 1, wanted => sub { + ! $sitedirs->{$_} and ( -d _ ? rmdir : unlink ) + } }, keys %$sitedirs ) + ' + + echo_err "Post-cleanup contents of sitelib of the pre-compiled Travis-Perl $TRAVIS_PERL_VERSION:" + echo_err "$(tree $(perl -MConfig -e 'print $Config{sitelib_stem}'))" + echo_err fi # configure CPAN.pm - older versions go into an endless loop