diff --git a/documentation/poky.yaml.in b/documentation/poky.yaml.in index d045ff596e..e03cdbfff6 100644 --- a/documentation/poky.yaml.in +++ b/documentation/poky.yaml.in @@ -2,13 +2,22 @@ # Macros used in the documentation # +# The DISTRO variable represents the current docs version. It should be used +# when referring to the current docs version. See also DISTRO_LATEST_TAG. DISTRO : "5.1" +# The DISTRO_LATEST_TAG represents the latest tag on the current branch. It +# should be used in HTTP link referring to the current docs version. In these +# cases, the DISTRO may point to A.B.999 which does not exist (just used to +# represent the latest HEAD revision on the branch). DISTRO_LATEST_TAG should +# always point to an existing tag. +DISTRO_LATEST_TAG : "5.1" DISTRO_NAME_NO_CAP : "styhead" DISTRO_NAME : "Styhead" DISTRO_NAME_NO_CAP_MINUS_ONE : "scarthgap" DISTRO_NAME_NO_CAP_LTS : "scarthgap" YOCTO_DOC_VERSION : "5.1" -DISTRO_REL_TAG : "yocto-5.1" +DISTRO_REL_TAG : "yocto-$DISTRO;" +DISTRO_REL_LATEST_TAG : "yocto-&DISTRO_LATEST_TAG;" DOCCONF_VERSION : "dev" BITBAKE_SERIES : "" YOCTO_DL_URL : "https://downloads.yoctoproject.org" diff --git a/documentation/set_versions.py b/documentation/set_versions.py index 376337e7b5..076a131ebc 100755 --- a/documentation/set_versions.py +++ b/documentation/set_versions.py @@ -170,17 +170,29 @@ series = [k for k in release_series] previousseries = series[series.index(ourseries)+1:] or [""] lastlts = [k for k in previousseries if k in ltsseries] or "dunfell" +latestreltag = subprocess.run(["git", "describe", "--abbrev=0", "--tags", "--match", "yocto-*"], capture_output=True, text=True).stdout +latestreltag = latestreltag.strip() +if latestreltag: + if latestreltag.startswith("yocto-"): + latesttag = latestreltag[6:] +else: + # fallback on the calculated version + print("Did not find a tag with 'git describe', falling back to %s" % ourversion) + latestreltag = "yocto-" + ourversion + latesttag = ourversion + print("Version calculated to be %s" % ourversion) +print("Latest release tag found is %s" % latestreltag) print("Release series calculated to be %s" % ourseries) replacements = { "DISTRO" : ourversion, + "DISTRO_LATEST_TAG": latesttag, "DISTRO_NAME_NO_CAP" : ourseries, "DISTRO_NAME" : ourseries.capitalize(), "DISTRO_NAME_NO_CAP_MINUS_ONE" : previousseries[0], "DISTRO_NAME_NO_CAP_LTS" : lastlts[0], "YOCTO_DOC_VERSION" : ourversion, - "DISTRO_REL_TAG" : "yocto-" + ourversion, "DOCCONF_VERSION" : docconfver, "BITBAKE_SERIES" : bitbakeversion, } @@ -318,3 +330,5 @@ with open('releases.rst', 'w') as f: if tag == release_series[series] or tag.startswith('%s.' % release_series[series]): f.write('- :yocto_docs:`%s Documentation `\n' % (tag, tag)) f.write('\n') + +