From 85663170f88a5ed0b0520388250649e7107a5d84 Mon Sep 17 00:00:00 2001 From: CodeRoK7 <58553260+CodeRoK7@users.noreply.github.com> Date: Mon, 14 Jul 2025 22:48:47 +0500 Subject: [PATCH] Add check if alt firmware --- universal_config.sh | 48 +++++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/universal_config.sh b/universal_config.sh index 00cbe39..8feb7f0 100644 --- a/universal_config.sh +++ b/universal_config.sh @@ -120,25 +120,39 @@ manage_package() { fi } -checkPackageAndInstall() -{ + +checkPackageAndInstall() { local name="$1" - local isRequried="$2" - #проверяем установлени ли библиотека $name - if opkg list-installed | grep -q $name; then - echo "$name already installed..." + local isRequired="$2" + local alt="" + + if [ "$name" = "https-dns-proxy" ]; then + alt="luci-app-doh-proxy" + fi + + if [ -n "$alt" ]; then + if opkg list-installed | grep -qE "^($name|$alt) "; then + echo "$name or $alt already installed..." + return 0 + fi else - echo "$name not installed. Installed $name..." - opkg install $name - res=$? - if [ "$isRequried" = "1" ]; then - if [ $res -eq 0 ]; then - echo "$name insalled successfully" - else - echo "Error installing $name. Please, install $name manually and run the script again" - exit 1 - fi - fi + if opkg list-installed | grep -q "^$name "; then + echo "$name already installed..." + return 0 + fi + fi + + echo "$name not installed. Installing $name..." + opkg install "$name" + res=$? + + if [ "$isRequired" = "1" ]; then + if [ $res -eq 0 ]; then + echo "$name installed successfully" + else + echo "Error installing $name. Please, install $name manually$( [ -n "$alt" ] && echo " or $alt") and run the script again." + exit 1 + fi fi }