diff --git a/assets/config/deps/dependencies b/assets/config/deps/dependencies index 6b4a6d8..052385f 100644 --- a/assets/config/deps/dependencies +++ b/assets/config/deps/dependencies @@ -1,2 +1 @@ -deps="openssl nginx meshtastic flask" -pkgs="openssl nginx nginx-common python3-meshtastic python3-flask python3-requests" \ No newline at end of file +deps="openssl nginx nginx-common python3-meshtastic python3-flask python3-requests" \ No newline at end of file diff --git a/assets/test/test.sh b/assets/test/test.sh index 634bb94..8327725 100755 --- a/assets/test/test.sh +++ b/assets/test/test.sh @@ -56,4 +56,53 @@ done echo -e "\n ${YEL}Invalid response... Try again...\n\n ${GRN}Y ${YEL}= (Yes, install dependencies and continue)\n ${RED}N ${YEL}= (No, don't install dependencies and exit)${CRS}\n " fi done -fi \ No newline at end of file +fi + + +# List of packages to check +packages=("git" "gcc" "python3" "vim") + +# Function to check if a package is installed and install if not +check_and_install() { + local pkg="$1" + local package_manager="" + + # Determine the package manager based on the system + if command -v apt-get >/dev/null 2>&1; then + package_manager="apt-get" + elif command -v yum >/dev/null 2>&1; then + package_manager="yum" + elif command -v dnf >/dev/null 2>&1; then + package_manager="dnf" + else + echo "Unsupported package manager. Cannot proceed." + exit 1 + fi + + # Check if package is installed + if dpkg -s "$pkg" >/dev/null 2>&1; then + echo "$pkg is already installed." + else + echo "$pkg is not installed." + read -p "Would you like to install $pkg? (Y/N): " answer + case $answer in + [Yy]*) + if [[ "$package_manager" == "apt-get" ]]; then + sudo apt-get install -y "$pkg" + elif [[ "$package_manager" == "yum" ]]; then + sudo yum install -y "$pkg" + elif [[ "$package_manager" == "dnf" ]]; then + sudo dnf install -y "$pkg" + fi + ;; + *) + echo "Skipping installation of $pkg." + ;; + esac + fi +} + +# Loop through each package and check/install +for pkg in "${packages[@]}"; do + check_and_install "$pkg" +done \ No newline at end of file