mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-16 09:34:39 +00:00
firmware: get rid of firmware type name #4500
From the user side no functional changes. What this can do now is decide whether to update or do a release type transition. In most cases it is safer to get all updates first and then do a release type transition afterwards. This can follow when firmware type install can be shelved.
This commit is contained in:
parent
f69794b929
commit
10eab0ae68
@ -70,24 +70,17 @@ class FirmwareController extends ApiControllerBase
|
||||
$response = array();
|
||||
|
||||
$config = Config::getInstance()->object();
|
||||
$type_want = 'opnsense';
|
||||
$type = 'opnsense';
|
||||
if (!empty($config->system->firmware->type)) {
|
||||
$type_want .= '-' . (string)$config->system->firmware->type;
|
||||
$type .= '-' . (string)$config->system->firmware->type;
|
||||
}
|
||||
|
||||
$this->sessionClose(); // long running action, close session
|
||||
|
||||
$backend = new Backend();
|
||||
$type_have = trim($backend->configdRun('firmware type name'));
|
||||
$args = array();
|
||||
|
||||
if (!empty($type_have) && $type_have !== $type_want) {
|
||||
$args[] = $type_want;
|
||||
}
|
||||
|
||||
if ($this->request->isPost()) {
|
||||
$backend = new Backend();
|
||||
$response['msg_uuid'] = trim($backend->configdpRun('firmware check', [ $type ], true));
|
||||
$response['status'] = 'ok';
|
||||
$response['msg_uuid'] = trim($backend->configdpRun('firmware check', $args, true));
|
||||
} else {
|
||||
$response['status'] = 'failure';
|
||||
}
|
||||
@ -101,12 +94,6 @@ class FirmwareController extends ApiControllerBase
|
||||
*/
|
||||
public function statusAction()
|
||||
{
|
||||
$config = Config::getInstance()->object();
|
||||
$type_want = 'opnsense';
|
||||
if (!empty($config->system->firmware->type)) {
|
||||
$type_want .= '-' . (string)$config->system->firmware->type;
|
||||
}
|
||||
|
||||
$backend = new Backend();
|
||||
$args = [];
|
||||
|
||||
@ -114,9 +101,8 @@ class FirmwareController extends ApiControllerBase
|
||||
if ($response != null && $response['product_check'] != null) {
|
||||
$response = $response['product_check'];
|
||||
|
||||
$type_have = $response['product_name'];
|
||||
if (!empty($type_have) && $type_have !== $type_want) {
|
||||
$args[] = $type_want;
|
||||
if (!empty($response['check_package']) && $response['product_name'] != $response['check_package']) {
|
||||
$args[] = $response['check_package'];
|
||||
}
|
||||
|
||||
$packages_size = !empty($response['download_size']) ? $response['download_size'] : 0;
|
||||
@ -245,7 +231,7 @@ class FirmwareController extends ApiControllerBase
|
||||
} elseif (array_key_exists('repository', $response) && $response['repository'] == 'unsigned') {
|
||||
$response['status_msg'] = gettext('The repository has no fingerprint.');
|
||||
$response['status'] = 'error';
|
||||
} elseif (array_key_exists('repository', $response) && $response['repository'] == 'incomplete') {
|
||||
} elseif (array_key_exists('repository', $response) && $response['repository'] == 'incomplete' && count($args)) {
|
||||
$response['status_msg'] = sprintf(gettext('The package "%s" is not available on this repository.'), $args[0]);
|
||||
$response['status'] = 'error';
|
||||
} elseif (array_key_exists('repository', $response) && $response['repository'] != 'ok') {
|
||||
|
||||
@ -61,6 +61,11 @@ repository="error"
|
||||
updates=""
|
||||
upgrade_needs_reboot="0"
|
||||
|
||||
product_name=$(opnsense-version -n)
|
||||
product_version=$(opnsense-version -v)
|
||||
os_version=$(uname -sr)
|
||||
last_check=$(date)
|
||||
|
||||
echo "***GOT REQUEST TO CHECK FOR UPDATES***" >> ${LOCKFILE}
|
||||
|
||||
echo -n "Fetching changelog information, please wait... " >> ${LOCKFILE}
|
||||
@ -68,6 +73,11 @@ if /usr/local/opnsense/scripts/firmware/changelog.sh fetch >> ${LOCKFILE} 2>&1;
|
||||
echo "done" >> ${LOCKFILE}
|
||||
fi
|
||||
|
||||
if [ -n "${PACKAGE}" -a "${product_name}" = "${PACKAGE}" ]; then
|
||||
echo "A release type change is not required." >> ${LOCKFILE}
|
||||
PACKAGE=
|
||||
fi
|
||||
|
||||
: > ${OUTFILE}
|
||||
(pkg update -f 2>&1) | ${TEE} ${LOCKFILE} ${OUTFILE}
|
||||
|
||||
@ -330,11 +340,6 @@ fi
|
||||
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)
|
||||
|
||||
product_version=$(opnsense-version -v)
|
||||
product_name=$(opnsense-version -n)
|
||||
os_version=$(uname -sr)
|
||||
last_check=$(date)
|
||||
|
||||
# write our json structure
|
||||
cat > ${JSONFILE} << EOF
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
command:daemon -f /usr/local/opnsense/scripts/firmware/launcher.sh check
|
||||
parameters:%s
|
||||
type:script
|
||||
message:Retrieve firmware update status
|
||||
message:Retrieve %s firmware update status
|
||||
|
||||
[changelog.fetch]
|
||||
command: /usr/local/opnsense/scripts/firmware/changelog.sh fetch
|
||||
@ -42,12 +42,6 @@ parameters:%s
|
||||
type:script_output
|
||||
message:Viewing license for %s
|
||||
|
||||
[type.name]
|
||||
command:opnsense-version -n
|
||||
parameters:
|
||||
type:script_output
|
||||
message:Probing release type name
|
||||
|
||||
[type.install]
|
||||
command:/usr/sbin/daemon -f /usr/local/opnsense/scripts/firmware/launcher.sh type
|
||||
parameters:%s
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user