# HG changeset patch # User Franz Glasner # Date 1507706681 -7200 # Node ID 7c9ddbea00c84dc1a5bf748ff3b9d7552853d610 # Parent 08cf7bf119b760aad78816737eb47908e0c73b16 Work on the check script diff -r 08cf7bf119b7 -r 7c9ddbea00c8 bin/check-ports --- a/bin/check-ports Tue Oct 10 22:43:50 2017 +0200 +++ b/bin/check-ports Wed Oct 11 09:24:41 2017 +0200 @@ -1,5 +1,9 @@ #!/bin/sh +: ${LOCAL_REPO:=LocalRepo} +: ${FREEBSD_REPO:=FreeBSD} +: ${PORTS_DIRECT_INSTALLED_REPO:=unknown-repository} + installed_packages=$(pkg query '%n') #for p in ${installed_packages} ; do @@ -15,17 +19,65 @@ # echo $vn $vv ${remote_ver} ${version_compare} $vR # done -installed_data="$(pkg query '%n/%v/%R' $installed_packages)" +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' "$@") + _rv=$? + eval remote_${_repo}_data="\"\${_temp}\"" + 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 <&2 fi done <