1
0
Fork 0
forked from mirrors/openup

Fix cron mode when multiple version of php-* are installed;

reported by Marcus MERIGHI.

While here, simplify that nasty function.
This commit is contained in:
Antoine Jacoutot 2014-11-13 17:52:07 +01:00
commit d5caf72eec

21
openup
View file

@ -151,7 +151,7 @@ update_pkg() {
# this only outputs the most recent vulnerability for each matching pkg # this only outputs the most recent vulnerability for each matching pkg
check_vuxml() { check_vuxml() {
local _BP_MATCH _OUTDATED _PAT _PKG_MATCH _b _e _p local _BP_MATCH _OUTDATED _PKG_MATCH _b _e _p
ftp -Vo ${_TMPVUXML} ${VUXML_URL} >/dev/null || bye_bye ftp -Vo ${_TMPVUXML} ${VUXML_URL} >/dev/null || bye_bye
perl -pi -e 's,\$ARCH,'"${_ARCH}"',g' ${_TMPVUXML} perl -pi -e 's,\$ARCH,'"${_ARCH}"',g' ${_TMPVUXML}
@ -162,24 +162,19 @@ check_vuxml() {
_BP_MATCH="$(for _b in ${_BP_MATCH[@]}; do echo ${_b} | grep -v "^${_e}$"; done)" _BP_MATCH="$(for _b in ${_BP_MATCH[@]}; do echo ${_b} | grep -v "^${_e}$"; done)"
done done
_PAT=$(pkg_info -q | perl -ne '/^(.*)-(\d[^-]*)[-]?(\w*)(.*)$/ && print "$1\n"' | \ _PKG_MATCH=$(pkg_info -q | grep -v binpatch${_REL_INT}-${_ARCH})
grep -v binpatch${_REL_INT}-${_ARCH} | \
while read l; do echo -n "|$l"; done | \
sed 's/^|//' | sed -e 's,++,\\\++,g')
_PKG_MATCH=$(grep -Eo '<name>('"${_PAT}"')</name>' ${_TMPVUXML} | \
sort -u | sed -e 's,<name>,,g;s,</name>,,g')
for _e in ${EXCLUDE_PKG}; do for _e in ${EXCLUDE_PKG}; do
set -A _PKG_MATCH -- ${_PKG_MATCH} set -A _PKG_MATCH -- ${_PKG_MATCH}
_PKG_MATCH="$(for _p in ${_PKG_MATCH[@]}; do echo ${_p} | grep -v "^${_e}$"; done)" _PKG_MATCH="$(for _p in ${_PKG_MATCH[@]}; do echo ${_p} | grep -v "^${_e}-.*"; done)"
done done
# set to "quirks" if empty to prevent running pkg_add against an empty pkg list # set to "quirks" if empty to prevent running pkg_add against an empty pkg list
_OUTDATED=$((pkg_add -qnv -Dnosig -Dunsigned ${_BP_MATCH:=quirks}; pkg_add -qnuv -Dnosig -Dunsigned ${_PKG_MATCH:=quirks}) 2>/dev/null | \ _OUTDATED=$((pkg_add -Iqn -Dnosig -Dunsigned ${_BP_MATCH:=quirks}; pkg_add -Iqnuz -Dnosig -Dunsigned ${_PKG_MATCH:=quirks}) 2>&1 | \
grep '^Adding.*(pretending)' | \ grep '^NOT CHECKING DIGITAL SIGNATURE FOR ' | \
sort -u | \ sed -e 's,^NOT CHECKING DIGITAL SIGNATURE FOR ,,g' | \
sed -e 's,Adding ,,;s,(pretending),,;s,->.*,,' | \
grep -v '^quirks-' | \ grep -v '^quirks-' | \
perl -ne '/^(.*)-(\d[^-]*)[-]?(\w*)(.*)$/ && print "$1\n"') perl -ne '/^(.*)-(\d[^-]*)[-]?(\w*)(.*)$/ && print "$1\n"' | \
sort -u)
for p in ${_OUTDATED} for p in ${_OUTDATED}
do do