]> xenbits.xensource.com Git - people/hx242/xen.git/commitdiff
docs/support-matrix: unbreak docs rendering
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 4 Jun 2020 20:39:37 +0000 (21:39 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 8 Jun 2020 14:19:49 +0000 (15:19 +0100)
The cronjob which renders https://xenbits.xen.org/docs/ has been broken for a
while.  commitish_version() pulls an old version of xen/Makefile out of
history, and uses the xenversion rule.

Currently, this fails with:

  tmp.support-matrix.xen.make:130: scripts/Kbuild.include: No such file or directory

which is because the Makefile legitimately references Kbuild.include with a
relative rather than absolute path.

Rework support-matrix-generate to use sed to extract the major/minor version,
rather than expecting xen/Makefile to be usable in a different tree.

Fixes: 945e80a7301f ("docs: Provide support-matrix-generate, to generate a support matrix in HTML")
Backport: 4.11+
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Release-acked-by: Paul Durrant <paul@xen.org>
docs/support-matrix-generate

index a3d93321f19026a63f92105e5f6582cb99d16ff4..8a27849cf6a4289f7d53acf6db1a833b227b78ef 100755 (executable)
@@ -27,8 +27,8 @@
 #
 # Then we try to find the next previous revision.  This is done by
 # extracting the current version number from xen/Makefile.  (We make
-# some slight assumption about how xen/Makefile's xenversion target
-# works, because we want to be able to do this without checking out
+# some slight assumption about how xen/Makefile's variables are
+# written, because we want to be able to do this without checking out
 # the whole tree for the version in question.)  Then we use git log on
 # xen/Makefile to try to find a commit where the version changed.
 # This gives us the previous version number, NN.
@@ -102,12 +102,16 @@ commitish_version () {
     esac
 
     git cat-file blob "$commitish:$versionfile" >"$tmp_versionfile"
-    version=$(make --no-print-directory -C docs \
-                   -f "${tmp_versionfile#docs/}" xenversion)
-    case "$version" in
-        *.*.*) version="${version%.*}" ;;
-    esac
-    printf "%s\n" "${version%%-*}"
+
+    local maj=$(sed -n 's/.*XEN_VERSION.*= \([0-9]\+\)/\1/p' < "$tmp_versionfile")
+    local min=$(sed -n 's/.*XEN_SUBVERSION.*= \([0-9]\+\)/\1/p' < "$tmp_versionfile")
+
+    if [ -z $maj ] || [ -z $min ];
+    then
+        fail "Unable to identify Xen version for $commitish";
+    fi
+
+    printf "%d.%d\n" "$maj" "$min"
 }
 
 exec 4>"$tmp_revisions"