changeset 5:53c3500894d2

Begin a new implementation algorithm
author Franz Glasner <hg@dom66.de>
date Mon, 16 Oct 2017 09:50:55 +0200
parents ba95569a12b1
children 0d9a499e89e9
files bin/check-ports
diffstat 1 files changed, 9 insertions(+), 71 deletions(-) [+]
line wrap: on
line diff
--- a/bin/check-ports	Sat Oct 14 22:07:58 2017 +0200
+++ b/bin/check-ports	Mon Oct 16 09:50:55 2017 +0200
@@ -6,83 +6,21 @@
 
 installed_packages=$(pkg query '%n')
 
-#for p in ${installed_packages} ; do
-#    echo -n $p" "
-#    pkg query '%v' $p
-#    pkg rquery '%v' $p
-#done
-
-#pkg query '%n %v %R' $installed_packages |
-#    while read vn vv vR ; do#
-#	remote_ver=$(pkg rquery -r FreeBSD '%v' $vn)
-#	version_compare=$(pkg version --test-version ${vv} ${remote_ver})
-#	echo $vn $vv ${remote_ver} ${version_compare} $vR
-#    done
+get_remote_repo_versions() {
+    _repo="$1"
 
-do_rquery() {
-    _repo="$1"
-    _packagage_name="$2"
-
-    remote_ver=$(pkg rquery -U -r ${_repo} '%v' ${_package_name})
-}
-
-remote_data() {
-    _repo="$1"
-    shift
-
-    _temp=$(pkg rquery -U -r "${_repo}" '%n %v' "$@")
+    _data=$(pkg version -U -R -r ${_repo} -v)
     _rv=$?
-    eval remote_${_repo}_data="\"\${_temp}\""
+    eval remote_${_repo}_versions=\"\${_data}\"
     return ${_rv}
 }
 
-all_remote_data() {
-    _repo="$1"
-    _temp=$(pkg rquery -U -r "${_repo}" --all '%n %v')
-    _rv=$?
-    eval remote_${_repo}_data="\"\${_temp}\""
-    return ${_rv}
-}
-
-query_repo() {
-    _repo="$1"
-    _package_name="$2"
-
-    eval _repo_packages="\${remote_${_repo}_data}"
-    while read _p _v ; do
-	if [ "$_p" = "${_package_name}" ] ; then
-	    repo_version="${_v}"
-	    return 0
-	fi
-    done <<EOFABCDEFG43
-${_repo_packages}
-EOFABCDEFG43
-    repo_version=""
-    return 1
+get_local_index_versions() {
+    local_index_versions="$(pkg version -I -v)"
 }
 
 installed_data="$(pkg query '%n %v %R' $installed_packages)"
 
-remote_data FreeBSD ${installed_packages}
-remote_data LocalRepo ${installed_packages}
-
-while read vn vv vR ; do
-    if [ "${vR}" = "${PORTS_DIRECT_INSTALLED_REPO}" ] ; then
-	_local_ver_label="$(pkg version -U -I -n ${vn} | sed -E -e 's/.+[[:space:]]+//')"
-	echo ${_local_ver_label}
-    elif [ "${vR}" = "${LOCAL_REPO}" ] ; then
-	if ! query_repo "${vR}" "${vn}" ; then
-	    echo "ERROR: ${vn} ${vR}"
-	else
-	    echo "REPO: ${repo_version} vs. installed version ${vv}"
-	fi
-    elif [ "${vR}" = "${FREEBSD_REPO}" ] ; then
-	if ! query_repo "${vR}" "${vn}" ; then
-	    echo "ERROR 2: ${vn} ${vR}"
-	fi
-    else
-	echo "UNKNOWN REPOSITORY \`${vR}' for packet \`${vn}'" >&2
-    fi
-done <<EOFEOFEOF687
-${installed_data}
-EOFEOFEOF687
+get_remote_repo_versions ${LOCAL_REPO}
+get_remote_repo_versions ${FREEBSD_REPO}
+get_local_index_versions