# HG changeset patch # User Franz Glasner # Date 1508688392 -7200 # Node ID 208545b92d432e588bfb0249baec4f9d46d3d9c0 # Parent 2712d249c37177fdb18eebd2a8aa648d7226516a First working version: real useful output of packages differing from any repo diff -r 2712d249c371 -r 208545b92d43 bin/check-ports --- a/bin/check-ports Sun Oct 22 14:36:16 2017 +0200 +++ b/bin/check-ports Sun Oct 22 18:06:32 2017 +0200 @@ -5,7 +5,9 @@ : ${PORTS_DIRECT_INSTALLED_REPO:=unknown-repository} get_remote_repo_versions() { - _repo="$1" + local _repo _data _rv + + _repo=$1 _data=$(pkg version -U -R -r ${_repo} -v) _rv=$? @@ -13,13 +15,53 @@ return ${_rv} } +get_remote_repo_data() { + local _repo _name _rversions _rfqp _rl _rdescr + + _repo=$1 + _name=$2 + + eval _rversions=\"\${remote_${_repo}_versions}\" + while read _rfqp _rl _rdescr ; do + if [ ${_rfqp%-*} = ${_name} ] ; then + eval remote_${_repo}_label=\${_rl} + eval remote_${_repo}_descr=\"\${_rdescr}\" + return 0 + fi + done <&2 + echo "Assertion failed: $lfqp ${_installed_name} ${_installed_version} ${llabel}" >&2 exit 1 fi + get_remote_repo_data ${LOCAL_REPO} ${_installed_name} + get_remote_repo_data ${FREEBSD_REPO} ${_installed_name} + get_repo_for_package ${_installed_name} + if [ \( ${llabel} != '?' -a ${llabel} != '=' \) -o \( ${remote_FreeBSD_label} != '?' -a ${remote_FreeBSD_label} != '=' \) -o \( ${remote_LocalRepo_label} != '?' -a ${remote_LocalRepo_label} != '=' \) ] ; then + echo "${lfqp} (${repository})" + echo " ${ldescr}" + echo " FreeBSD: ${remote_FreeBSD_descr}" + if [ ${remote_LocalRepo_label} != '?' ] ; then + echo " LocalRepo: ${remote_LocalRepo_descr}" + fi + fi done <