[libcamera-devel] [PATCH v3 0/5] Add release infrastructure

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Oct 10 19:32:09 CEST 2022


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 and separately update this
with an SPDX tag. The SPDX tag has been proposed for merge upstream.

Finally, provide a helper release script which will update the version
of the top level meson.build and tag it accordingly.

A small typo is fixed at the beginning of the series.

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.

For example:

  Project version: 1.0.0
  ...
  meson.build:33: WARNING: The sources disagree about the version: 0.0.0 != 1.0.0
  ...
  libcamera 1.0.0

  Versions
    Source version override  : True
    project                  : 1.0.0
    sources                  : 1.0.0+3991-20fe9868-dirty (2022-10-10T18:22:59
    soname                   : 1.0.0


Kieran Bingham (5):
  meson: Fix typo
  meson: Shared Object version handling
  utils: semver: Add version helper
  utils: semver: Document licence and source
  utils: Provide a release script

 Documentation/Doxyfile.in      |   4 +-
 meson.build                    |  25 +-
 src/libcamera/base/meson.build |   1 +
 src/libcamera/meson.build      |   1 +
 utils/release.sh               |  44 ++++
 utils/semver                   | 420 +++++++++++++++++++++++++++++++++
 6 files changed, 493 insertions(+), 2 deletions(-)
 create mode 100755 utils/release.sh
 create mode 100755 utils/semver

-- 
2.34.1



More information about the libcamera-devel mailing list