From patchwork Mon May 15 09:58:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kieran Bingham X-Patchwork-Id: 18626 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 11832C3284 for ; Mon, 15 May 2023 09:58:19 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 7FFFC6039F; Mon, 15 May 2023 11:58:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1684144698; bh=Uu7uKZ5DNg4uM34bFMfZyV3M1SwQqu1RJSR4d3qP4tE=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=uDO02Elb8hG4POyFb98XFRXB9O4v2XtQOSWe6A8IIb6rPNO0Ix2Pi9mEqDIfEnRRf lzmE8tmtPKT/WU5dRaB5Mg+J5d7aYbKcIOC9n+QTfDI6MmjHAkk9DTMSp1Yv3UKzo+ eM5QSyz8fuIgmlK23+9XczcdXKigXvRkl86yDFIQktSb7sg178v9GmaLpxPSZ+Ns6j 1GmzlvJLgbxqQYzge++PdT5H9LgCEU6rFzuufnjTlk+1JxzwKgcQbTzUJAESgOhs1P DQenKRH5ozmOI5HxhJvcMJZpn4cvVK2MJk8J/XR8J6sZ5Z/zd3VjSGbnaI9fvpZmS9 iuakyIFs7PHzw== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id C885F6039A for ; Mon, 15 May 2023 11:58:16 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Ev9Q6q+L"; dkim-atps=neutral Received: from Monstersaurus.local (aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net [82.37.23.78]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 1103B8D; Mon, 15 May 2023 11:58:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1684144686; bh=Uu7uKZ5DNg4uM34bFMfZyV3M1SwQqu1RJSR4d3qP4tE=; h=From:To:Cc:Subject:Date:From; b=Ev9Q6q+Ll6Bh8Mx0waGvohx7O9QBVZknAxpDMT4VXyuaf5RqWlUmvwTOvLm/BUwQ3 2oMZF+kSpACpHE/b/0LEtVyWxrzh+t46LNhdzfe5WxSMESypuWmoW4/oo7NzHPGkIO rbWfWf7R8NwtCq7sy3i+mXZ1iZgRqh6zTa8xjQSI= To: libcamera devel Date: Mon, 15 May 2023 10:58:10 +0100 Message-Id: <20230515095812.3409747-1-kieran.bingham@ideasonboard.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 0/2] Use x.y soname versioning X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Kieran Bingham via libcamera-devel From: Kieran Bingham Reply-To: Kieran Bingham Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Users of libcamera will benefit from not having to recompile applications and frameworks against every new release point of libcamera. While we don't yet mandate a stable ABI we are currently incrementing the SONAME for 'every release'. With automatic ABI breakage detection we can improve this situation so that we only increment the SONAME when there is an ABI breakage. This will extend the compatbiilty of applications for longer and reduce the burden on application writers and packagers, and by incrementing the minor number on any breakage point we can make clear human readable indicators of what versions are compatible. We retain the leading 'major version 0' to indicate we are not yet feature complete. The abi-compat script currently produces an HTML file, but can be adapted later to output XML and be processed by any additional automated tooling that might be suitable to report directly on patches and branches when ABI breakages occur. Kieran Bingham (2): utils: ABI Compatibility checker meson: Use x.y soname versioning meson.build | 10 +-- utils/abi-compat.sh | 198 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 202 insertions(+), 6 deletions(-) create mode 100755 utils/abi-compat.sh