From patchwork Mon Oct 10 17:32:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kieran Bingham X-Patchwork-Id: 17572 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 6BC69C0DA4 for ; Mon, 10 Oct 2022 17:33:25 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 57B0662D6E; Mon, 10 Oct 2022 19:33:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1665423204; bh=iGjbpvPeOLsKnkPN1J9MZFa1FUDJte6JOb3n49YzBLo=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=Sre9Xr/zRGC67c2dCciGhavoGGNjIBpBexY9b6RAfl9NFBkChaHPD/ewiJIfy6R49 w8I2Ps8NnW9urIc623E7yCoKn1DTQQJFJpTBEeZJqT0nmoSW/QR3wGLeYAVoLHRfUr 2iNgvAfinilrGvacr2LjDf2c2XAezjVZ54M5tg7h4r22fg4PFeqAzdj0vwDQZdUD6L q3lagF2MvwaMiD/rc5I1Esj31ezQHdMT84C33TUIbVZiO8SEc+EeMfs9vP3iFjgdaK g3sX11TkIbmCNTC816DH3I51p/IVCi+S+soU8hmo76n7GnPGpG2juOp5NEtiseINNs ridBAkIm1IjTw== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 161BA62272 for ; Mon, 10 Oct 2022 19:33:23 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="CrFnEGqk"; dkim-atps=neutral Received: from Monstersaurus.ksquared.org.uk.beta.tailscale.net (cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 7B5BCBB0; Mon, 10 Oct 2022 19:33:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1665423202; bh=iGjbpvPeOLsKnkPN1J9MZFa1FUDJte6JOb3n49YzBLo=; h=From:To:Cc:Subject:Date:From; b=CrFnEGqk/R1oVeJYPsy9o5epjBPRHSnFcAePJ6PXRXcmh+khKxQLtdwBYmBeH35mw L1iM2LZ3pb/i8tFXatOiwG4qrzDHpfpdLlI54U2D5pRxaW09wRg77b3TtHRioLs3yw mvk4nGlVgOYZQB0Be6hngSiLq1W4LQVzeufE0odY= To: libcamera devel Date: Mon, 10 Oct 2022 18:32:09 +0100 Message-Id: <20221010173214.3547133-1-kieran.bingham@ideasonboard.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 0/5] Add release infrastructure 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" To facilitate making releases of libcamera, extend the shared_library targets for libcamera and libcamera-base to include both the major, minor and patch component in the soname. This could be reduced to only the major and minor when we release any stable branches. Furthermore, add a semver helper script, taken from https://github.com/fsaintjacques/semver-tool and separately update this with an SPDX tag. The SPDX tag has been proposed for merge upstream. Finally, provide a helper release script which will update the version of the top level meson.build and tag it accordingly. A small typo is fixed at the beginning of the series. In the event that the sources (meson.project_version(), and utils/gen-version.sh) disagree, the meson.project_version() becomes the source of truth, while the git version information for the sha1 is retained. A warning message will be printed, both at the time of detection, and within the Versions summary section to highlight this. For example: Project version: 1.0.0 ... meson.build:33: WARNING: The sources disagree about the version: 0.0.0 != 1.0.0 ... libcamera 1.0.0 Versions Source version override : True project : 1.0.0 sources : 1.0.0+3991-20fe9868-dirty (2022-10-10T18:22:59 soname : 1.0.0 Kieran Bingham (5): meson: Fix typo meson: Shared Object version handling utils: semver: Add version helper utils: semver: Document licence and source utils: Provide a release script Documentation/Doxyfile.in | 4 +- meson.build | 25 +- src/libcamera/base/meson.build | 1 + src/libcamera/meson.build | 1 + utils/release.sh | 44 ++++ utils/semver | 420 +++++++++++++++++++++++++++++++++ 6 files changed, 493 insertions(+), 2 deletions(-) create mode 100755 utils/release.sh create mode 100755 utils/semver