Home | History | Annotate | Download | only in .travis
      1 PIP=`which pip || (python --version 2>&1 | grep -q 'Python 2' && which pip2) || (python --version 2>&1 | grep -q 'Python 3' && which pip3)`
      2 
      3 # Install dependencies using pip
      4 if [ -z "$SCAPY_SUDO" -o "$SCAPY_SUDO" = "false" ]
      5 then
      6   SCAPY_SUDO=""
      7   if [ "$TRAVIS_OS_NAME" = "osx" ]
      8   then
      9     PIP_INSTALL_FLAGS="--user"
     10   fi
     11 else
     12   SCAPY_SUDO="$SCAPY_SUDO -H"
     13 fi
     14 
     15 $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U mock
     16 
     17 if python --version 2>&1 | grep -q '^Python 3\.[0123]'
     18 then
     19   # cryptography with Python 3 < 3.4 requires enum34
     20   $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U enum34
     21 fi
     22 
     23 if ! python --version 2>&1 | grep -q PyPy; then
     24   # cryptography requires PyPy >= 2.6, Travis CI uses 2.5.0
     25   $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U cryptography
     26 fi
     27 
     28 # Install coverage
     29 if [ "$SCAPY_COVERAGE" = "yes" ]
     30 then
     31   $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U coverage
     32   $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U PyX
     33   $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U codecov
     34 fi
     35 
     36 # Install pcap & dnet
     37 if [ ! -z $SCAPY_USE_PCAPDNET ]
     38 then
     39   if [ "$TRAVIS_OS_NAME" = "linux" ]
     40   then
     41     $SCAPY_SUDO apt-get -qy install libdumbnet-dev libpcap-dev
     42     # $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U pypcap  ## sr(timeout) HS
     43     # $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U pcapy   ## sniff HS
     44     # $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U pylibpcap  ## won't install
     45     $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U http://http.debian.net/debian/pool/main/p/python-libpcap/python-libpcap_0.6.4.orig.tar.gz
     46     $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U pydumbnet
     47     # wget https://pypi.python.org/packages/71/60/15b9e0005bf9062bdc04fc8129b4cdb01cc4189a75719441ff2e23e55b15/dnet-real-1.12.tar.gz
     48     # tar zxf dnet-real-1.12.tar.gz
     49     # cd dnet-real-1.12
     50     # sed -i 's/dnet\.h/dumbnet.h/; s/|Py_TPFLAGS_CHECKTYPES//g' dnet.c
     51     # sed -i 's#dnet_extobj = \[\]#dnet_extobj = \["/usr/lib/libdumbnet.so"\]#' setup.py
     52     # $SCAPY_SUDO $PIP install $PIP_INSTALL_FLAGS -U .
     53     # cd ../
     54   elif [ "$TRAVIS_OS_NAME" = "osx" ]
     55   then
     56     mkdir -p /Users/travis/Library/Python/2.7/lib/python/site-packages
     57     echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> /Users/travis/Library/Python/2.7/lib/python/site-packages/homebrew.pth
     58  
     59     brew update
     60     brew install --with-python libdnet
     61     brew install .travis/pylibpcap.rb
     62   fi
     63 fi
     64 
     65 # Install wireshark data
     66 if [ ! -z "$SCAPY_SUDO" ] && [ "$TRAVIS_OS_NAME" = "linux" ]
     67 then
     68   $SCAPY_SUDO apt-get -qy install openssl libwireshark-data
     69 fi
     70