#!/bin/bash # SPDX-License-Identifier: GPL-2.0-only # This file is part of Scapy # See https://scapy.net/ for more information # Usage: # ./install.sh [install mode] # Detect install mode if [[ "${1}" == "libpcap" ]] then SCAPY_USE_LIBPCAP="yes" if [[ ! -z "$GITHUB_ACTIONS" ]] then echo "SCAPY_USE_LIBPCAP=yes" >> $GITHUB_ENV fi fi # Install on osx if [ "${OSTYPE:0:6}" = "darwin" ] then if [ ! -z $SCAPY_USE_LIBPCAP ] then brew update brew install libpcap fi fi CUR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) # Install wireshark data, ifconfig, vcan, samba, openldap if [ "$OSTYPE" = "linux-gnu" ] then sudo apt-get update sudo apt-get -qy install tshark net-tools || exit 1 sudo apt-get -qy install can-utils || exit 1 sudo apt-get -qy install linux-modules-extra-$(uname -r) || exit 1 sudo apt-get -qy install samba smbclient # For OpenLDAP, we need to pre-populate some setup questions sudo debconf-set-selections <<< 'slapd slapd/password2 password Bonjour1' sudo debconf-set-selections <<< 'slapd slapd/password1 password Bonjour1' sudo debconf-set-selections <<< 'slapd slapd/domain string scapy.net' sudo apt-get -qy install slapd ldapadd -D "cn=admin,dc=scapy,dc=net" -w Bonjour1 -f $CUR/openldap-testdata.ldif -c # Make sure libpcap is installed if [ ! -z $SCAPY_USE_LIBPCAP ] then sudo apt-get -qy install libpcap-dev || exit 1 fi fi # Update pip & setuptools (tox uses those) python -m pip install --upgrade pip setuptools wheel --ignore-installed # Make sure tox is installed and up to date python -m pip install -U tox --ignore-installed # Dump Environment (so that we can check PATH, UT_FLAGS, etc.) set