[libcamera-ci,v1] cros-sdk-lite: Update to release-R135-16209.B
diff mbox series

Message ID 20250502081153.20104-1-barnabas.pocze@ideasonboard.com
State Accepted
Headers show
Series
  • [libcamera-ci,v1] cros-sdk-lite: Update to release-R135-16209.B
Related show

Commit Message

Barnabás Pőcze May 2, 2025, 8:11 a.m. UTC
Update the chrome os sdk to a newer version that has Linux 5.4 kernel
headers as those will be needed to build libcamera in the future.

This commit only updates the build scripts, and changes the image that
the CI uses; the image is built and uploaded to the registry separately.

Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
---
 .gitlab-ci/build-libcamera-cros.sh            |  1 +
 containers/cros-sdk-lite/.env                 |  2 +-
 containers/cros-sdk-lite/Containerfile        |  2 +-
 ...-sdk-lib-Remove-mounting-of-configfs.patch | 37 -------------------
 ...ssing-explicit-dependencies-for-the-.patch |  4 +-
 ...-lc-compliance-with-the-dev-USE-flag.patch |  8 ++--
 ...mera-Disable-all-meson-auto-features.patch |  4 +-
 doc/container-cros-sdk-lite.rst               |  2 +-
 gitlab-ci.yml                                 |  2 +-
 9 files changed, 13 insertions(+), 49 deletions(-)
 delete mode 100644 containers/cros-sdk-lite/stage1/patches/chromite/0001-lib-cros-sdk-lib-Remove-mounting-of-configfs.patch

--
2.49.0

Comments

Laurent Pinchart May 2, 2025, 2:04 p.m. UTC | #1
Hi Barnabás,

Thank you for the patch.

