firmware: settle on 4 spaces for indent, first batch, minor removals #4500

This commit is contained in:
Franco Fichtner 2021-02-16 15:44:04 +01:00
parent 0f1484b3a2
commit 9a08ea91e9
2 changed files with 101 additions and 107 deletions

View File

@ -249,9 +249,6 @@ class FirmwareController extends ApiControllerBase
} elseif (array_key_exists('connection', $response) && $response['connection'] == 'misconfigured') {
$response['status_msg'] = gettext('The current package configuration is invalid.');
$response['status'] = 'error';
} elseif (array_key_exists('connection', $response) && $response['connection'] == 'timeout') {
$response['status_msg'] = gettext('Timeout while connecting to the selected mirror.');
$response['status'] = 'error';
} elseif (array_key_exists('connection', $response) && $response['connection'] != 'ok') {
$response['status_msg'] = gettext('An error occurred while connecting to the selected mirror.');
$response['status'] = 'error';

View File

@ -26,7 +26,7 @@
# POSSIBILITY OF SUCH DAMAGE.
# This script generates a json structured file with the following content:
# connection: error|timeout|unauthenticated|misconfigured|unresolved|ok
# connection: error|unauthenticated|misconfigured|unresolved|ok
# repository: error|untrusted|unsigned|revoked|incomplete|ok
# last_ckeck: <date_time_stamp>
# download_size: <size_of_total_downloads>[,<size_of_total_downloads>]
@ -78,82 +78,77 @@ if /usr/local/opnsense/scripts/firmware/changelog.sh fetch >> ${LOCKFILE} 2>&1;
echo "done" >> ${LOCKFILE}
fi
: > ${OUTFILE}
(pkg update -f 2>&1) | ${TEE} ${LOCKFILE} ${OUTFILE}
: > ${OUTFILE}
(pkg update -f 2>&1) | ${TEE} ${LOCKFILE} ${OUTFILE}
(pkg upgrade -r ${UPSTREAM} -Uy pkg 2>&1) | ${TEE} ${LOCKFILE}
# XXX Do we have to upgrade again?
(pkg upgrade -r ${UPSTREAM} -Uy pkg 2>&1) | ${TEE} ${LOCKFILE}
# XXX Do we have to upgrade again?
# parse early errors
if grep -q 'No address record' ${OUTFILE}; then
# DNS resolution failed
connection="unresolved"
elif grep -q 'Cannot parse configuration' ${OUTFILE}; then
# configuration error
connection="misconfigured"
elif grep -q 'Authentication error' ${OUTFILE}; then
# TLS or authentication error
connection="unauthenticated"
elif grep -q 'No trusted public keys found' ${OUTFILE}; then
# fingerprint mismatch
repository="untrusted"
connection="ok"
elif grep -q 'At least one of the certificates has been revoked' ${OUTFILE}; then
# fingerprint mismatch
repository="revoked"
connection="ok"
elif grep -q 'No signature found' ${OUTFILE}; then
# fingerprint not found
repository="unsigned"
connection="ok"
elif grep -q 'Unable to update repository' ${OUTFILE}; then
# repository not found
connection="ok"
elif [ 1 -eq 0 ]; then # XXX emulate timeouts
# We have a connection issue and could not
# reach the pkg repository in timely fashion
# Kill all running pkg instances
connection="timeout"
else
# connection is still ok
connection="ok"
# parse early errors
if grep -q 'No address record' ${OUTFILE}; then
# DNS resolution failed
connection="unresolved"
elif grep -q 'Cannot parse configuration' ${OUTFILE}; then
# configuration error
connection="misconfigured"
elif grep -q 'Authentication error' ${OUTFILE}; then
# TLS or authentication error
connection="unauthenticated"
elif grep -q 'No trusted public keys found' ${OUTFILE}; then
# fingerprint mismatch
repository="untrusted"
connection="ok"
elif grep -q 'At least one of the certificates has been revoked' ${OUTFILE}; then
# fingerprint mismatch
repository="revoked"
connection="ok"
elif grep -q 'No signature found' ${OUTFILE}; then
# fingerprint not found
repository="unsigned"
connection="ok"
elif grep -q 'Unable to update repository' ${OUTFILE}; then
# repository not found
connection="ok"
else
# connection is still ok
connection="ok"
: > ${OUTFILE}
: > ${OUTFILE}
(pkg upgrade -Un 2>&1) | ${TEE} ${LOCKFILE} ${OUTFILE}
# now check what happens when we would go ahead
(pkg upgrade -Un 2>&1) | ${TEE} ${LOCKFILE} ${OUTFILE}
# now check what happens when we would go ahead
if [ "${product_id}" != "${product_target}" ]; then
echo "Targeting new release type: ${product_target}" | ${TEE} ${LOCKFILE}
# fetch before install lets us know more,
# although not as fast as it should be...
(pkg fetch -r ${UPSTREAM} -Uy "${product_target}" 2>&1) | ${TEE} ${LOCKFILE}
(pkg install -r ${UPSTREAM} -Un "${product_target}" 2>&1) | ${TEE} ${LOCKFILE} ${OUTFILE}
else
echo "A release type change is not required." | ${TEE} ${LOCKFILE}
fi
if [ "${product_id}" != "${product_target}" ]; then
echo "Targeting new release type: ${product_target}" | ${TEE} ${LOCKFILE}
# fetch before install lets us know more
(pkg fetch -r ${UPSTREAM} -Uy "${product_target}" 2>&1) | ${TEE} ${LOCKFILE}
(pkg install -r ${UPSTREAM} -Un "${product_target}" 2>&1) | ${TEE} ${LOCKFILE} ${OUTFILE}
else
echo "A release type change is not required." | ${TEE} ${LOCKFILE}
fi
# Check for additional repository errors
if grep -q 'Unable to update repository' ${OUTFILE}; then
repository="error" # already set but reset here for clarity
elif grep -q "No packages available to install matching..${product_target}" ${OUTFILE}; then
repository="incomplete"
else
# Repository can be used for updates
repository="ok"
if [ -n "$(grep 'The following' ${OUTFILE} | awk -F '[ ]' '{print $3}')" ]; then
# if we run twice give values as CSV for later processing
download_size=$(grep 'to be downloaded' ${OUTFILE} | awk -F '[ ]' '{print $1$2}' | tr '\n' ',' | sed 's/,$//')
# Check for additional repository errors
if grep -q 'Unable to update repository' ${OUTFILE}; then
repository="error" # already set but reset here for clarity
elif grep -q "No packages available to install matching..${product_target}" ${OUTFILE}; then
repository="incomplete"
else
# Repository can be used for updates
repository="ok"
# see if packages indicate a new version (not revision) of base / kernel
LQUERY=$(pkg query %v opnsense-update)
RQUERY=$(pkg rquery %v opnsense-update)
if [ "${LQUERY%%_*}" != "${RQUERY%%_*}" ]; then
if [ -n "$(grep 'The following' ${OUTFILE} | awk -F '[ ]' '{print $3}')" ]; then
# if we run twice give values as CSV for later processing
download_size=$(grep 'to be downloaded' ${OUTFILE} | awk -F '[ ]' '{print $1$2}' | tr '\n' ',' | sed 's/,$//')
# see if packages indicate a new version (not revision) of base / kernel
LQUERY=$(pkg query %v opnsense-update)
RQUERY=$(pkg rquery %v opnsense-update)
if [ "${LQUERY%%_*}" != "${RQUERY%%_*}" ]; then
kernel_to_reboot="${RQUERY%%_*}"
base_to_reboot="${RQUERY%%_*}"
fi
fi
MODE=
MODE=
while read LINE; do
REPO=$(echo "${LINE}" | grep -o '\[.*\]' | tr -d '[]')
@ -330,47 +325,49 @@ fi
fi
fi
packages_is_size="$(opnsense-update -SRp)"
if [ -n "${packages_is_size}" ]; then
upgrade_major_message=$(cat /usr/local/opnsense/firmware-message 2> /dev/null | sed 's/"/\\&/g' | tr '\n' ' ')
upgrade_major_version=$(cat /usr/local/opnsense/firmware-upgrade 2> /dev/null)
sets_upgraded="{\"name\":\"packages\",\"size\":\"${packages_is_size}\",\"current_version\":\"${product_version}\",\"new_version\":\"${upgrade_major_version}\",\"repository\":\"${UPSTREAM}\"}"
kernel_to_delete="$(opnsense-version -v kernel)"
if [ "${kernel_to_delete}" != "${upgrade_major_version}" ]; then
kernel_is_size="$(opnsense-update -SRk)"
if [ -n "${kernel_is_size}" ]; then
sets_upgraded="${sets_upgraded},{\"name\":\"kernel\",\"size\":\"${kernel_is_size}\",\"current_version\":\"${kernel_to_delete}\",\"new_version\":\"${upgrade_major_version}\",\"repository\":\"${UPSTREAM}\"}"
fi
fi
base_to_delete="$(opnsense-version -v base)"
if [ "${base_to_delete}" != "${upgrade_major_version}" ]; then
base_is_size="$(opnsense-update -SRb)"
if [ -n "${base_is_size}" ]; then
sets_upgraded="${sets_upgraded},{\"name\":\"base\",\"size\":\"${base_is_size}\",\"current_version\":\"${base_to_delete}\",\"new_version\":\"${upgrade_major_version}\",\"repository\":\"${UPSTREAM}\"}"
fi
fi
fi
packages_is_size="$(opnsense-update -SRp)"
if [ -n "${packages_is_size}" ]; then
upgrade_major_message=$(cat /usr/local/opnsense/firmware-message 2> /dev/null | sed 's/"/\\&/g' | tr '\n' ' ')
upgrade_major_version=$(cat /usr/local/opnsense/firmware-upgrade 2> /dev/null)
sets_upgraded="{\"name\":\"packages\",\"size\":\"${packages_is_size}\",\"current_version\":\"${product_version}\",\"new_version\":\"${upgrade_major_version}\",\"repository\":\"${UPSTREAM}\"}"
kernel_to_delete="$(opnsense-version -v kernel)"
if [ "${kernel_to_delete}" != "${upgrade_major_version}" ]; then
kernel_is_size="$(opnsense-update -SRk)"
if [ -n "${kernel_is_size}" ]; then
sets_upgraded="${sets_upgraded},{\"name\":\"kernel\",\"size\":\"${kernel_is_size}\",\"current_version\":\"${kernel_to_delete}\",\"new_version\":\"${upgrade_major_version}\",\"repository\":\"${UPSTREAM}\"}"
fi
fi
base_to_delete="$(opnsense-version -v base)"
if [ "${base_to_delete}" != "${upgrade_major_version}" ]; then
base_is_size="$(opnsense-update -SRb)"
if [ -n "${base_is_size}" ]; then
sets_upgraded="${sets_upgraded},{\"name\":\"base\",\"size\":\"${base_is_size}\",\"current_version\":\"${base_to_delete}\",\"new_version\":\"${upgrade_major_version}\",\"repository\":\"${UPSTREAM}\"}"
fi
fi
fi
# write our json structure
cat > ${JSONFILE} << EOF
{
"connection":"$connection",
"downgrade_packages":[$packages_downgraded],
"download_size":"$download_size",
"last_check":"$last_check",
"new_packages":[$packages_new],
"os_version":"$os_version",
"product_id":"$product_id",
"product_target":"$product_target",
"product_version":"$product_version",
"reinstall_packages":[$packages_reinstall],
"remove_packages":[$packages_removed],
"repository":"$repository",
"upgrade_major_message":"$upgrade_major_message",
"upgrade_major_version":"$upgrade_major_version",
"upgrade_needs_reboot":"$upgrade_needs_reboot",
"upgrade_packages":[$packages_upgraded],
"upgrade_sets":[$sets_upgraded]
"connection":"$connection",
"downgrade_packages":[$packages_downgraded],
"download_size":"$download_size",
"last_check":"$last_check",
"new_packages":[$packages_new],
"os_version":"$os_version",
"product_id":"$product_id",
"product_target":"$product_target",
"product_version":"$product_version",
"reinstall_packages":[$packages_reinstall],
"remove_packages":[$packages_removed],
"repository":"$repository",
"upgrade_major_message":"$upgrade_major_message",
"upgrade_major_version":"$upgrade_major_version",
"upgrade_needs_reboot":"$upgrade_needs_reboot",
"upgrade_packages":[$packages_upgraded],
"upgrade_sets":[$sets_upgraded]
}
EOF