Show a patch.

GET /api/patches/17464/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 17464,
    "url": "https://patchwork.libcamera.org/api/patches/17464/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/17464/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20220929143626.3100668-2-kieran.bingham@ideasonboard.com>",
    "date": "2022-09-29T14:36:23",
    "name": "[libcamera-devel,1/4] meson: Shared Object version handling",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "8e4560621ae8ee601a51f07cc0ad7655e3990932",
    "submitter": {
        "id": 4,
        "url": "https://patchwork.libcamera.org/api/people/4/?format=api",
        "name": "Kieran Bingham",
        "email": "kieran.bingham@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/17464/mbox/",
    "series": [
        {
            "id": 3514,
            "url": "https://patchwork.libcamera.org/api/series/3514/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3514",
            "date": "2022-09-29T14:36:22",
            "name": "Add release infrastructure",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/3514/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/17464/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/17464/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>",
        "X-Original-To": "parsemail@patchwork.libcamera.org",
        "Delivered-To": "parsemail@patchwork.libcamera.org",
        "Received": [
            "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 0FA7AC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 29 Sep 2022 14:36:39 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5380262390;\n\tThu, 29 Sep 2022 16:36:37 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CCF18622A6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 29 Sep 2022 16:36:34 +0200 (CEST)",
            "from Monstersaurus.local\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 33E48505;\n\tThu, 29 Sep 2022 16:36:34 +0200 (CEST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1664462197;\n\tbh=qvmpLW5i6TEkdpc+k0HZhqef5xpzfOM7lPfr/O0GRw0=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=gGir8wgP/x7KO6FeNarGlo70rJKyWwlH1QBC/iQg8/+gdHSfl3h0QrLyt5Pj9uQIC\n\tLtzjl3LEmeyq5TNTNBbCjfImA0L7u1lQhUkxCu5Z/+pOx5/YaNyzNJmzLsjNw34/kp\n\t2fsI1hpVh4LzqgMzg2eofTFFmACO9AXsHrQxb9jZHjkrA621faw6JwrnIf5D3B1NRs\n\tpBQ0qyVD0F8FZ3vaWu8I+ll8/irQwUlbUPe7C1qS5EQXvFdwGM2YUYYfgLw1sNoXkT\n\tRVfgmoQjvKuQKCgIUwvY17BfffWrPQEbqn7T1+R/TkVoomFG4NcH0QVohJqsJ8vBZD\n\tMTi+o2oezHoKQ==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1664462194;\n\tbh=qvmpLW5i6TEkdpc+k0HZhqef5xpzfOM7lPfr/O0GRw0=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=ACwr+ROZmzUyD7knpSqUx9nbPOCVqMH6r4x2p1+/IZTdpAcZfU65Fk5nAUaM8pnMP\n\tN8EN9OHuxMcyGOtBUxK+ADDIxYxLn51L/FgWdaZQenRS4X8T/WzM2RDw1eJTITH6vW\n\t99csqS96AwMksu7vYfuVTB6288qJ1wIULu7YoTP8="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"ACwr+ROZ\"; dkim-atps=neutral",
        "To": "libcamera devel <libcamera-devel@lists.libcamera.org>",
        "Date": "Thu, 29 Sep 2022 15:36:23 +0100",
        "Message-Id": "<20220929143626.3100668-2-kieran.bingham@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20220929143626.3100668-1-kieran.bingham@ideasonboard.com>",
        "References": "<20220929143626.3100668-1-kieran.bingham@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 1/4] meson: Shared Object version handling",
        "X-BeenThere": "libcamera-devel@lists.libcamera.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "<libcamera-devel.lists.libcamera.org>",
        "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>",
        "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>",
        "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>",
        "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>",
        "From": "Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Kieran Bingham <kieran.bingham@ideasonboard.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "The libcamera project is not yet ready to declare ABI nor API stability,\nbut it will benefit the community to be able to provide more regular\nrelease cycles to determine 'versioned' points of history.\n\nIdeally, these releases will be made at any ABI breakage, but can be\nmade at arbitary time based points along the way.\n\nTo support releases which may not be ABI stable, declare the soversion\nof both the libcamera and libcamera-base library to be dependant upon\nboth the major and minor component of the project version.\n\nAs part of this, introduce a new 'Versions' summary section to highlight\nthe different version components that may become apparent within any\ngiven build.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n meson.build                    | 15 +++++++++++++++\n src/libcamera/base/meson.build |  1 +\n src/libcamera/meson.build      |  1 +\n 3 files changed, 17 insertions(+)",
    "diff": "diff --git a/meson.build b/meson.build\nindex 72919102ad55..9bbfd0e9c784 100644\n--- a/meson.build\n+++ b/meson.build\n@@ -26,6 +26,21 @@ endif\n \n libcamera_version = libcamera_git_version.split('+')[0]\n \n+# Enforce Major and Minor as part of the soversion. Until we make a first major\n+# release, and remain on version 0.x each release may denote ABI instabilty.\n+# We can continue to consider that a patch level increment should be\n+# compatible.\n+project_version = meson.project_version().split('.')\n+soversion = project_version[0] + '.' + project_version[1]\n+\n+summary({\n+            'Project': meson.project_version(),\n+            'Sources': libcamera_git_version,\n+            'libcamera': libcamera_version,\n+            'Shared Object': soversion,\n+        },\n+        section : 'Versions')\n+\n # This script gererates the .tarball-version file on a 'meson dist' command.\n meson.add_dist_script('utils/run-dist.sh')\n \ndiff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build\nindex 3b9d74efe935..51719f112d26 100644\n--- a/src/libcamera/base/meson.build\n+++ b/src/libcamera/base/meson.build\n@@ -51,6 +51,7 @@ libcamera_base_args = [ '-DLIBCAMERA_BASE_PRIVATE' ]\n libcamera_base_lib = shared_library('libcamera-base',\n                                     [libcamera_base_sources, libcamera_base_headers],\n                                     version : libcamera_version,\n+                                    soversion : soversion,\n                                     name_prefix : '',\n                                     install : true,\n                                     cpp_args : libcamera_base_args,\ndiff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\nindex 63b47b177fd2..3aa7f32067f8 100644\n--- a/src/libcamera/meson.build\n+++ b/src/libcamera/meson.build\n@@ -160,6 +160,7 @@ libcamera_deps = [\n libcamera = shared_library('libcamera',\n                            libcamera_sources,\n                            version : libcamera_version,\n+                           soversion : soversion,\n                            name_prefix : '',\n                            install : true,\n                            include_directories : includes,\n",
    "prefixes": [
        "libcamera-devel",
        "1/4"
    ]
}