From patchwork Thu Jun 11 16:03:54 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 26872 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 9A97EC328C for ; Thu, 11 Jun 2026 16:03:58 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id B51B4623B4; Thu, 11 Jun 2026 18:03:57 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="P2WHgSRG"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id A409461F67 for ; Thu, 11 Jun 2026 18:03:55 +0200 (CEST) Received: from killaraus.ideasonboard.com (2001-14ba-70f3-e800--a06.rev.dnainternet.fi [IPv6:2001:14ba:70f3:e800::a06]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 885BD8D4 for ; Thu, 11 Jun 2026 18:03:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1781193805; bh=LSIGrLR9GydSZ8ph9sxwY78uuXjVLAX7h1ngz5s61NY=; h=From:To:Subject:Date:From; b=P2WHgSRGtCb5q3qzKslqS+Igbv3yHFLDtHdgS8tr8YRK4zpZAVg8u+p8zmMYnyitk 1gv0l2D/zV7pOqNirRJXwbxif6e410oBLg1t9wLf2oN0DmGRgGIwj2D1sNpTQoJ3Gp aC1hC+v7E6d6Gf+HfkAvopojC2fbKKPBuQbVXmf4= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [libcamera-ci] [PATCH] WIP: Drop support for Debian 11 Date: Thu, 11 Jun 2026 19:03:54 +0300 Message-ID: <20260611160354.1900259-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.53.0 MIME-Version: 1.0 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: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Debian 11 (Bullseye) will reach end of LTS life on 2026-08-31. Drop it from the CI. The main effect is dropping compilation testing on gcc 9 and 10. gcc 10.1 has been released 6 years ago, and the last minor release (10.5) 3 years ago. It is not shipped as the default compiler by any LTS of the major distributions we support. gcc 11, on the other hand, is the default compiler on Ubuntu 22.04 LTS, supported until May 2027. Add it to the Debian 12 builds to ensure coverage of the whole range of compilers that libcamera supports. Signed-off-by: Laurent Pinchart --- I'm sending this patch for early review, my plan is to delay merging it until end of August when LTS support for Bullseye ends. --- .gitlab-ci/setup-container.sh | 44 ++++------------------------------- gitlab-ci.yml | 29 +++-------------------- 2 files changed, 7 insertions(+), 66 deletions(-) base-commit: fc3798d77d07ae71c6d0e9b6c6957694a8170cd3 diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh index 6c4b439b887b..bb00895c1888 100755 --- a/.gitlab-ci/setup-container.sh +++ b/.gitlab-ci/setup-container.sh @@ -67,6 +67,7 @@ PKGS_LIBCAMERA_RUNTIME_MULTIARCH=( libudev-dev libunwind-dev libyaml-dev + libyuv-dev lttng-tools nlohmann-json3-dev qt6-base-dev @@ -109,15 +110,11 @@ declare -A components # Install additional packages on a per distribution version basis. case $FDO_DISTRIBUTION_VERSION in -'bullseye') - # gcc 9 to expand compilation testing coverage. - PKGS_LIBCAMERA_RUNTIME+=( g++-9 ) - ;; 'bookworm') + # gcc 11 to expand compilation testing coverage. + PKGS_LIBCAMERA_RUNTIME+=( g++-11 ) # libclang-rt-dev for the clang ASan runtime. PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-dev ) - # For the Android camera HAL and the virtual pipeline handler. - PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libyuv-dev ) ;; 'trixie') # gcc 13 to expand compilation testing coverage. @@ -138,8 +135,6 @@ case $FDO_DISTRIBUTION_VERSION in PKGS_LIBCAMERA_RUNTIME+=( clang-format jq python3-autopep8 reuse shellcheck ) # libclang-rt-dev for the clang ASan runtime. PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev ) - # For the Android camera HAL and the virtual pipeline handler. - PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libyuv-dev ) # For lc-compliance in the `test-lc-compliance:virtual` job # libevent-dev cannot be used here, see build-libcamera-common.sh PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libevent-2.1-7t64 libevent-pthreads-2.1-7t64 ) @@ -170,14 +165,6 @@ cbuild_install_pkgs() { local arch - # The qt6-tools-dev-tools package is only available for bullseye in the - # backports repository. Enable backports only for that version. - if [[ $FDO_DISTRIBUTION_VERSION == 'bullseye' ]] ; then - echo "deb http://archive.debian.org/debian bullseye-backports main" \ - > /etc/apt/sources.list.d/bullseye-backports.list - apt update - fi - apt install -y ${pkgs_cbuild[@]} apt-mark auto ${pkgs_cbuild[@]} @@ -220,13 +207,8 @@ dpkg_check_version() { cbuild_fixups() { echo "Applying miscellaneous fixups" - local pip3_options local pkg - if [[ $FDO_DISTRIBUTION_VERSION != 'bullseye' ]] ; then - pip3_options=--break-system-packages - fi - # Install packages from pip to ensure minimum versions. for pkg in "${PKGS_PIP_MIN_VERSIONS[@]}" ; do pkg=($pkg) @@ -254,27 +236,9 @@ cbuild_fixups() { fi apt install -y python3-pip - pip3 install ${pip3_options} ${pip_name}==${min_version} + pip3 install --break-system-packages ${pip_name}==${min_version} fi done - - # Create pybind11.pc manually if not provided by the distribution - # package. - if [[ ! -f /usr/share/pkgconfig/pybind11.pc ]] ; then - echo "pybind11-dev package not providing pybind11.pc, creating file manually" - - version=$(dpkg_version pybind11-dev) - - cat < /usr/share/pkgconfig/pybind11.pc -prefix=/usr -includedir=\${prefix}/include - -Name: pybind11 -Description: Seamless operability between C++11 and Python -Version: ${version} -Cflags: -I\${includedir} -EOF - fi } cbuild_cleanup_pkgs() { diff --git a/gitlab-ci.yml b/gitlab-ci.yml index 427f2d2516dc..d01ee87d3325 100644 --- a/gitlab-ci.yml +++ b/gitlab-ci.yml @@ -62,11 +62,6 @@ include: ref: *templates_sha file: '/templates/debian.yml' -.libcamera-ci.debian:11: - variables: - FDO_DISTRIBUTION_VERSION: 'bullseye' - FDO_DISTRIBUTION_TAG: '2026-04-05.0' - .libcamera-ci.debian:12: variables: FDO_DISTRIBUTION_VERSION: 'bookworm' @@ -92,11 +87,6 @@ include: fi ; .gitlab-ci/setup-container.sh -container-debian:11: - extends: - - .container-debian - - .libcamera-ci.debian:11 - container-debian:12: extends: - .container-debian @@ -152,22 +142,6 @@ container-debian:13: BUILD_TYPE: debug MESON_OPTIONS: ${MESON_ALL_OPTIONS} -build-full:debian:11: - extends: - - .libcamera-ci.debian:11 - - .build-full:debian - needs: - - job: container-debian:11 - artifacts: false - parallel: - matrix: - - ARCH: amd64 - CC: gcc-9 - CXX: g++-9 - - ARCH: amd64 - CC: gcc-10 - CXX: g++-10 - build-full:debian:12: extends: - .libcamera-ci.debian:12 @@ -180,6 +154,9 @@ build-full:debian:12: ${MESON_ALL_OPTIONS} parallel: matrix: + - ARCH: amd64 + CC: gcc-11 + CXX: g++-11 - ARCH: amd64 CC: gcc-12 CXX: g++-12