[libcamera-devel] [PATCH v3] meson: Align handling of build metadata
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Mar 9 17:39:38 CET 2023
Hello,
On Thu, Mar 02, 2023 at 10:11:35AM +0000, Kieran Bingham via libcamera-devel wrote:
> Quoting Michael Riesch (2023-03-01 21:18:00)
> > The build metadata is split off correctly from the version string
> > obtained with utils/gen-version.sh, but for the meson project version
> > this step is not carried out. However, since libcamera uses Semantic
> > Versioning, it should be possible to add build metadata to the meson
> > project version. Align the handling of the build metadata to resolve
> > this mismatch.
> >
> > Signed-off-by: Michael Riesch <michael.riesch at wolfvision.net>
> > ---
> > Changes in v3:
> > - revert re-ordering of libcamera_version assignment
> >
> > v2 of this series follows a discussion with kbingham in #libcamera
> >
> > Changes in v2:
> > - revise patch message to reflect the current mismatch and the
> > proposed fix better
> > - introduce the 'project_version' variable to avoid three .split()
> > operations
> >
> > meson.build | 9 +++++----
> > 1 file changed, 5 insertions(+), 4 deletions(-)
> >
> > diff --git a/meson.build b/meson.build
> > index 9eee9d39..0f89b45a 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -25,13 +25,14 @@ if libcamera_git_version == ''
> > endif
> >
> > libcamera_version = libcamera_git_version.split('+')[0]
> > +project_version = meson.project_version().split('+')[0]
> >
> > # A shallow clone, or a clone without a reachable tag equivalent to the
> > # meson.project_version() could leave the project in a mis-described state.
> > # Produce a warning in this event, and fix to a best effort.
> > -if libcamera_version != meson.project_version()
> > +if libcamera_version != project_version
> > warning('The sources disagree about the version: '
> > - + libcamera_version + ' != ' + meson.project_version())
> > + + libcamera_version + ' != ' + project_version)
> >
> > summary({'libcamera git version' : libcamera_git_version,
> > 'Source version match' : false,
> > @@ -40,9 +41,9 @@ if libcamera_version != meson.project_version()
> >
> > # Replace the version components reported by git with the release version,
> > # but keep all trailing information supplied by git.
> > - libcamera_git_version = (meson.project_version() +
> > + libcamera_git_version = (project_version +
> > libcamera_git_version.strip(libcamera_version))
>
> Now I realise that strip() is processing this as a list of chars to
> strip, not a string to remove - this is clearly a 'bug' - but it's not a
> bug with this patch - so should be handled on top. Not sure how yet, as
> I think the use of .strip() was me working around a lack of features we
> can't use until we bump to a newer meson version.
>
> Anyway, that's corner cases. Your patch is fine with me:
>
>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > - libcamera_version = meson.project_version()
> > + libcamera_version = project_version
> >
> > # Append a marker to show we have modified this version string
> > libcamera_git_version += '-nvm'
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list