mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-02-28 12:23:52 +08:00
* code from setup cleanup #29419 update ci update ci export variables for mac os check env what is in the profile script? install pyenv the same everywhere temporarily disable brew cache temporarily disable brew cache try fixing pyenv virtualenv-init try this inject shims path earlier try alternate install method switch back to brew install try eval "$(pyenv init --path)" add eval "\$(pyenv init --path)" * Add local .env file to the cache list * Change .env paths * debug line * order? * remove .env * Add .venv to caches --------- Co-authored-by: Greg Hogan <gregjhogan@gmail.com>
148 lines
3.2 KiB
Bash
Executable File
148 lines
3.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
|
|
ROOT="$(cd $DIR/../ && pwd)"
|
|
SUDO=""
|
|
|
|
# NOTE: this is used in a docker build, so do not run any scripts here.
|
|
|
|
# Use sudo if not root
|
|
if [[ ! $(id -u) -eq 0 ]]; then
|
|
if [[ -z $(which sudo) ]]; then
|
|
echo "Please install sudo or run as root"
|
|
exit 1
|
|
fi
|
|
SUDO="sudo"
|
|
fi
|
|
|
|
# Install packages present in all supported versions of Ubuntu
|
|
function install_ubuntu_common_requirements() {
|
|
$SUDO apt-get update
|
|
$SUDO apt-get install -y --no-install-recommends \
|
|
autoconf \
|
|
build-essential \
|
|
ca-certificates \
|
|
casync \
|
|
clang \
|
|
cmake \
|
|
make \
|
|
cppcheck \
|
|
libtool \
|
|
gcc-arm-none-eabi \
|
|
bzip2 \
|
|
liblzma-dev \
|
|
libarchive-dev \
|
|
libbz2-dev \
|
|
capnproto \
|
|
libcapnp-dev \
|
|
curl \
|
|
libcurl4-openssl-dev \
|
|
git \
|
|
git-lfs \
|
|
ffmpeg \
|
|
libavformat-dev \
|
|
libavcodec-dev \
|
|
libavdevice-dev \
|
|
libavutil-dev \
|
|
libavfilter-dev \
|
|
libeigen3-dev \
|
|
libffi-dev \
|
|
libglew-dev \
|
|
libgles2-mesa-dev \
|
|
libglfw3-dev \
|
|
libglib2.0-0 \
|
|
libncurses5-dev \
|
|
libncursesw5-dev \
|
|
libomp-dev \
|
|
libopencv-dev \
|
|
libpng16-16 \
|
|
libportaudio2 \
|
|
libssl-dev \
|
|
libsqlite3-dev \
|
|
libusb-1.0-0-dev \
|
|
libzmq3-dev \
|
|
libsystemd-dev \
|
|
locales \
|
|
opencl-headers \
|
|
ocl-icd-libopencl1 \
|
|
ocl-icd-opencl-dev \
|
|
clinfo \
|
|
portaudio19-dev \
|
|
qml-module-qtquick2 \
|
|
qtmultimedia5-dev \
|
|
qtlocation5-dev \
|
|
qtpositioning5-dev \
|
|
qttools5-dev-tools \
|
|
libqt5sql5-sqlite \
|
|
libqt5svg5-dev \
|
|
libqt5charts5-dev \
|
|
libqt5x11extras5-dev \
|
|
libreadline-dev \
|
|
libdw1 \
|
|
valgrind
|
|
}
|
|
|
|
# Install Ubuntu 22.04 LTS packages
|
|
function install_ubuntu_lts_latest_requirements() {
|
|
install_ubuntu_common_requirements
|
|
|
|
$SUDO apt-get install -y --no-install-recommends \
|
|
g++-12 \
|
|
qtbase5-dev \
|
|
qtchooser \
|
|
qt5-qmake \
|
|
qtbase5-dev-tools \
|
|
python3-dev
|
|
}
|
|
|
|
# Install Ubuntu 20.04 packages
|
|
function install_ubuntu_focal_requirements() {
|
|
install_ubuntu_common_requirements
|
|
|
|
$SUDO apt-get install -y --no-install-recommends \
|
|
libavresample-dev \
|
|
qt5-default \
|
|
python-dev
|
|
}
|
|
|
|
# Detect OS using /etc/os-release file
|
|
if [ -f "/etc/os-release" ]; then
|
|
source /etc/os-release
|
|
case "$VERSION_CODENAME" in
|
|
"jammy")
|
|
install_ubuntu_lts_latest_requirements
|
|
;;
|
|
"kinetic")
|
|
install_ubuntu_lts_latest_requirements
|
|
;;
|
|
"focal")
|
|
install_ubuntu_focal_requirements
|
|
;;
|
|
*)
|
|
echo "$ID $VERSION_ID is unsupported. This setup script is written for Ubuntu 20.04."
|
|
read -p "Would you like to attempt installation anyway? " -n 1 -r
|
|
echo ""
|
|
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
exit 1
|
|
fi
|
|
if [ "$UBUNTU_CODENAME" = "jammy" ] || [ "$UBUNTU_CODENAME" = "kinetic" ]; then
|
|
install_ubuntu_lts_latest_requirements
|
|
else
|
|
install_ubuntu_focal_requirements
|
|
fi
|
|
esac
|
|
else
|
|
echo "No /etc/os-release in the system"
|
|
exit 1
|
|
fi
|
|
|
|
# python setup
|
|
$DIR/install_python_dependencies.sh
|
|
|
|
echo
|
|
echo "---- OPENPILOT SETUP DONE ----"
|
|
echo "Open a new shell or configure your active shell env by running:"
|
|
echo "source ~/.bashrc"
|