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