增加installdeps.sh用于部分系统安装依赖项

This commit is contained in:
ExMingYan 2025-05-30 16:18:50 +08:00
parent 6e84893562
commit 112c991c12

64
installdeps.sh Executable file
View File

@ -0,0 +1,64 @@
#!/usr/bin/bash
checkdeps() {
for dep in "$@"; do
case "$distro_id" in
debian | ubuntu)
if ! dpkg -s "$dep" >/dev/null 2>&1; then
sudo apt-get install "$1" -y
fi
;;
fedora | centos | rhel)
if ! rpm -q "$dep" >/dev/null 2>&1; then
sudo dnf install -y "$1" || sudo yum install -y "$dep"
fi
;;
arch | mingw)
if ! pacman -Q "$dep" >/dev/null 2>&1; then
sudo pacman -S "$dep" --noconfirm
fi
;;
*)
echo "Unsupported System"
exit 1
;;
esac
done
}
checkalldeps() {
case "$distro_id" in
debian | ubuntu)
checkdeps "build-essential" "libpng-dev" "gcc-arm-none-eabi" "binutils-arm-none-eabi" "libnewlib-arm-none-eabi" "python3"
;;
fedora | centos | rhel)
checkdeps "glibc-devel" "plocate" "make" "clear" "gcc" "c++" "libpng-devel" "arm-none-eabi-gcc" "arm-none-eabi-binutils" "arm-none-eabi-newlib" "python3"
;;
arch)
checkdeps "base-devel" "libpng" "arm-none-eabi-gcc" "arm-none-eabi-binutils" "arm-none-eabi-newlib" "python"
;;
mingw)
checkdeps "make" "mingw-w64-x86_64-toolchain" "mingw-w64-x86_64-arm-none-eabi-toolchain" "mingw-w64-x86_64-libpng" "python3"
;;
*)
echo "Unsupported Linux distribution: $distro_id"
exit 1
;;
esac
}
if [[ "$(uname -s)" == "Linux" ]]; then
if [ -f /etc/os-release ]; then
. /etc/os-release
distro_id="$ID"
else
distro_id="unknown"
fi
elif [[ "$(uname -s)" == "Darwin" ]]; then
distro_id="macos"
elif [[ "$(uname -s)" == *"MINGW64"* ]] || [[ "$(uname -s)" == *"MSYS"* ]]; then
distro_id="mingw"
else
distro_id="unknown"
fi
checkalldeps