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
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
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)"
done
_PAT=$(pkg_info -q | perl -ne '/^(.*)-(\d[^-]*)[-]?(\w*)(.*)$/ && print "$1\n"' | \
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')
_PKG_MATCH=$(pkg_info -q | grep -v binpatch${_REL_INT}-${_ARCH})
for _e in ${EXCLUDE_PKG}; do
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
# 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 | \
grep '^Adding.*(pretending)' | \
sort -u | \
sed -e 's,Adding ,,;s,(pretending),,;s,->.*,,' | \
_OUTDATED=$((pkg_add -Iqn -Dnosig -Dunsigned ${_BP_MATCH:=quirks}; pkg_add -Iqnuz -Dnosig -Dunsigned ${_PKG_MATCH:=quirks}) 2>&1 | \
grep '^NOT CHECKING DIGITAL SIGNATURE FOR ' | \
sed -e 's,^NOT CHECKING DIGITAL SIGNATURE FOR ,,g' | \
grep -v '^quirks-' | \
perl -ne '/^(.*)-(\d[^-]*)[-]?(\w*)(.*)$/ && print "$1\n"')
perl -ne '/^(.*)-(\d[^-]*)[-]?(\w*)(.*)$/ && print "$1\n"' | \
sort -u)
for p in ${_OUTDATED}
do