Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
comparison bin/check-ports @ 34:36a10ff20355
Implemented a -s (short) flag that filters output if the repo is FreeBSD and only the local portstree INDEX has a newer version
| author | Franz Glasner <hg@dom66.de> |
|---|---|
| date | Sat, 18 Nov 2017 13:18:10 +0100 |
| parents | 1537aff795c5 |
| children | ace5d471abbd |
comparison
equal
deleted
inserted
replaced
| 33:1537aff795c5 | 34:36a10ff20355 |
|---|---|
| 114 | 114 |
| 115 | 115 |
| 116 alldata_flag="" | 116 alldata_flag="" |
| 117 alldata_LocalBSDPorts_flag="" | 117 alldata_LocalBSDPorts_flag="" |
| 118 alldata_LocalRepo_flag="" | 118 alldata_LocalRepo_flag="" |
| 119 short_flag="" | |
| 119 verbose_flag="" | 120 verbose_flag="" |
| 120 | 121 |
| 121 while getopts "Aav" _opt ; do | 122 while getopts "Aasv" _opt ; do |
| 122 case ${_opt} in | 123 case ${_opt} in |
| 123 A) | 124 A) |
| 124 # print for every package the status of all repositories | 125 # print for every package the status of all repositories |
| 125 alldata_flag=1 | 126 alldata_flag=1 |
| 126 alldata_LocalBSDPorts_flag=1 | 127 alldata_LocalBSDPorts_flag=1 |
| 128 ;; | 129 ;; |
| 129 a) | 130 a) |
| 130 # print the data of all repos that have the package | 131 # print the data of all repos that have the package |
| 131 alldata_flag=1 | 132 alldata_flag=1 |
| 132 ;; | 133 ;; |
| 134 s) | |
| 135 # "short" output: if installed from FreeBSD repo: don't | |
| 136 # report if only the index is newer | |
| 137 short_flag=1 | |
| 138 ;; | |
| 133 v) | 139 v) |
| 134 # print all titles and repo of every installed always | 140 # print all titles and repo of every installed always |
| 135 verbose_flag=1 | 141 verbose_flag=1 |
| 136 ;; | 142 ;; |
| 137 \?) | 143 \?) |
| 141 echo "option handling failed" >&2 | 147 echo "option handling failed" >&2 |
| 142 exit 2 | 148 exit 2 |
| 143 ;; | 149 ;; |
| 144 esac | 150 esac |
| 145 done | 151 done |
| 152 | |
| 153 if [ -n "${short_flag}" -a -n "${alldata_flag}" ]; then | |
| 154 echo "the -s option cannot be combined with -A or -a" >&2 | |
| 155 exit 2 | |
| 156 fi | |
| 146 | 157 |
| 147 installed_packages=$(pkg query '%n') | 158 installed_packages=$(pkg query '%n') |
| 148 installed_data="$(pkg query '%n %v %R' $installed_packages)" | 159 installed_data="$(pkg query '%n %v %R' $installed_packages)" |
| 149 | 160 |
| 150 get_remote_repo_versions ${LOCAL_REPO} | 161 get_remote_repo_versions ${LOCAL_REPO} |
| 166 fi | 177 fi |
| 167 get_remote_repo_data ${LOCAL_REPO} ${_installed_name} | 178 get_remote_repo_data ${LOCAL_REPO} ${_installed_name} |
| 168 get_remote_repo_data ${LOCALBSDPORTS_REPO} ${_installed_name} | 179 get_remote_repo_data ${LOCALBSDPORTS_REPO} ${_installed_name} |
| 169 get_remote_repo_data ${FREEBSD_REPO} ${_installed_name} | 180 get_remote_repo_data ${FREEBSD_REPO} ${_installed_name} |
| 170 if [ \( -n "${alldata_flag}" \) -o \( "${llabel}" != '?' -a "${llabel}" != '=' \) -o \( "${remote_FreeBSD_label}" != '?' -a "${remote_FreeBSD_label}" != '=' \) -o \( "${remote_LocalBSDPorts_label}" != '?' -a "${remote_LocalBSDPorts_label}" != '=' \) -o \( "${remote_LocalRepo_label}" != '?' -a "${remote_LocalRepo_label}" != '=' \) ] ; then | 181 if [ \( -n "${alldata_flag}" \) -o \( "${llabel}" != '?' -a "${llabel}" != '=' \) -o \( "${remote_FreeBSD_label}" != '?' -a "${remote_FreeBSD_label}" != '=' \) -o \( "${remote_LocalBSDPorts_label}" != '?' -a "${remote_LocalBSDPorts_label}" != '=' \) -o \( "${remote_LocalRepo_label}" != '?' -a "${remote_LocalRepo_label}" != '=' \) ] ; then |
| 171 print_title "${lfqp}" "${repository}" | 182 _print_detail="" |
| 172 echo " INDEX: ${llabel} ${ldescr}" | 183 if [ -n "${short_flag}" ]; then |
| 173 echo " FreeBSD: ${remote_FreeBSD_label} ${remote_FreeBSD_descr}" | 184 # |
| 174 if [ \( -n "${alldata_LocalBSDPorts_flag}" \) -o \( "${remote_LocalBSDPorts_label}" != '?' \) ] ; then | 185 # NOTE: -s and -A/-a are incompatible: so "alldata_XXX" needs not |
| 175 echo " LocalBSDPorts: ${remote_LocalBSDPorts_label} ${remote_LocalBSDPorts_descr}" | 186 # to be checked! |
| 176 fi | 187 # |
| 177 if [ \( -n "${alldata_LocalRepo_flag}" \) -o \( "${remote_LocalRepo_label}" != '?' \) ] ; then | 188 if [ "${repository}" != "${FREEBSD_REPO}" -o "${llabel}" != '<' -o "${remote_FreeBSD_label}" != '=' -o "${remote_LocalRepo_label}" != '?' -o "${remote_LocalBSDPorts_label}" != '?' ]; then |
| 178 echo " LocalRepo: ${remote_LocalRepo_label} ${remote_LocalRepo_descr}" | 189 _print_detail=1 |
| 190 fi | |
| 191 else | |
| 192 _print_detail=1 | |
| 193 fi | |
| 194 if [ -n "${_print_detail}" ]; then | |
| 195 print_title "${lfqp}" "${repository}" | |
| 196 echo " INDEX: ${llabel} ${ldescr}" | |
| 197 echo " FreeBSD: ${remote_FreeBSD_label} ${remote_FreeBSD_descr}" | |
| 198 if [ \( -n "${alldata_LocalBSDPorts_flag}" \) -o \( "${remote_LocalBSDPorts_label}" != '?' \) ] ; then | |
| 199 echo " LocalBSDPorts: ${remote_LocalBSDPorts_label} ${remote_LocalBSDPorts_descr}" | |
| 200 fi | |
| 201 if [ \( -n "${alldata_LocalRepo_flag}" \) -o \( "${remote_LocalRepo_label}" != '?' \) ] ; then | |
| 202 echo " LocalRepo: ${remote_LocalRepo_label} ${remote_LocalRepo_descr}" | |
| 203 fi | |
| 179 fi | 204 fi |
| 180 fi | 205 fi |
| 181 done <<EOF856661111299999 | 206 done <<EOF856661111299999 |
| 182 ${local_index_versions} | 207 ${local_index_versions} |
| 183 EOF856661111299999 | 208 EOF856661111299999 |
