[{"id":38098,"web_url":"https://patchwork.libcamera.org/comment/38098/","msgid":"<20260205135837.GB635043@killaraus.ideasonboard.com>","date":"2026-02-05T13:58:37","subject":"Re: [libcamera-ci] [PATCH v2 2/2] Update virtme-ng to 1.40","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Barnabás,\n\nThank you for the patch.\n\nOn Mon, Jan 26, 2026 at 09:57:47AM +0100, Barnabás Pőcze wrote:\n> This enables the removal of the exit code workaround since the exit code is\n> now propagated to the host[0]. However, the single argument `--rwdir` does\n> not work as it did in 1.18, and the `<path>=<path>` form must be used\n> otherwise virtme-ng refuses to start[1]:\n> \n>   error: cannot initialize <path> inside the guest (path must be defined inside a valid overlay)\n> \n> And moreover, since virtme-ng now creates an overlay for `/tmp` by default[2],\n> and some tests require a /tmp with `O_TMPFILE` support, `/tmp` needs to be\n> mounted as tmpfs before running the tests.\n\nI suppose we can drop this if we merge your O_TMPFILE series first ? I'm\nfine merging the series in any order, we can always update this later,\nso\n\n> [0]: https://github.com/arighi/virtme-ng/pull/61\n> [1]: https://github.com/arighi/virtme-ng/issues/409\n> [2]: https://github.com/arighi/virtme-ng/pull/114\n> \n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> ---\n> changes in v2:\n>   * move virtme-ng update to a separate commit\n>   * use `--rwdir x=x` instead of `--overlay-rwdir`\n>     * I created and referenced https://github.com/arighi/virtme-ng/issues/409\n>       because I don't really understand why the 1.18 behaviour was changed\n> \n> v1: https://patchwork.libcamera.org/patch/25942/\n> ---\n>  .gitlab-ci/test-lc-compliance.sh  |  6 ++----\n>  .gitlab-ci/test-libcamera-qemu.sh | 11 +++++++----\n>  gitlab-ci.yml                     |  2 +-\n>  3 files changed, 10 insertions(+), 9 deletions(-)\n> \n> diff --git a/.gitlab-ci/test-lc-compliance.sh b/.gitlab-ci/test-lc-compliance.sh\n> index 6208723..a888cae 100755\n> --- a/.gitlab-ci/test-lc-compliance.sh\n> +++ b/.gitlab-ci/test-lc-compliance.sh\n> @@ -14,7 +14,7 @@ libcamera_compliance() {\n>  \t\t--verbose \\\n>  \t\t--skip-modules \\\n>  \t\t--force-9p \\\n> -\t\t--rwdir \"$PWD/build\" \\\n> +\t\t--rwdir \"$PWD/build=$PWD/build\" \\\n>  \t\t--run /opt/linux/bzImage \\\n>  \t\t--exec \" \\\n>  \t\t\tset -x; \\\n> @@ -25,12 +25,10 @@ libcamera_compliance() {\n>  \t\t\tUBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 \\\n>  \t\t\tGTEST_OUTPUT=xml:./build/lc-compliance-report.xml \\\n>  \t\t\tlc-compliance -c Virtual0; \\\n> -\t\t\techo \\\\\\$? > ./build/.test-status; \\\n>  \t\t\"\n> \n> -\tlocal status=$(cat build/.test-status)\n> +\tlocal status=$?\n>  \techo \"Test result exit state: $status\"\n> -\trm build/.test-status\n> \n>  \tif [[ $status != 0 ]] ; then\n>  \t\texit $status\n> diff --git a/.gitlab-ci/test-libcamera-qemu.sh b/.gitlab-ci/test-libcamera-qemu.sh\n> index f9de5ab..03d39d3 100755\n> --- a/.gitlab-ci/test-libcamera-qemu.sh\n> +++ b/.gitlab-ci/test-libcamera-qemu.sh\n> @@ -24,13 +24,16 @@ libcamera_unit_test() {\n>  \techo \"Running libcamera tests in a qemu VM\"\n> \n>  \tvirtme-ng --verbose --skip-modules --force-9p \\\n> -\t\t--rwdir \"$PWD/build\" \\\n> +\t\t--rwdir \"$PWD/build=$PWD/build\" \\\n>  \t\t--run /opt/linux/bzImage \\\n> -\t\t--exec \"meson test -C build --no-rebuild --print-errorlogs; echo \\\\\\$? > build/.test-status\"\n> +\t\t--exec \" \\\n> +\t\t\tset -ex; \\\n> +\t\t\tmount -t tmpfs tmpfs /tmp/; \\\n> +\t\t\tmeson test -C build --no-rebuild --print-errorlogs; \\\n> +\t\t\"\n> \n> -\tlocal status=$(cat build/.test-status)\n> +\tlocal status=$?\n>  \techo \"Test result exit state: $status\"\n> -\trm build/.test-status\n> \n>  \tif [[ $status != 0 ]] ; then\n>  \t\texit $status\n> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> index bd5df66..3f80cb8 100644\n> --- a/gitlab-ci.yml\n> +++ b/gitlab-ci.yml\n> @@ -34,7 +34,7 @@ variables:\n>      ca-certificates\n>      git\n>    VIRTME_GIT_URL: 'https://github.com/arighi/virtme-ng.git'\n> -  VIRTME_GIT_REF: 'v1.18'\n> +  VIRTME_GIT_REF: 'v1.40'\n\nYou also need to update FDO_DISTRIBUTION_TAG. I know 1/2 already does\nso, and as we'll merge the two commits together nothing will break, but\nit's still a good practice.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> \n>  # Jobs that test individual commits need more history to find the common\n>  # ancestor of the branch being tested and the default branch. Fetch up to 100","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 55A96BD78E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  5 Feb 2026 13:58:41 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1DC5462061;\n\tThu,  5 Feb 2026 14:58:40 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 80EE562010\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  5 Feb 2026 14:58:38 +0100 (CET)","from killaraus.ideasonboard.com\n\t(2001-14ba-703d-e500--2a1.rev.dnainternet.fi\n\t[IPv6:2001:14ba:703d:e500::2a1])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 77129D0;\n\tThu,  5 Feb 2026 14:57:55 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"avY7Kp6V\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1770299875;\n\tbh=PfO18D9gFDWL7hjdFC9vNBWZujnUs/z1/3POG3FA7pw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=avY7Kp6VaIuMyfS320Q55sssVjeFnLarSL9WH0sGqMgyY4kxtJAolhtPvAkkNyLxQ\n\tBJft5iEsGBEmM085NtTKROLHjCAyCSv8uUc868N5waMSJtN1PlAVemEj3mtCr6fCU3\n\tNhhJbgKbme0D8EQK+CWOAVwLU+Kmdf7P4OpxRJJY=","Date":"Thu, 5 Feb 2026 15:58:37 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [libcamera-ci] [PATCH v2 2/2] Update virtme-ng to 1.40","Message-ID":"<20260205135837.GB635043@killaraus.ideasonboard.com>","References":"<20260126085747.36043-1-barnabas.pocze@ideasonboard.com>\n\t<20260126085747.36043-2-barnabas.pocze@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20260126085747.36043-2-barnabas.pocze@ideasonboard.com>","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]