All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/4] docs: set_versions.py: mark as obsolete only branches and old tags from obsolete releases
@ 2022-04-20 15:04 Quentin Schulz
  2022-04-20 15:04 ` [PATCH v2 2/4] docs: sphinx-static: switchers.js.in: rename all_versions to switcher_versions Quentin Schulz
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Quentin Schulz @ 2022-04-20 15:04 UTC (permalink / raw)
  To: docs; +Cc: Quentin Schulz, Quentin Schulz

From: Quentin Schulz <quentin.schulz@theobroma-systems.com>

Branches are identified by their .999 version suffix which means they
will never be matched in the forloop above this git context. Therefore,
branches will match the condition. However, branches are not necessarily
obsolete (e.g. dunfell, honister and kirkstone today), so let's mark as
obsolete the branches which are from obsolete releases.

Old tags of currently supported releases are not defined as obsolete but
outdated, therefore using the series to which they belong like it is
done for branches is enough for obsolescence detection.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
---

v2:
 - commit log rephrased

 documentation/set_versions.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/documentation/set_versions.py b/documentation/set_versions.py
index 0086e9bea..fc179ee19 100755
--- a/documentation/set_versions.py
+++ b/documentation/set_versions.py
@@ -218,7 +218,7 @@ with open("sphinx-static/switchers.js.in", "r") as r, open("sphinx-static/switch
                 versions.append(version)
                 w.write("    '%s': {'title': '%s', 'obsolete': %s,},\n" % (version, version, str(branch not in activereleases).lower()))
             if ourversion not in versions and ourseries != devbranch:
-                w.write("    '%s': {'title': '%s', 'obsolete': true,},\n" % (ourversion, ourversion))
+                w.write("    '%s': {'title': '%s', 'obsolete': %s,},\n" % (ourversion, ourversion, str(ourseries not in activereleases).lower()))
         else:
             w.write(line)
 
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/4] docs: sphinx-static: switchers.js.in: rename all_versions to switcher_versions
  2022-04-20 15:04 [PATCH v2 1/4] docs: set_versions.py: mark as obsolete only branches and old tags from obsolete releases Quentin Schulz
@ 2022-04-20 15:04 ` Quentin Schulz
  2022-04-20 15:04 ` [PATCH v2 3/4] docs: sphinx-static: switchers.js.in: fix broken switcher for branches Quentin Schulz
  2022-04-20 15:04 ` [PATCH v2 4/4] docs: sphinx-static: switchers.js.in: do not mark branches as outdated Quentin Schulz
  2 siblings, 0 replies; 4+ messages in thread
From: Quentin Schulz @ 2022-04-20 15:04 UTC (permalink / raw)
  To: docs; +Cc: Quentin Schulz, Quentin Schulz

From: Quentin Schulz <quentin.schulz@theobroma-systems.com>

This array only contains versions that can be selected through the
dropdown menu for switching between supported versions.

Therefore, let's rename it to switcher_versions to make its usecase
clearer.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
---
 documentation/sphinx-static/switchers.js.in | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/documentation/sphinx-static/switchers.js.in b/documentation/sphinx-static/switchers.js.in
