comparison bin/check-ports @ 33:1537aff795c5

FIX: Quote all variables used for labels because they can contain a '?' character and thus is influenced by the shell's automatic filename expansion. If a file with a one character name exists in the current directory then the output of check-ports was as if the version label was this filename.
author Franz Glasner <hg@dom66.de>
date Sat, 18 Nov 2017 12:30:52 +0100
parents 37f003c9f4e2
children 36a10ff20355
comparison
equal deleted inserted replaced
32:37f003c9f4e2 33:1537aff795c5
47 _name=$2 47 _name=$2
48 48
49 eval _rversions=\"\${remote_${_repo}_versions}\" 49 eval _rversions=\"\${remote_${_repo}_versions}\"
50 while read _rfqp _rl _rdescr ; do 50 while read _rfqp _rl _rdescr ; do
51 if [ ${_rfqp%-*} = ${_name} ] ; then 51 if [ ${_rfqp%-*} = ${_name} ] ; then
52 eval remote_${_repo}_label=\${_rl} 52 eval remote_${_repo}_label=\"\${_rl}\"
53 eval remote_${_repo}_descr=\"\${_rdescr}\" 53 eval remote_${_repo}_descr=\"\${_rdescr}\"
54 return 0 54 return 0
55 fi 55 fi
56 done <<EOF884657 56 done <<EOF884657
57 ${_rversions} 57 ${_rversions}
165 exit 1 165 exit 1
166 fi 166 fi
167 get_remote_repo_data ${LOCAL_REPO} ${_installed_name} 167 get_remote_repo_data ${LOCAL_REPO} ${_installed_name}
168 get_remote_repo_data ${LOCALBSDPORTS_REPO} ${_installed_name} 168 get_remote_repo_data ${LOCALBSDPORTS_REPO} ${_installed_name}
169 get_remote_repo_data ${FREEBSD_REPO} ${_installed_name} 169 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 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
171 print_title "${lfqp}" "${repository}" 171 print_title "${lfqp}" "${repository}"
172 echo " INDEX: ${llabel} ${ldescr}" 172 echo " INDEX: ${llabel} ${ldescr}"
173 echo " FreeBSD: ${remote_FreeBSD_label} ${remote_FreeBSD_descr}" 173 echo " FreeBSD: ${remote_FreeBSD_label} ${remote_FreeBSD_descr}"
174 if [ \( -n "${alldata_LocalBSDPorts_flag}" \) -o \( ${remote_LocalBSDPorts_label} != '?' \) ] ; then 174 if [ \( -n "${alldata_LocalBSDPorts_flag}" \) -o \( "${remote_LocalBSDPorts_label}" != '?' \) ] ; then
175 echo " LocalBSDPorts: ${remote_LocalBSDPorts_label} ${remote_LocalBSDPorts_descr}" 175 echo " LocalBSDPorts: ${remote_LocalBSDPorts_label} ${remote_LocalBSDPorts_descr}"
176 fi 176 fi
177 if [ \( -n "${alldata_LocalRepo_flag}" \) -o \( ${remote_LocalRepo_label} != '?' \) ] ; then 177 if [ \( -n "${alldata_LocalRepo_flag}" \) -o \( "${remote_LocalRepo_label}" != '?' \) ] ; then
178 echo " LocalRepo: ${remote_LocalRepo_label} ${remote_LocalRepo_descr}" 178 echo " LocalRepo: ${remote_LocalRepo_label} ${remote_LocalRepo_descr}"
179 fi 179 fi
180 fi 180 fi
181 done <<EOF856661111299999 181 done <<EOF856661111299999
182 ${local_index_versions} 182 ${local_index_versions}