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

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

Commit Message

Kieran Bingham July 4, 2023, 2:24 p.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>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 meson.build | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

Comments

Umang Jain July 4, 2023, 6:33 p.m. UTC | #1
Hi Kieran,

Thank you for the patch .

On 7/4/23 4:24 PM, 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>

Reviewed-by: Umang Jain <umang.jain@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')