comparison bin/check-ports @ 7:2712d249c371

Assert that the installed version number we get from "pkg query" is the same as the version in "pkg version"
author Franz Glasner <hg@dom66.de>
date Sun, 22 Oct 2017 14:36:16 +0200
parents 0d9a499e89e9
children 208545b92d43
comparison
equal deleted inserted replaced
6:0d9a499e89e9 7:2712d249c371
1 #!/bin/sh 1 #!/bin/sh
2 2
3 : ${LOCAL_REPO:=LocalRepo} 3 : ${LOCAL_REPO:=LocalRepo}
4 : ${FREEBSD_REPO:=FreeBSD} 4 : ${FREEBSD_REPO:=FreeBSD}
5 : ${PORTS_DIRECT_INSTALLED_REPO:=unknown-repository} 5 : ${PORTS_DIRECT_INSTALLED_REPO:=unknown-repository}
6
7 installed_packages=$(pkg query '%n')
8 6
9 get_remote_repo_versions() { 7 get_remote_repo_versions() {
10 _repo="$1" 8 _repo="$1"
11 9
12 _data=$(pkg version -U -R -r ${_repo} -v) 10 _data=$(pkg version -U -R -r ${_repo} -v)
17 15
18 get_local_index_versions() { 16 get_local_index_versions() {
19 local_index_versions=$(pkg version -I -v) 17 local_index_versions=$(pkg version -I -v)
20 } 18 }
21 19
20 assert_local_version() {
21 _name=$1
22 _version=$2
23 while read _n _v _r ; do
24 if [ ${_name} = ${_n} ] ; then
25 if [ ${_version} != ${_v} ] ; then
26 return 1
27 else
28 return 0
29 fi
30 fi
31 done <<EOF223
32 ${installed_data}
33 EOF223
34 return 2
35 }
36
37 installed_packages=$(pkg query '%n')
22 installed_data="$(pkg query '%n %v %R' $installed_packages)" 38 installed_data="$(pkg query '%n %v %R' $installed_packages)"
23 39
24 get_remote_repo_versions ${LOCAL_REPO} 40 get_remote_repo_versions ${LOCAL_REPO}
25 get_remote_repo_versions ${FREEBSD_REPO} 41 get_remote_repo_versions ${FREEBSD_REPO}
26 get_local_index_versions 42 get_local_index_versions
27 43
28 while read lfqp llabel ldescr ; do 44 while read lfqp llabel ldescr ; do
29 _installed_name=${lfqp%-*} 45 _installed_name=${lfqp%-*}
30 _installed_version=${lfqp##*-} 46 _installed_version=${lfqp##*-}
31 echo $lfqp ${_installed_name} ${_installed_version} ${llabel} 47 echo $lfqp ${_installed_name} ${_installed_version} ${llabel}
48 if ! assert_local_version ${_installed_name} ${_installed_version} ; then
49 echo "Assertion failed" >&2
50 exit 1
51 fi
32 done <<EOF856661111299999 52 done <<EOF856661111299999
33 ${local_index_versions} 53 ${local_index_versions}
34 EOF856661111299999 54 EOF856661111299999