[PATCH v1 0/4] Add 'version' to other exported types

Victor Toso victortoso at redhat.com
Tue Apr 5 11:43:19 UTC 2022


Hi,

This series is an extension of what Daniel did in e0e0bf6628 "scripts:
include function versions in API definition".

The main motivation behind this is to help code generators to consider
if a given symbol is present in a given version of libvirt that they are
either running/building against, more specifically:

    https://gitlab.com/libvirt/libvirt-go-module/-/merge_requests/7

As headers are already a great source of documentation for developers,
I'm suggesting to add a specific comment to each of this exported types:

    /* ... Since <version> */

For the use case I mentioned above, I'm adding small parsing function in
apibuild.py to fetch the above metadata and included it on the generated
XML API.

To avoid adding too much noise in the githistory, I'm proposing the
addition of symbols.versions.allowlist file, that apibuild.py can use to
fetch the first git tag that a given symbol appeared in. I did a small
script to generate it, but it sums up to calling the bellow command for
any tag that starts with 'v' and has not '-rc'.

    git grep $symbol $tag ./include

I'm trying the simples approach I could find but I'm happy to improve
this further based on your suggestions.

Ah, the diff in the generated XMLs, per patch (sadly, pasteben drops it
after a single day). The initial reference is current master 67c77744d7
'tests: Fixing compiler warning in cputest'

 0001 (enums) ... https://paste.centos.org/view/e9137ef0
 0002 (typedefs)  https://paste.centos.org/view/76f0b397
 0003 (macros) .. https://paste.centos.org/view/b68fb03a
 0004 (variables) https://paste.centos.org/view/4a20d9bb

Cheers,
Victor

Victor Toso (4):
  scripts: apibuild: parse 'Since' version for enums
  scripts: apibuild: parse 'Since' for typedefs
  scripts: apibuild: parse 'Since' for macros
  scripts: apibuild: add 'version' to variables

 scripts/apibuild.py        |   68 +-
 symbols.versions.allowlist | 2144 ++++++++++++++++++++++++++++++++++++
 2 files changed, 2199 insertions(+), 13 deletions(-)
 create mode 100644 symbols.versions.allowlist

-- 
2.35.1



More information about the libvir-list mailing list