changeset 51:9e131a355fbe

Refactor: new -s (short-mode) implementation and new loop architecture
author Franz Glasner <hg@dom66.de>
date Thu, 23 Nov 2017 09:41:11 +0100
parents f4352f7b5c86
children 634113c53f56
files bin/check-ports
diffstat 1 files changed, 40 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/bin/check-ports	Thu Nov 23 09:20:39 2017 +0100
+++ b/bin/check-ports	Thu Nov 23 09:41:11 2017 +0100
@@ -178,48 +178,54 @@
     get_remote_repo_data ${LOCAL_REPO} ${_installed_name}
     get_remote_repo_data ${LOCALBSDPORTS_REPO} ${_installed_name}
     get_remote_repo_data ${FREEBSD_REPO} ${_installed_name}
-    if [ \( -n "${alldata_flag}" \) -o \( \( "${llabel}" != '?' -a "${llabel}" != '=' \) -o \( "${remote_FreeBSD_label}" != '?' -a "${remote_FreeBSD_label}" != '=' \) -o \( "${remote_LocalBSDPorts_label}" != '?' -a "${remote_LocalBSDPorts_label}" != '=' \) -o \( "${remote_LocalRepo_label}" != '?' -a "${remote_LocalRepo_label}" != '=' \) \) -o \( "${repository}" = "${PORTS_DIRECT_INSTALLED_REPO}" \) ]; then
-        _print_detail=""
+    _print_detail=""
+    if [ \( -n "${alldata_flag}" \) ]; then
+        _print_detail=1
+    else
         if [ -n "${short_flag}" ]; then
             #
             # NOTE: -s and -A/-a are incompatible: so "alldata_XXX" needs not
             #       to be checked!
             #
-	    case "${repository}" in
-		"${FREEBSD_REPO}")
-		    if [ "${llabel}" != '<' -o "${remote_FreeBSD_label}" != '=' -o "${remote_LocalRepo_label}" != '?' -o "${remote_LocalBSDPorts_label}" != '?' ]; then
-			_print_detail=1
-		    fi
-		    ;;
-		"${LOCAL_REPO}")
-		    _print_detail=1
-		    ;;
-		"${LOCALBSDPORTS_REPO}")
-		    if [ "${llabel}" != '=' -o "${remote_FreeBSD_label}" != '>' -o "${remote_LocalRepo_label}" != '?' -o "${remote_LocalBSDPorts_label}" = '?' -o "${remote_LocalBSDPorts_label}" = '<' ]; then
+            case "${repository}" in
+                "${FREEBSD_REPO}")
+                    if [ \( "${llabel}" != '<' -a "${llabel}" != '=' \) -o "${remote_FreeBSD_label}" != '=' -o "${remote_LocalRepo_label}" != '?' -o "${remote_LocalBSDPorts_label}" != '?' ]; then
+                        _print_detail=1
+                    fi
+                    ;;
+                "${LOCAL_REPO}")
+                    _print_detail=1
+                    ;;
+                "${LOCALBSDPORTS_REPO}")
+                    if [ "${llabel}" != '=' -o "${remote_FreeBSD_label}" != '>' -o "${remote_LocalRepo_label}" != '?' -o "${remote_LocalBSDPorts_label}" = '?' -o "${remote_LocalBSDPorts_label}" = '<' ]; then
                         _print_detail=1
-		    fi
-		    ;;
-		"${PORTS_DIRECT_INSTALLED_REPO}")
-		    _print_detail=1
-		    ;;
-		*)
-		    echo "ERROR: unhandled repository: ${repository}" >&2
-		    exit 1
-		    ;;
-	    esac
+                    fi
+                    ;;
+                "${PORTS_DIRECT_INSTALLED_REPO}")
+                    _print_detail=1
+                    ;;
+                *)
+                    echo "ERROR: unhandled repository: ${repository}" >&2
+                    exit 1
+                    ;;
+            esac
         else
-            _print_detail=1
+            if [ \( \( "${llabel}" != '?' -a "${llabel}" != '=' \) -o \( "${remote_FreeBSD_label}" != '?' -a "${remote_FreeBSD_label}" != '=' \) -o \( "${remote_LocalBSDPorts_label}" != '?' -a "${remote_LocalBSDPorts_label}" != '=' \) -o \( "${remote_LocalRepo_label}" != '?' -a "${remote_LocalRepo_label}" != '=' \) \) -o \( "${repository}" = "${PORTS_DIRECT_INSTALLED_REPO}" \) ]; then
+                :
+            else
+                _print_detail=1
+            fi
         fi
-        if [ -n "${_print_detail}" ]; then
-            print_title "${lfqp}" "${repository}"
-            echo "   INDEX: ${llabel} ${ldescr}"
-            echo "   FreeBSD: ${remote_FreeBSD_label} ${remote_FreeBSD_descr}"
-            if [ \( -n "${alldata_LocalBSDPorts_flag}" \) -o \( "${remote_LocalBSDPorts_label}" != '?' \) ] ; then
-                echo "   LocalBSDPorts: ${remote_LocalBSDPorts_label} ${remote_LocalBSDPorts_descr}"
-            fi
-            if [ \( -n "${alldata_LocalRepo_flag}" \) -o \( "${remote_LocalRepo_label}" != '?' \) ] ; then
-                echo "   LocalRepo: ${remote_LocalRepo_label} ${remote_LocalRepo_descr}"
-            fi
+    fi
+    if [ -n "${_print_detail}" ]; then
+        print_title "${lfqp}" "${repository}"
+        echo "   INDEX: ${llabel} ${ldescr}"
+        echo "   FreeBSD: ${remote_FreeBSD_label} ${remote_FreeBSD_descr}"
+        if [ \( -n "${alldata_LocalBSDPorts_flag}" \) -o \( "${remote_LocalBSDPorts_label}" != '?' \) ] ; then
+            echo "   LocalBSDPorts: ${remote_LocalBSDPorts_label} ${remote_LocalBSDPorts_descr}"
+        fi
+        if [ \( -n "${alldata_LocalRepo_flag}" \) -o \( "${remote_LocalRepo_label}" != '?' \) ] ; then
+            echo "   LocalRepo: ${remote_LocalRepo_label} ${remote_LocalRepo_descr}"
         fi
     fi
 done <<EOF856661111299999