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