Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
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
