[libcamera-devel,v4,0/3] Add release infrastructure
mbox series

Message ID 20221013095957.1642901-1-kieran.bingham@ideasonboard.com
Headers show
Series
  • Add release infrastructure
Related show

Message

Kieran Bingham Oct. 13, 2022, 9:59 a.m. UTC
To facilitate making releases of libcamera, extend the shared_library
targets for libcamera and libcamera-base to include both the major,
minor and patch component in the soname. This could be reduced to only
the major and minor when we release any stable branches.

Furthermore, add a semver helper script, taken from
https://github.com/fsaintjacques/semver-tool to facilitate working with
semver values.

Finally, provide a helper release script which will update the version
of the top level meson.build and tag it accordingly. The releaser has
the opportunity to provide a description and release message detailing
what this release covers.


In the event that the sources (meson.project_version(), and
utils/gen-version.sh) disagree, the meson.project_version() becomes the
source of truth, while the git version information for the sha1 is
retained. A warning message will be printed, both at the time of
detection, and within the Versions summary section to highlight this.

libcamera 1.0.0

  Versions
    libcamera git version    : 0.0.0+3990-cd68bb99-dirty (2022-10-13T10:38:15+01:00)
    Source version match     : NO
    Sources                  : 1.0.0+3990-cd68bb99-dirty (2022-10-13T10:38:15+01:00)-nvm


Kieran Bingham (3):
  meson: Shared Object version handling
  utils: semver: Add version helper
  utils: Provide a release script

 Documentation/Doxyfile.in      |   2 +
 meson.build                    |  32 +++
 src/libcamera/base/meson.build |   1 +
 src/libcamera/meson.build      |   1 +
 utils/release.sh               |  46 ++++
 utils/semver                   | 446 +++++++++++++++++++++++++++++++++
 6 files changed, 528 insertions(+)
 create mode 100755 utils/release.sh
 create mode 100755 utils/semver