tazpkg rev 831
pkgs.cgi: show if equivalent package installed (in the package info: depends, suggested)
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Thu Aug 13 00:42:38 2015 +0300 (2015-08-13) |
parents | 7acf0290bdb2 |
children | 48496086d8c9 |
files | tazpanel/pkgs.cgi |
line diff
1.1 --- a/tazpanel/pkgs.cgi Wed Aug 12 13:49:16 2015 +0300 1.2 +++ b/tazpanel/pkgs.cgi Thu Aug 13 00:42:38 2015 +0300 1.3 @@ -83,15 +83,39 @@ 1.4 *\ status\ * ) 1.5 # Show package status 1.6 pkg=$(GET pkg) 1.7 - class='pkg' 1.8 + orig_pkg='' 1.9 1.10 if grep -q "^$pkg"$'\t' $PKGS_DB/installed.info; then 1.11 + # Package installed 1.12 class='pkgi' 1.13 - grep -q "^$pkg$" $PKGS_DB/blocked-packages.list && class='pkgib' 1.14 + else 1.15 + # Package not installed 1.16 + class='pkg' 1.17 + equivs=$(grep "^$pkg=" $PKGS_DB/packages.equiv) 1.18 + if [ -n "$equivs" ]; then 1.19 + for equiv in ${equivs#*=}; do 1.20 + case $equiv in 1.21 + *:*) 1.22 + if grep -q "^${equiv%:*}"$'\t' "$PKGS_DB/installed.info" && 1.23 + grep -q "^${equiv#*:}"$'\t' "$PKGS_DB/installed.info"; then 1.24 + # Equivalent installed 1.25 + orig_pkg="$pkg→"; pkg="${equiv#*:}"; class='pkgi'; break 1.26 + fi;; 1.27 + *) 1.28 + if grep -q "^$equiv"$'\t' "$PKGS_DB/installed.info"; then 1.29 + # Equivalent installed 1.30 + orig_pkg="$pkg→"; pkg="$equiv"; class='pkgi'; break 1.31 + fi;; 1.32 + esac 1.33 + done 1.34 + fi 1.35 fi 1.36 1.37 + # Installed and blocked? 1.38 + [ "$class" == 'pkgi' ] && grep -q "^$pkg$" $PKGS_DB/blocked-packages.list && class='pkgib' 1.39 + 1.40 header 1.41 - echo -n "<a data-icon=\"$class\" href=\"?info=${pkg//+/%2B}\">$pkg</a>" 1.42 + echo -n "<a data-icon=\"$class\" href=\"?info=${pkg//+/%2B}\">$orig_pkg$pkg</a>" 1.43 exit 0 ;; 1.44 1.45