Patch Detail
Show a patch.
GET /api/1.1/patches/9014/?format=api
{ "id": 9014, "url": "https://patchwork.libcamera.org/api/1.1/patches/9014/?format=api", "web_url": "https://patchwork.libcamera.org/patch/9014/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/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": "<20200727092108.6209-1-andrey.konovalov@linaro.org>", "date": "2020-07-27T09:21:08", "name": "[libcamera-devel,meta-multimedia] libcamera: fix packaging and installation", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "7b2a777146c9056471ba067ea9d1a2a57b873e5c", "submitter": { "id": 25, "url": "https://patchwork.libcamera.org/api/1.1/people/25/?format=api", "name": "Andrey Konovalov", "email": "andrey.konovalov@linaro.org" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/9014/mbox/", "series": [ { "id": 1149, "url": "https://patchwork.libcamera.org/api/1.1/series/1149/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1149", "date": "2020-07-27T09:21:08", "name": "[libcamera-devel,meta-multimedia] libcamera: fix packaging and installation", "version": 1, "mbox": "https://patchwork.libcamera.org/series/1149/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/9014/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/9014/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 014ACBD86F\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 27 Jul 2020 09:21:36 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 827BA611A2;\n\tMon, 27 Jul 2020 11:21:36 +0200 (CEST)", "from mail-lj1-x243.google.com (mail-lj1-x243.google.com\n\t[IPv6:2a00:1450:4864:20::243])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E6DB86118A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 27 Jul 2020 11:21:34 +0200 (CEST)", "by mail-lj1-x243.google.com with SMTP id g6so3805806ljn.11\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 27 Jul 2020 02:21:34 -0700 (PDT)", "from localhost.localdomain (37-144-159-139.broadband.corbina.ru.\n\t[37.144.159.139]) by smtp.googlemail.com with ESMTPSA id\n\tt10sm2231593ljg.60.2020.07.27.02.21.33\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 27 Jul 2020 02:21:33 -0700 (PDT)" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"JDL13Fw9\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;\n\th=from:to:cc:subject:date:message-id;\n\tbh=TsLyHf9icimfTRdF3XNR95W1SsltnAf5GMBLlHhhh6E=;\n\tb=JDL13Fw9v/WQ6uGRTA+IDmBNBN944L4CvSOEAo7yhKSgezk3Dgc4I56xBMJuyTlX6N\n\tVqyn3BUM4mpjC0/RHfXEwzs9gYBe5EQaU4yWLCkew2lujfspwgUu1tHuQIcwbl+bJfL7\n\tw3CNavzw4deuCQFpkUyjJQbANHhVPkXgm5+qmzW+bZd3M5W4Vvp5DHF0IhNferkiEwD3\n\t60Fm1XxzalELJwZdAxZI+cdBYNZbX15m0K3ulJJ9/ycHiVq6TVepKy9rn+EzOfWwS+vt\n\tC9uvqxfPDQ0sv9q9g1t/agD78qZBvus0twI+f+d5hkfThFtE3LaQlTHmXcL39FEVFoY6\n\tUZgQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=TsLyHf9icimfTRdF3XNR95W1SsltnAf5GMBLlHhhh6E=;\n\tb=JdyAC0dMjLtj7P43Ngw1jS60fiUWOhLVcC+xGTIPZ5MhbhYNBLDPt8nas9pEa/kcaH\n\tYaq+8bTO0Z744wapNgbGq2KOhF82Ps1D/VgxEv71iPh8GYJhxwobv0nP7oSsSBnK7mqo\n\tnIZ2deVxWLLJqtIndhQYUqV215J0hVJ2nqLL6vHfVJeQjaR001auaaoMHxGH0DAjPHSZ\n\tHjFq+0A+q/Qh76slP/poyONkungW9YBFSVa9QEyuVoTVoqBrBW8FjLnT1+onXxC5EIgA\n\tcWseJzihuhaQXd9/Ovbl1KznbiohmAuha9kLJ61hxVCfU+tuZ16UwOMKqj905exKIaAm\n\tEHdg==", "X-Gm-Message-State": "AOAM5334QxqwKN3exkc5zeXAEXxNF0pIYdrZtFFD7DPYIK/0grHpZmzg\n\t5BWHsBwLIUHIGfAPFLC4BXN7xg==", "X-Google-Smtp-Source": "ABdhPJzK4gttWwKg/EVsg0XP8nwdwrqoru3mzIKv8Ry6vLQMAVBynTodKhVVpokwV76aFLeqLr/nPw==", "X-Received": "by 2002:a05:651c:106e:: with SMTP id\n\ty14mr8930700ljm.381.1595841694272; \n\tMon, 27 Jul 2020 02:21:34 -0700 (PDT)", "From": "Andrey Konovalov <andrey.konovalov@linaro.org>", "To": "openembedded-devel@lists.openembedded.org", "Date": "Mon, 27 Jul 2020 12:21:08 +0300", "Message-Id": "<20200727092108.6209-1-andrey.konovalov@linaro.org>", "X-Mailer": "git-send-email 2.17.1", "Subject": "[libcamera-devel] [meta-multimedia][PATCH] libcamera: fix packaging\n\tand installation", "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>", "Cc": "libcamera-devel@lists.libcamera.org, raj.khem@gmail.com,\n\tmadhavan.krishnan@linaro.org", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "libcamera checks if RPATH or RUNPATH dynamic tag is present in\nlibcamera.so. If it does, it assumes that libcamera binaries are\nrun directly from the build directory without installing them, and\ntries to use resorces like IPA modules from the build directory.\nMainline meson strips RPATH/RUNPATH out at install time (for\nmeson versions up to 0.54; the things are somewhat changed in 0.55).\nBut openembedded-core patches meson to disable RPATH/RUNPATH removal.\nThat's why we need to remove this tag manually in do_install_append().\n\nIPA module is signed (with openssl dgst) after it is built. But\nduring packaging the OE build system 1) splits out debugging info,\nand 2) strips the binaries. So the IPA module *.so file installed\nisn't the one which the signature was calculated against. Then\nthe signature check fails, and libcamera tries to run the IPA\nmodule isolated (in a sandbox), which doesn't work if the IPA\nmodule wasn't designed to run isolated. The easiest way to fix that\nis to disable splitting out debug information and stripping the binaries\nduring packaging with INHIBIT_PACKAGE_DEBUG_SPLIT and\nINHIBIT_PACKAGE_STRIP.\n\nSigned-off-by: Andrey Konovalov <andrey.konovalov@linaro.org>\n---\n .../recipes-multimedia/libcamera/libcamera.bb | 9 ++++++++-\n 1 file changed, 8 insertions(+), 1 deletion(-)", "diff": "diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb\nindex 00a5c480d..573366f08 100644\n--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb\n+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb\n@@ -18,13 +18,20 @@ PV = \"202006+git${SRCPV}\"\n \n S = \"${WORKDIR}/git\"\n \n-DEPENDS = \"python3-pyyaml-native udev gnutls boost\"\n+DEPENDS = \"python3-pyyaml-native udev gnutls boost chrpath-native\"\n DEPENDS += \"${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}\"\n \n RDEPENDS_${PN} = \"${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}\"\n \n inherit meson pkgconfig python3native\n \n+do_install_append() {\n+ chrpath -d ${D}${libdir}/libcamera.so\n+}\n+\n FILES_${PN}-dev = \"${includedir} ${libdir}/pkgconfig\"\n FILES_${PN} += \" ${libdir}/libcamera.so\"\n \n+INHIBIT_PACKAGE_DEBUG_SPLIT = \"1\"\n+INHIBIT_PACKAGE_STRIP = \"1\"\n+\n", "prefixes": [ "libcamera-devel", "meta-multimedia" ] }