[libcamera-devel,v3] meson: Align handling of build metadata
diff mbox series

Message ID mailman.45.1677705495.25031.libcamera-devel@lists.libcamera.org
State Accepted
Commit f852b7fbc4960ea83bab49b75408fb13462db8ba
Headers show
Series
  • [libcamera-devel,v3] meson: Align handling of build metadata
Related show

Commit Message

Michael Riesch March 1, 2023, 9:18 p.m. UTC
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@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(-)

Patch
diff mbox series

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))
-    libcamera_version = meson.project_version()
+    libcamera_version = project_version
 
     # Append a marker to show we have modified this version string
     libcamera_git_version += '-nvm'