mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-15 00:54:41 +00:00
firmware: add version/repository check for core packages #3473
This commit is contained in:
parent
a58ad17289
commit
245486bc87
@ -27,6 +27,7 @@
|
||||
MTREE="mtree -e -p /"
|
||||
PKG_PROGRESS_FILE=/tmp/pkg_upgrade.progress
|
||||
TMPFILE=/tmp/pkg_check.exclude
|
||||
UPSTREAM="OPNsense"
|
||||
|
||||
# Truncate upgrade progress file
|
||||
: > ${PKG_PROGRESS_FILE}
|
||||
@ -92,24 +93,80 @@ set_check()
|
||||
|
||||
if [ ${MTREE_RET} -eq 0 ]; then
|
||||
if [ "${MTREE_MIA}" = "0" ]; then
|
||||
echo "No problems detected." >> ${PKG_PROGRESS_FILE} 2>&1
|
||||
echo "No problems detected." >> ${PKG_PROGRESS_FILE}
|
||||
else
|
||||
echo "Missing files: ${MTREE_MIA}" >> ${PKG_PROGRESS_FILE} 2>&1
|
||||
echo "${MTREE_OUT}" >> ${PKG_PROGRESS_FILE} 2>&1
|
||||
echo "Missing files: ${MTREE_MIA}" >> ${PKG_PROGRESS_FILE}
|
||||
echo "${MTREE_OUT}" >> ${PKG_PROGRESS_FILE}
|
||||
fi
|
||||
else
|
||||
echo "Error ${MTREE_RET} ocurred." >> ${PKG_PROGRESS_FILE} 2>&1
|
||||
echo "${MTREE_OUT}" >> ${PKG_PROGRESS_FILE} 2>&1
|
||||
echo "Error ${MTREE_RET} ocurred." >> ${PKG_PROGRESS_FILE}
|
||||
echo "${MTREE_OUT}" >> ${PKG_PROGRESS_FILE}
|
||||
fi
|
||||
|
||||
rm ${TMPFILE}
|
||||
}
|
||||
|
||||
core_check()
|
||||
{
|
||||
echo ">>> Check for core packages consistency" >> ${PKG_PROGRESS_FILE}
|
||||
|
||||
CORE=$(opnsense-version -n)
|
||||
PROGRESS=
|
||||
|
||||
for DEP in $( (echo ${CORE}; pkg query %dn ${CORE}) | sort); do
|
||||
if [ -z "${PROGRESS}" ]; then
|
||||
echo -n "Checking core packages: ." >> ${PKG_PROGRESS_FILE}
|
||||
PROGRESS=1
|
||||
else
|
||||
echo -n "." >> ${PKG_PROGRESS_FILE}
|
||||
fi
|
||||
|
||||
read REPO LVER AUTO VITA << EOF
|
||||
$(pkg query "%R %v %a %V" ${DEP})
|
||||
EOF
|
||||
|
||||
if [ "${REPO}" != ${UPSTREAM} ]; then
|
||||
if [ -n "${PROGRESS}" ]; then
|
||||
echo >> ${PKG_PROGRESS_FILE}
|
||||
fi
|
||||
echo "${DEP}-${LVER} repository mismatch: ${REPO}" >> ${PKG_PROGRESS_FILE}
|
||||
PROGRESS=
|
||||
fi
|
||||
|
||||
RVER=$(pkg rquery -r ${UPSTREAM} %v ${DEP})
|
||||
if [ -z "${RVER}" ]; then
|
||||
if [ -n "${PROGRESS}" ]; then
|
||||
echo >> ${PKG_PROGRESS_FILE}
|
||||
fi
|
||||
echo "${DEP}-${LVER} has no upstream equivalent" >> ${PKG_PROGRESS_FILE}
|
||||
PROGRESS=
|
||||
elif [ "${RVER}" != "${LVER}" ]; then
|
||||
if [ -n "${PROGRESS}" ]; then
|
||||
echo >> ${PKG_PROGRESS_FILE}
|
||||
fi
|
||||
echo "${DEP}-${LVER} version mismatch, expected ${RVER}" >> ${PKG_PROGRESS_FILE}
|
||||
PROGRESS=
|
||||
fi
|
||||
|
||||
# XXX check AUTO and VITA
|
||||
done
|
||||
|
||||
if [ -n "${PROGRESS}" ]; then
|
||||
echo " done" >> ${PKG_PROGRESS_FILE}
|
||||
fi
|
||||
}
|
||||
|
||||
echo "***GOT REQUEST TO AUDIT HEALTH***" >> ${PKG_PROGRESS_FILE}
|
||||
|
||||
set_check kernel
|
||||
set_check base
|
||||
|
||||
echo ">>> Check for and install missing package dependencies" >> ${PKG_PROGRESS_FILE}
|
||||
pkg check -da >> ${PKG_PROGRESS_FILE} 2>&1
|
||||
|
||||
echo ">>> Check for missing or altered package files" >> ${PKG_PROGRESS_FILE}
|
||||
pkg check -sa >> ${PKG_PROGRESS_FILE} 2>&1
|
||||
|
||||
core_check
|
||||
|
||||
echo '***DONE***' >> ${PKG_PROGRESS_FILE}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user