script to install only ubuntu dependencies (#29510)
* script to install only ubuntu dependencies
* update Dockerfile
* add shebang
old-commit-hash: b24bbe4607
beeps
parent
f6fd240e95
commit
69570ef251
3 changed files with 136 additions and 134 deletions
@ -0,0 +1,134 @@ |
||||
#!/usr/bin/env bash |
||||
set -e |
||||
|
||||
SUDO="" |
||||
|
||||
# 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 |
Loading…
Reference in new issue