diff --git a/apps/m9zCtrlTty/firefox_install.go b/apps/m9zCtrlTty/firefox_install.go index 1cb1b49..9d51d01 100644 --- a/apps/m9zCtrlTty/firefox_install.go +++ b/apps/m9zCtrlTty/firefox_install.go @@ -139,11 +139,24 @@ select_deb() { cp -v "$deb" /opt/firefox-installable/ selected_count=$((selected_count + 1)) } +package_name_from_deb() { + pkg=$(dpkg-deb -f "$1" Package 2>/dev/null || true) + if [ -n "$pkg" ]; then + echo "$pkg" + return 0 + fi + file=$(basename "$1") + echo "$file" | cut -d '_' -f 1 | sed 's/[.]deb$//' +} for deb in /opt/firefox-deb/*.deb; do [ -e "$deb" ] || continue file=$(basename "$deb") - pkg=${file%%_*} - pkg=${pkg%%.deb} + pkg=$(package_name_from_deb "$deb") + if [ -z "$pkg" ]; then + echo "skip package with empty name: $file" + continue + fi + echo "package candidate: $file package=$pkg" status=$(dpkg-query -W -f='${Status}' "$pkg" 2>/dev/null || true) installed=0