index 4966b3033..7eb0c2ff3 100644
--- a/documentation/sphinx-static/switchers.js.in
+++ b/documentation/sphinx-static/switchers.js.in
@@ -9,7 +9,7 @@ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-b
 (function() {
   'use strict';
 
-  var all_versions = {
+  var switcher_versions = {
     VERSIONS_PLACEHOLDER
   };
 
@@ -65,7 +65,7 @@ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-b
   function build_version_select(current_series, current_version) {
     var buf = ['<select>'];
 
-    $.each(all_versions, function(version, vers_data) {
+    $.each(switcher_versions, function(version, vers_data) {
       var series = version.substr(0, 3);
       if (series == current_series) {
         if (version == current_version)
@@ -218,7 +218,7 @@ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-b
     $('.doctype_switcher_placeholder select').bind('change', on_doctype_switch);
 
     if (release != "dev") {
-      $.each(all_versions, function(version, vers_data) {
+      $.each(switcher_versions, function(version, vers_data) {
         var series = version.substr(0, 3);
         if (series == current_series) {
           if (version != release) {
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 3/4] docs: sphinx-static: switchers.js.in: fix broken switcher for branches
  2022-04-20 15:04 [PATCH v2 1/4] docs: set_versions.py: mark as obsolete only branches and old tags from obsolete releases Quentin Schulz
  2022-04-20 15:04 ` [PATCH v2 2/4] docs: sphinx-static: switchers.js.in: rename all_versions to switcher_versions Quentin Schulz
@ 2022-04-20 15:04 ` Quentin Schulz
  2022-04-20 15:04 ` [PATCH v2 4/4] docs: sphinx-static: switchers.js.in: do not mark branches as outdated Quentin Schulz
  2 siblings, 0 replies; 4+ messages in thread
From: Quentin Schulz @ 2022-04-20 15:04 UTC (permalink / raw)
  To: docs; +Cc: Quentin Schulz, Quentin Schulz

From: Quentin Schulz <quentin.schulz@theobroma-systems.com>

The switcher expects URL subpath to match the "release" used by sphinx
to build the documentation. Branches, however, are put in a subpath
after their name (e.g. dunfell) while sphinx sets the "release" to
X.Y.999. This means the switcher cannot replace correctly the path to
switch between releases/versions.

Let set_versions.py inject the list of release names into the
switchers.js.in file so it can check whether the subpath is one of the
release names in which case it needs to be stripped.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
---

v2:
 - renamed all_versions to all_releases
 - renamed ALL_VERSIONS_PLACEHOLDER to ALL_RELEASES_PLACEHOLDER
 - renamed name local variable to release

 documentation/set_versions.py               |  3 +++
 documentation/sphinx-static/switchers.js.in | 12 ++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/documentation/set_versions.py b/documentation/set_versions.py
index fc179ee19..261c1eeb3 100755
--- a/documentation/set_versions.py
+++ b/documentation/set_versions.py
@@ -203,6 +203,9 @@ versions = []
 with open("sphinx-static/switchers.js.in", "r") as r, open("sphinx-static/switchers.js", "w") as w:
     lines = r.readlines()
     for line in lines:
+        if "ALL_RELEASES_PLACEHOLDER" in line:
+            w.write(str(list(release_series.keys())))
+            continue
         if "VERSIONS_PLACEHOLDER" in line:
             w.write("    'dev': { 'title': 'dev (%s)', 'obsolete': false,},\n" % release_series[devbranch])
             for branch in activereleases + ([ourseries] if ourseries not in activereleases else []):
diff --git a/documentation/sphinx-static/switchers.js.in b/documentation/sphinx-static/switchers.js.in
index 7eb0c2ff3..1e523a188 100644
--- a/documentation/sphinx-static/switchers.js.in
+++ b/documentation/sphinx-static/switchers.js.in
@@ -9,6 +9,10 @@ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-b
 (function() {
   'use strict';
 
+  var all_releases =
+	ALL_RELEASES_PLACEHOLDER
+  ;
+
   var switcher_versions = {
     VERSIONS_PLACEHOLDER
   };
@@ -155,6 +159,14 @@ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-b
         var new_url = docroot + new_versionpath + url.replace(docroot, "");
         var fallback_url = docroot + new_versionpath;
     } else {
+	// check for named releases (e.g. dunfell) in the subpath
+        $.each(all_releases, function(idx, release) {
+		if (docroot.endsWith('/' + release + '/')) {
+			current_version = release;
+			return false;
+		}
+	});
+
         var new_url = url.replace('/' + current_version + '/', '/' + new_versionpath);
         var fallback_url = new_url.replace(url.replace(docroot, ""), "");
     }
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 4/4] docs: sphinx-static: switchers.js.in: do not mark branches as outdated
  2022-04-20 15:04 [PATCH v2 1/4] docs: set_versions.py: mark as obsolete only branches and old tags from obsolete releases Quentin Schulz
  2022-04-20 15:04 ` [PATCH v2 2/4] docs: sphinx-static: switchers.js.in: rename all_versions to switcher_versions Quentin Schulz
  2022-04-20 15:04 ` [PATCH v2 3/4] docs: sphinx-static: switchers.js.in: fix broken switcher for branches Quentin Schulz
@ 2022-04-20 15:04 ` Quentin Schulz
  2 siblings, 0 replies; 4+ messages in thread
From: Quentin Schulz @ 2022-04-20 15:04 UTC (permalink / raw)
  To: docs; +Cc: Quentin Schulz, Quentin Schulz

From: Quentin Schulz <quentin.schulz@theobroma-systems.com>

Branches can never be outdated so let's check the release is not a
branch (branches end with .999).

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
---
 documentation/sphinx-static/switchers.js.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/documentation/sphinx-static/switchers.js.in b/documentation/sphinx-static/switchers.js.in
index 1e523a188..8c016859b 100644
--- a/documentation/sphinx-static/switchers.js.in
+++ b/documentation/sphinx-static/switchers.js.in
@@ -233,7 +233,7 @@ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-b
       $.each(switcher_versions, function(version, vers_data) {
         var series = version.substr(0, 3);
         if (series == current_series) {
-          if (version != release) {
+          if (version != release && release.endsWith('.999') == false) {
             $('#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;
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-04-21 16:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-20 15:04 [PATCH v2 1/4] docs: set_versions.py: mark as obsolete only branches and old tags from obsolete releases Quentin Schulz
2022-04-20 15:04 ` [PATCH v2 2/4] docs: sphinx-static: switchers.js.in: rename all_versions to switcher_versions Quentin Schulz
2022-04-20 15:04 ` [PATCH v2 3/4] docs: sphinx-static: switchers.js.in: fix broken switcher for branches Quentin Schulz
2022-04-20 15:04 ` [PATCH v2 4/4] docs: sphinx-static: switchers.js.in: do not mark branches as outdated Quentin Schulz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.