On Fri, May 02, 2025 at 10:11:53AM +0200, Barnabás Pőcze wrote:
> Update the chrome os sdk to a newer version that has Linux 5.4 kernel
> headers as those will be needed to build libcamera in the future.
> 
> This commit only updates the build scripts, and changes the image that
> the CI uses; the image is built and uploaded to the registry separately.
> 
> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  .gitlab-ci/build-libcamera-cros.sh            |  1 +
>  containers/cros-sdk-lite/.env                 |  2 +-
>  containers/cros-sdk-lite/Containerfile        |  2 +-
>  ...-sdk-lib-Remove-mounting-of-configfs.patch | 37 -------------------
>  ...ssing-explicit-dependencies-for-the-.patch |  4 +-
>  ...-lc-compliance-with-the-dev-USE-flag.patch |  8 ++--
>  ...mera-Disable-all-meson-auto-features.patch |  4 +-
>  doc/container-cros-sdk-lite.rst               |  2 +-
>  gitlab-ci.yml                                 |  2 +-
>  9 files changed, 13 insertions(+), 49 deletions(-)
>  delete mode 100644 containers/cros-sdk-lite/stage1/patches/chromite/0001-lib-cros-sdk-lib-Remove-mounting-of-configfs.patch
> 
> diff --git a/.gitlab-ci/build-libcamera-cros.sh b/.gitlab-ci/build-libcamera-cros.sh
> index b153c2a..cd92753 100755
> --- a/.gitlab-ci/build-libcamera-cros.sh
> +++ b/.gitlab-ci/build-libcamera-cros.sh
> @@ -26,6 +26,7 @@ libcamera_cros_setup() {
>  		-Dpipelines=ipu3,uvcvideo \
>  		-Dtest=false \
>  		-Dudev=enabled \
> +		-Dcpp_std=c++20 \
>  		build
>  }
> 
> diff --git a/containers/cros-sdk-lite/.env b/containers/cros-sdk-lite/.env
> index 7c6836f..0ef5e34 100644
> --- a/containers/cros-sdk-lite/.env
> +++ b/containers/cros-sdk-lite/.env
> @@ -1,2 +1,2 @@
>  CROS_SDK_BOARD=soraka-libcamera
> -CROS_SDK_REVISION=release-R120-15662.B
> +CROS_SDK_REVISION=release-R135-16209.B
> diff --git a/containers/cros-sdk-lite/Containerfile b/containers/cros-sdk-lite/Containerfile
> index 904724a..90e0aa0 100644
> --- a/containers/cros-sdk-lite/Containerfile
> +++ b/containers/cros-sdk-lite/Containerfile
> @@ -15,7 +15,7 @@ FROM docker.io/library/debian:bookworm-slim AS cros-sdk-sources
>  ENV DEBIAN_FRONTEND=noninteractive
> 
>  ARG cros_board=soraka-libcamera
> -ARG cros_sdk_revision=release-R120-15662.B
> +ARG cros_sdk_revision=release-R135-16209.B
> 
>  RUN apt-get update && apt-get install --no-install-recommends -y \
>          ca-certificates \
> diff --git a/containers/cros-sdk-lite/stage1/patches/chromite/0001-lib-cros-sdk-lib-Remove-mounting-of-configfs.patch b/containers/cros-sdk-lite/stage1/patches/chromite/0001-lib-cros-sdk-lib-Remove-mounting-of-configfs.patch
> deleted file mode 100644
> index 3cec160..0000000
> --- a/containers/cros-sdk-lite/stage1/patches/chromite/0001-lib-cros-sdk-lib-Remove-mounting-of-configfs.patch
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -From 1a7f1358ab84dc76202c9cd63947fdbda2c2917d Mon Sep 17 00:00:00 2001
> -From: Tomasz Figa <tfiga@chromium.org>
> -Date: Mon, 15 Jan 2024 19:22:11 +0900
> -Subject: [PATCH] lib: cros_sdk_lib: Remove mounting of configfs
> -
> -Remove mounting of configfs from cros_sdk setup. It seems to cause
> -problems when running cros_sdk in non-privileged containers (like
> -podman) and doesn't seem to be used.
> -
> -The feature was added to support iSCSI for some experiments with servo
> -as a part of chromium:570766, but a later comment in the same bug states
> -that it never ended up being used, but this piece of code apparently
> -forgotten during the cleanup.
> -
> -BUG=chromium:570766
> -TEST=./run_tests
> -
> -Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> -Change-Id: I694eee3b1886a60c46d5e8cdcb274a6e50045549
> ----
> -
> -diff --git a/lib/cros_sdk_lib.py b/lib/cros_sdk_lib.py
> -index a320a79..646032e 100644
> ---- a/lib/cros_sdk_lib.py
> -+++ b/lib/cros_sdk_lib.py
> -@@ -394,11 +394,6 @@
> -             # qemu, but nothing else currently.
> -             pass
> -
> --    if "configfs" in KNOWN_FILESYSTEMS:
> --        osutils.Mount(
> --            "configfs", path / "sys/kernel/config", "configfs", defflags
> --        )
> --
> -     # We expose /dev so we can access loopback & USB drives for flashing.
> -     osutils.Mount("/dev", path / "dev", None, osutils.MS_BIND | osutils.MS_REC)
> -
> diff --git a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0001-libcamera-Add-missing-explicit-dependencies-for-the-.patch b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0001-libcamera-Add-missing-explicit-dependencies-for-the-.patch
> index 9f91e67..9374773 100644
> --- a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0001-libcamera-Add-missing-explicit-dependencies-for-the-.patch
> +++ b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0001-libcamera-Add-missing-explicit-dependencies-for-the-.patch
> @@ -34,10 +34,10 @@ diff --git a/eclass/libcamera.eclass b/eclass/libcamera.eclass
>  index 1575e8ae14f9..81f4f20b216d 100644
>  --- a/eclass/libcamera.eclass
>  +++ b/eclass/libcamera.eclass
> -@@ -41,7 +41,11 @@ IUSE="debug dev doc test udev"
> - RDEPEND="
> +@@ -56,7 +56,11 @@
>   	${LIBCAMERA_DEPEND}
>   	chromeos-base/cros-camera-libs:=
> + 	chromeos-base/perfetto:=
>  -	dev? ( dev-libs/libevent[threads] )
>  +	dev? (
>  +		dev-libs/libevent[threads]
> diff --git a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0002-libcamera-Enable-lc-compliance-with-the-dev-USE-flag.patch b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0002-libcamera-Enable-lc-compliance-with-the-dev-USE-flag.patch
> index 4b3844f..3bbc5b3 100644
> --- a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0002-libcamera-Enable-lc-compliance-with-the-dev-USE-flag.patch
> +++ b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0002-libcamera-Enable-lc-compliance-with-the-dev-USE-flag.patch
> @@ -16,19 +16,19 @@ diff --git a/eclass/libcamera.eclass b/eclass/libcamera.eclass
>  index 81f4f20b216d..5b2484aaee00 100644
>  --- a/eclass/libcamera.eclass
>  +++ b/eclass/libcamera.eclass
> -@@ -42,6 +42,7 @@ RDEPEND="
> - 	${LIBCAMERA_DEPEND}
> +@@ -57,6 +57,7 @@
>   	chromeos-base/cros-camera-libs:=
> + 	chromeos-base/perfetto:=
>   	dev? (
>  +		dev-cpp/gtest
>   		dev-libs/libevent[threads]
>   		media-libs/tiff
>   		x11-libs/libdrm
> -@@ -79,6 +80,7 @@ libcamera_src_configure() {
> +@@ -94,6 +95,7 @@
>   	local emesonargs=(
>   		$(meson_use test)
>   		$(meson_feature dev cam)
>  +		$(meson_feature dev lc-compliance)
>   		$(meson_feature doc documentation)
>   		$(meson_feature udev udev)
> - 		-Dandroid="enabled"
> + 		-Dcpp_std=c++20
> diff --git a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0003-libcamera-Disable-all-meson-auto-features.patch b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0003-libcamera-Disable-all-meson-auto-features.patch
> index 6a55985..3dbb0d9 100644
> --- a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0003-libcamera-Disable-all-meson-auto-features.patch
> +++ b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0003-libcamera-Disable-all-meson-auto-features.patch
> @@ -19,11 +19,11 @@ diff --git a/eclass/libcamera.eclass b/eclass/libcamera.eclass
>  index 5b2484aaee00..347ac725a76c 100644
>  --- a/eclass/libcamera.eclass
>  +++ b/eclass/libcamera.eclass
> -@@ -86,6 +86,7 @@ libcamera_src_configure() {
> +@@ -102,6 +102,7 @@
>   		-Dandroid="enabled"
>   		-Dandroid_platform="cros"
>   		-Dpipelines="${LIBCAMERA_PIPELINES}"
>  +		--auto-features disabled
> + 		-Dpycamera="disabled"
>   		--buildtype "$(usex debug debug plain)"
>   		--sysconfdir /etc/camera
> - 	)
> diff --git a/doc/container-cros-sdk-lite.rst b/doc/container-cros-sdk-lite.rst
> index 17c6ac8..5c761d6 100644
> --- a/doc/container-cros-sdk-lite.rst
> +++ b/doc/container-cros-sdk-lite.rst
> @@ -52,7 +52,7 @@ remaining of this document will refer to the token value as
> 
>     ~ $ podman login -u cros-sdk-lite-builder -p ${DEPLOY_TOKEN} registry.freedesktop.org
>     Login Succeeded!
> -   ~ $ podman push localhost/cros-sdk-lite-r120-15662:2024-01-16 docker://registry.freedesktop.org/${GITLAB_PROJECT}/cros-sdk-lite-r120-15662:2024-01-16.0
> +   ~ $ podman push localhost/cros-sdk-lite-r135-16209:2025-03-27 docker://registry.freedesktop.org/${GITLAB_PROJECT}/cros-sdk-lite-r135-16209:2025-03-27.0
>     Getting image source signatures
>     Copying blob 54dc9ff5151f done
>     Copying blob 30b0f9676fbc done
> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> index 11790bb..257b192 100644
> --- a/gitlab-ci.yml
> +++ b/gitlab-ci.yml
> @@ -7,7 +7,7 @@ stages:
>    - test
> 
>  variables:
> -  CROS_SDK_IMAGE: 'registry.freedesktop.org/camera/libcamera/cros-sdk-lite-r120-15662:2024-01-16.0'
> +  CROS_SDK_IMAGE: 'registry.freedesktop.org/camera/libcamera/cros-sdk-lite-r135-16209:2025-03-27.0'
>    FDO_UPSTREAM_REPO: 'camera/libcamera'
>    GIT_DEPTH: 1
>    KERNEL_VERSION: '6.6'

Patch
diff mbox series

diff --git a/.gitlab-ci/build-libcamera-cros.sh b/.gitlab-ci/build-libcamera-cros.sh
index b153c2a..cd92753 100755
--- a/.gitlab-ci/build-libcamera-cros.sh
+++ b/.gitlab-ci/build-libcamera-cros.sh
@@ -26,6 +26,7 @@  libcamera_cros_setup() {
 		-Dpipelines=ipu3,uvcvideo \
 		-Dtest=false \
 		-Dudev=enabled \
+		-Dcpp_std=c++20 \
 		build
 }

diff --git a/containers/cros-sdk-lite/.env b/containers/cros-sdk-lite/.env
index 7c6836f..0ef5e34 100644
--- a/containers/cros-sdk-lite/.env
+++ b/containers/cros-sdk-lite/.env
@@ -1,2 +1,2 @@ 
 CROS_SDK_BOARD=soraka-libcamera
-CROS_SDK_REVISION=release-R120-15662.B
+CROS_SDK_REVISION=release-R135-16209.B
diff --git a/containers/cros-sdk-lite/Containerfile b/containers/cros-sdk-lite/Containerfile
index 904724a..90e0aa0 100644
--- a/containers/cros-sdk-lite/Containerfile
+++ b/containers/cros-sdk-lite/Containerfile
@@ -15,7 +15,7 @@  FROM docker.io/library/debian:bookworm-slim AS cros-sdk-sources
 ENV DEBIAN_FRONTEND=noninteractive

 ARG cros_board=soraka-libcamera
-ARG cros_sdk_revision=release-R120-15662.B
+ARG cros_sdk_revision=release-R135-16209.B

 RUN apt-get update && apt-get install --no-install-recommends -y \
         ca-certificates \
diff --git a/containers/cros-sdk-lite/stage1/patches/chromite/0001-lib-cros-sdk-lib-Remove-mounting-of-configfs.patch b/containers/cros-sdk-lite/stage1/patches/chromite/0001-lib-cros-sdk-lib-Remove-mounting-of-configfs.patch
deleted file mode 100644
index 3cec160..0000000
--- a/containers/cros-sdk-lite/stage1/patches/chromite/0001-lib-cros-sdk-lib-Remove-mounting-of-configfs.patch
+++ /dev/null
@@ -1,37 +0,0 @@ 
-From 1a7f1358ab84dc76202c9cd63947fdbda2c2917d Mon Sep 17 00:00:00 2001
-From: Tomasz Figa <tfiga@chromium.org>
-Date: Mon, 15 Jan 2024 19:22:11 +0900
-Subject: [PATCH] lib: cros_sdk_lib: Remove mounting of configfs
-
-Remove mounting of configfs from cros_sdk setup. It seems to cause
-problems when running cros_sdk in non-privileged containers (like
-podman) and doesn't seem to be used.
-
-The feature was added to support iSCSI for some experiments with servo
-as a part of chromium:570766, but a later comment in the same bug states
-that it never ended up being used, but this piece of code apparently
-forgotten during the cleanup.
-
-BUG=chromium:570766
-TEST=./run_tests
-
-Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Change-Id: I694eee3b1886a60c46d5e8cdcb274a6e50045549
----
-
-diff --git a/lib/cros_sdk_lib.py b/lib/cros_sdk_lib.py
-index a320a79..646032e 100644
---- a/lib/cros_sdk_lib.py
-+++ b/lib/cros_sdk_lib.py
-@@ -394,11 +394,6 @@
-             # qemu, but nothing else currently.
-             pass
-
--    if "configfs" in KNOWN_FILESYSTEMS:
--        osutils.Mount(
--            "configfs", path / "sys/kernel/config", "configfs", defflags
--        )
--
-     # We expose /dev so we can access loopback & USB drives for flashing.
-     osutils.Mount("/dev", path / "dev", None, osutils.MS_BIND | osutils.MS_REC)
-
diff --git a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0001-libcamera-Add-missing-explicit-dependencies-for-the-.patch b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0001-libcamera-Add-missing-explicit-dependencies-for-the-.patch
index 9f91e67..9374773 100644
--- a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0001-libcamera-Add-missing-explicit-dependencies-for-the-.patch
+++ b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0001-libcamera-Add-missing-explicit-dependencies-for-the-.patch
@@ -34,10 +34,10 @@  diff --git a/eclass/libcamera.eclass b/eclass/libcamera.eclass
 index 1575e8ae14f9..81f4f20b216d 100644
 --- a/eclass/libcamera.eclass
 +++ b/eclass/libcamera.eclass
-@@ -41,7 +41,11 @@ IUSE="debug dev doc test udev"
- RDEPEND="
+@@ -56,7 +56,11 @@
  	${LIBCAMERA_DEPEND}
  	chromeos-base/cros-camera-libs:=
+ 	chromeos-base/perfetto:=
 -	dev? ( dev-libs/libevent[threads] )
 +	dev? (
 +		dev-libs/libevent[threads]
diff --git a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0002-libcamera-Enable-lc-compliance-with-the-dev-USE-flag.patch b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0002-libcamera-Enable-lc-compliance-with-the-dev-USE-flag.patch
index 4b3844f..3bbc5b3 100644
--- a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0002-libcamera-Enable-lc-compliance-with-the-dev-USE-flag.patch
+++ b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0002-libcamera-Enable-lc-compliance-with-the-dev-USE-flag.patch
@@ -16,19 +16,19 @@  diff --git a/eclass/libcamera.eclass b/eclass/libcamera.eclass
 index 81f4f20b216d..5b2484aaee00 100644
 --- a/eclass/libcamera.eclass
 +++ b/eclass/libcamera.eclass
-@@ -42,6 +42,7 @@ RDEPEND="
- 	${LIBCAMERA_DEPEND}
+@@ -57,6 +57,7 @@
  	chromeos-base/cros-camera-libs:=
+ 	chromeos-base/perfetto:=
  	dev? (
 +		dev-cpp/gtest
  		dev-libs/libevent[threads]
  		media-libs/tiff
  		x11-libs/libdrm
-@@ -79,6 +80,7 @@ libcamera_src_configure() {
+@@ -94,6 +95,7 @@
  	local emesonargs=(
  		$(meson_use test)
  		$(meson_feature dev cam)
 +		$(meson_feature dev lc-compliance)
  		$(meson_feature doc documentation)
  		$(meson_feature udev udev)
- 		-Dandroid="enabled"
+ 		-Dcpp_std=c++20
diff --git a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0003-libcamera-Disable-all-meson-auto-features.patch b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0003-libcamera-Disable-all-meson-auto-features.patch
index 6a55985..3dbb0d9 100644
--- a/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0003-libcamera-Disable-all-meson-auto-features.patch
+++ b/containers/cros-sdk-lite/stage1/patches/overlays/chromiumos-overlay/0003-libcamera-Disable-all-meson-auto-features.patch
@@ -19,11 +19,11 @@  diff --git a/eclass/libcamera.eclass b/eclass/libcamera.eclass
 index 5b2484aaee00..347ac725a76c 100644
 --- a/eclass/libcamera.eclass
 +++ b/eclass/libcamera.eclass
-@@ -86,6 +86,7 @@ libcamera_src_configure() {
+@@ -102,6 +102,7 @@
  		-Dandroid="enabled"
  		-Dandroid_platform="cros"
  		-Dpipelines="${LIBCAMERA_PIPELINES}"
 +		--auto-features disabled
+ 		-Dpycamera="disabled"
  		--buildtype "$(usex debug debug plain)"
  		--sysconfdir /etc/camera
- 	)
diff --git a/doc/container-cros-sdk-lite.rst b/doc/container-cros-sdk-lite.rst
index 17c6ac8..5c761d6 100644
--- a/doc/container-cros-sdk-lite.rst
+++ b/doc/container-cros-sdk-lite.rst
@@ -52,7 +52,7 @@  remaining of this document will refer to the token value as

    ~ $ podman login -u cros-sdk-lite-builder -p ${DEPLOY_TOKEN} registry.freedesktop.org
    Login Succeeded!
-   ~ $ podman push localhost/cros-sdk-lite-r120-15662:2024-01-16 docker://registry.freedesktop.org/${GITLAB_PROJECT}/cros-sdk-lite-r120-15662:2024-01-16.0
+   ~ $ podman push localhost/cros-sdk-lite-r135-16209:2025-03-27 docker://registry.freedesktop.org/${GITLAB_PROJECT}/cros-sdk-lite-r135-16209:2025-03-27.0
    Getting image source signatures
    Copying blob 54dc9ff5151f done
    Copying blob 30b0f9676fbc done
diff --git a/gitlab-ci.yml b/gitlab-ci.yml
index 11790bb..257b192 100644
--- a/gitlab-ci.yml
+++ b/gitlab-ci.yml
@@ -7,7 +7,7 @@  stages:
   - test

 variables:
-  CROS_SDK_IMAGE: 'registry.freedesktop.org/camera/libcamera/cros-sdk-lite-r120-15662:2024-01-16.0'
+  CROS_SDK_IMAGE: 'registry.freedesktop.org/camera/libcamera/cros-sdk-lite-r135-16209:2025-03-27.0'
   FDO_UPSTREAM_REPO: 'camera/libcamera'
   GIT_DEPTH: 1
   KERNEL_VERSION: '6.6'