--- dist: trusty language: perl install: - sudo apt-get update - sudo apt-get --no-install-recommends install devscripts python python3 ruby php5-cli gawk ksh zsh pylint - sudo apt-get --no-install-recommends install pkg-config libdb-dev libvirt-dev libexpat-dev # - Munin/Plugin.pm is in "munin-node" on precise - sudo apt-get --no-install-recommends install munin-node - sudo apt-get --no-install-recommends install libsys-virt-perl # Modules used by test script - cpanm --notest Capture::Tiny - cpanm --notest File::Find - cpanm --notest Test::More # Modules used by plugins - cpanm --notest Asterisk::AMI - cpanm --notest BerkeleyDB - cpanm --notest Cache::Memcached - cpanm --notest DBD::Pg - cpanm --notest Data::Dump - cpanm --notest Date::Manip - cpanm --notest Date::Parse - cpanm --notest DateTime::Format::ISO8601 - cpanm --notest Device::SerialPort - cpanm --notest FCGI::Client - cpanm --notest File::ReadBackwards - cpanm --notest Graphics::ColorObject - cpanm --notest IPC::Run3 - cpanm --notest IPC::ShareLite - cpanm --notest JSON - cpanm --notest JSON::Any - cpanm --notest Mail::Sendmail - cpanm --notest Modern::Perl - cpanm --notest MooseX::POE - cpanm --notest Net::DNS - cpanm --notest Net::OpenSSH - cpanm --notest Net::SNMP - cpanm --notest Net::Telnet - cpanm --notest Net::Telnet::Cisco - cpanm --notest POE - cpanm --notest POE::Component::IRC - cpanm --notest POE::Quickie - cpanm --notest Proc::ProcessTable - cpanm --notest Redis - cpanm --notest Switch - cpanm --notest Text::Iconv - cpanm --notest WWW::Mechanize::TreeBuilder - cpanm --notest YAML - cpanm --notest XML::LibXML - cpanm --notest XML::Simple - cpanm --notest XML::Smart - cpanm --notest XML::Twig - cpanm --notest nvidia::ml - cpanm --notest experimental # Modules used by plugins, but missing on cpan # - File::Tail::Multi # - Sun::Solaris::Kstat # - VMware::VIRuntime # - MythTV # Mixing modules installed via cpan and apt is a bit problematic: # * perl (as it is used by travis) seems to be built without threading support # * perl modules installed via apt were built against a threaded perl (e.g. DBI/DBI.so) # Thus we need to make sure, that the modules installed via CPAN and the binary modules prepared by # travis are preferred over the binary perl modules installed via apt (e.g. below /usr/lib/perl). # Since the PERL5LIB environment variable precedes all other search paths, we use the sequence # below in order to achieve the following order of preference: # 1) /usr/share/perl5 (unknown requirement) # 2) perl search path defined by travis environment # 3) binary system-wide installed perl modules (via apt) script: - dpkg -L libsys-virt-perl - mkdir -p ~/system-perl/auto - ln -s /usr/lib/perl5/Sys ~/system-perl/ - ln -s /usr/lib/perl5/auto/Sys ~/system-perl/auto/ - "PERL5LIB=$PERL5LIB:/usr/share/perl5:~/system-perl prove"