[libcamera-devel,v2,2/2] meson: Use x.y soname versioning
diff mbox series

Message ID 20230515095812.3409747-3-kieran.bingham@ideasonboard.com
State Accepted
Headers show
Series
  • Use x.y soname versioning
Related show

Commit Message

Kieran Bingham May 15, 2023, 9:58 a.m. UTC
Now that we identify ABI breakages, provide incremental releases which
can support backwards compatible linkage across release points that have
a compatible ABI.

Introduction of this commit does not convey that libcamera now has a
stable API, but that patch releases with a common minor number
(0.minor.patch) may potentially be used by applications without
recompilation and linkage against new releases.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 meson.build | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

Comments

Laurent Pinchart July 4, 2023, 9:11 a.m. UTC | #1
Hi Kieran,

Thank you for the patch.

On Mon, May 15, 2023 at 10:58:12AM +0100, Kieran Bingham via libcamera-devel wrote:
> Now that we identify ABI breakages, provide incremental releases which
> can support backwards compatible linkage across release points that have
> a compatible ABI.
> 
> Introduction of this commit does not convey that libcamera now has a
> stable API, but that patch releases with a common minor number
> (0.minor.patch) may potentially be used by applications without
> recompilation and linkage against new releases.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  meson.build | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index e1fd924307f7..9c1e708131eb 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -56,15 +56,13 @@ if libcamera_version != project_version
>      libcamera_git_version += '-nvm'
>  endif
>  
> -# Until we make ABI compatible releases, the full libcamera version is used as
> -# the soname. No ABI/API compatibility is guaranteed between releases (x.y.z).
> -#
> -# When automatic ABI based detection is used to increment the version, this
> -# will bump the minor number (x.y).
> +# The major and minor libcamera version components are used as the soname.
> +# No ABI/API compatibility is guaranteed between releases (x.y).
>  #
>  # When we declare a stable ABI/API we will provide a 1.0 release and the
>  # soversion at that point will be the 'major' release value (x).
> -libcamera_soversion = libcamera_version
> +semver = libcamera_version.split('.')
> +libcamera_soversion = semver[0] + '.' + semver[1]
>  
>  summary({ 'Sources': libcamera_git_version, }, section : 'Versions')
>

Patch
diff mbox series

diff --git a/meson.build b/meson.build
index e1fd924307f7..9c1e708131eb 100644
--- a/meson.build
+++ b/meson.build
@@ -56,15 +56,13 @@  if libcamera_version != project_version
     libcamera_git_version += '-nvm'
 endif
 
-# Until we make ABI compatible releases, the full libcamera version is used as
-# the soname. No ABI/API compatibility is guaranteed between releases (x.y.z).
-#
-# When automatic ABI based detection is used to increment the version, this
-# will bump the minor number (x.y).
+# The major and minor libcamera version components are used as the soname.
+# No ABI/API compatibility is guaranteed between releases (x.y).
 #
 # When we declare a stable ABI/API we will provide a 1.0 release and the
 # soversion at that point will be the 'major' release value (x).
-libcamera_soversion = libcamera_version
+semver = libcamera_version.split('.')
+libcamera_soversion = semver[0] + '.' + semver[1]
 
 summary({ 'Sources': libcamera_git_version, }, section : 'Versions')