Hi folks,
We’ve introduced a new auto-versioning feature to the starlingx build tools, which will use a count of git commits in the package’s base directory in calculating the TIS_PATCH_VER:
PKG_GITREVCOUNT
https://review.opendev.org/727837
To use this, you can just set TIS_PATCH_VER=PKG_GITREVCOUNT in your build_srpm.data file. The count is based on commits in the PKG_BASE directory, ie. the same directory with the “centos” dir that contains the build_srpm.data file. For
example, with this set in stx/config/tsconfig/centos/build_srpm.data, the TIS_PATCH_VER will be set to the number of commits in stx/config/tsconfig. This provides for independent versioning of packages in repos with multiple packages.
Optionally, you can also set PKG_BASE_SRCREV, if you want to set an initial reference point for the commit count. For example, if I have updated the base version of a package from 1.0.0 to 2.0.0 in commit SHA a1b2c3d4, and I only want to
count commits from that point, then I would set PKG_BASE_SRCREV=a1b2c3d4 in the build_srpm.data file.
This operates similar to the existing GITREVCOUNT and TIS_BASE_SRCREV variables that are used when a package is building from a separate subgit, and wants to set the version based on commits in that subgit.
Additionally, both GITREVCOUNT and PKG_GITREVCOUNT can be combined. If you have a package that is using GITREVCOUNT for a separate subgit, but also has local content, you can add PKG_GITREVCOUNT:
TIS_PATCH_VER=GITREVCOUNT+PKG_GITREVCOUNT
As well, you can manually increment the value:
TIS_PATCH_VER=PKG_GITREVCOUNT+4
The packages in starlingx/config have now been updated to use PKG_GITREVCOUNT for the TIS_PATCH_VER, if you want to see a simple example:
https://review.opendev.org/727838
We can start rolling out similar changes to other packages to move to auto-versioning as appropriate.
Please let me know if you have any questions.
Cheers,
Don.
Don Penney, Developer,
Wind River