From 57a32692b7e34002c1475763f3b90650b595b851 Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Thu, 14 Apr 2022 13:33:27 +0200 Subject: [PATCH] docs: sphinx-static: switchers.js.in: improve obsolete version detection Based on additional information per release, specifically with the obsolescence status of a release, the obsolescence detection can now be much smarter than just checking if the release is older than dunfell. This is required because with LTS (dunfell for example) releases, it is now possible to have LTS releases that are older than obsolete releases. This means obsolete releases need to be tracked and only the release version cannot be used as an indicator of obsolescence. Let's use the obsolete field of the per-release data in the all_versions dictionary to display correct warning messages. The warning message is first about outdated version if there's a newer one available (*even* if it is for an obsolete release, e.g. 3.0.1 will say it's outdated and should select 3.0.4 version instead), then if the version is the last of the release, show a warning message if the release is obsolete. Cc: Quentin Schulz (From yocto-docs rev: 6986baa0d3b544bbad8a7e23ee447abc6f2769f6) Signed-off-by: Quentin Schulz Signed-off-by: Richard Purdie --- documentation/sphinx-static/switchers.js.in | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/documentation/sphinx-static/switchers.js.in b/documentation/sphinx-static/switchers.js.in index 5ae0325e6d..408e23a71c 100644 --- a/documentation/sphinx-static/switchers.js.in +++ b/documentation/sphinx-static/switchers.js.in @@ -219,15 +219,20 @@ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-b $('.doctype_switcher_placeholder').html(doctype_select); $('.doctype_switcher_placeholder select').bind('change', on_doctype_switch); - if (ver_compare(release, "3.1") < 0) { - $('#outdated-warning').html('Version ' + release + ' of the project is now considered obsolete, please select and use a more recent version'); - $('#outdated-warning').css('padding', '.5em'); - } else if (release != "dev") { + if (release != "dev") { $.each(all_versions, function(version, vers_data) { var series = version.substr(0, 3); - if (series == current_series && version != release) { - $('#outdated-warning').html('This document is for outdated version ' + release + ', you should select the latest release version in this series, ' + version + '.'); - $('#outdated-warning').css('padding', '.5em'); + if (series == current_series) { + if (version != release) { + $('#outdated-warning').html('This document is for outdated version ' + release + ', you should select the latest release version in this series, ' + version + '.'); + $('#outdated-warning').css('padding', '.5em'); + return false; + } + if (vers_data["obsolete"]) { + $('#outdated-warning').html('Version ' + release + ' of the project is now considered obsolete, please select and use a more recent version'); + $('#outdated-warning').css('padding', '.5em'); + return false; + } } }); }