docs/support-matrix: unbreak docs rendering

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: 945e80a730 ("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>
This commit is contained in:
Andrew Cooper committed 2020-06-08 15:19:49 +01:00
1 parent 75131ad75b
commit 11ba5cdb84
1 file changed
+12 -8
+12 -8
View File
@@ -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"
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.