| Message ID | 20260611160354.1900259-1-laurent.pinchart@ideasonboard.com |
|---|---|
| State | New |
| Headers | show |
| Series |
|
| Related | show |
2026. 06. 11. 18:03 keltezéssel, Laurent Pinchart írta: > 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 <laurent.pinchart@ideasonboard.com> > --- > 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. I'd be happy if this could be merged as soon as possible. > --- > .gitlab-ci/setup-container.sh | 44 ++++------------------------------- > gitlab-ci.yml | 29 +++-------------------- > 2 files changed, 7 insertions(+), 66 deletions(-) > > 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 <<EOF > /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' `FDO_DISTRIBUTION_TAG` needs an update here. > @@ -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 > > base-commit: fc3798d77d07ae71c6d0e9b6c6957694a8170cd3
On Mon, Jun 15, 2026 at 10:50:06AM +0200, Barnabás Pőcze wrote: > 2026. 06. 11. 18:03 keltezéssel, Laurent Pinchart írta: > > 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 <laurent.pinchart@ideasonboard.com> > > --- > > 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. > > I'd be happy if this could be merged as soon as possible. I've already been tempted a few times to merge this already, and drop support for gcc 9 and 10. > > --- > > .gitlab-ci/setup-container.sh | 44 ++++------------------------------- > > gitlab-ci.yml | 29 +++-------------------- > > 2 files changed, 7 insertions(+), 66 deletions(-) > > > > 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 <<EOF > /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' > > `FDO_DISTRIBUTION_TAG` needs an update here. Oops. I'll also bump the tag for the Trixie container, just to be on the safe side. > > @@ -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 > > > > base-commit: fc3798d77d07ae71c6d0e9b6c6957694a8170cd3
Quoting Laurent Pinchart (2026-06-15 09:57:39) > On Mon, Jun 15, 2026 at 10:50:06AM +0200, Barnabás Pőcze wrote: > > 2026. 06. 11. 18:03 keltezéssel, Laurent Pinchart írta: > > > 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 <laurent.pinchart@ideasonboard.com> > > > --- > > > 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. > > > > I'd be happy if this could be merged as soon as possible. > > I've already been tempted a few times to merge this already, and drop > support for gcc 9 and 10. Then lets do it.? There's no way we expect Bullseye to get updated to the latest libcamera anyway... and maybe there's no specific benefit waiting to August ? -- Kieran
On Mon, Jun 15, 2026 at 10:38:56AM +0100, Kieran Bingham wrote: > Quoting Laurent Pinchart (2026-06-15 09:57:39) > > On Mon, Jun 15, 2026 at 10:50:06AM +0200, Barnabás Pőcze wrote: > > > 2026. 06. 11. 18:03 keltezéssel, Laurent Pinchart írta: > > > > 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 <laurent.pinchart@ideasonboard.com> > > > > --- > > > > 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. > > > > > > I'd be happy if this could be merged as soon as possible. > > > > I've already been tempted a few times to merge this already, and drop > > support for gcc 9 and 10. > > Then lets do it.? > > There's no way we expect Bullseye to get updated to the latest > libcamera anyway... and maybe there's no specific benefit waiting to > August ? We have some form of semi-official policy that we support the current and previous LTS versions of major distributions, and do our best to also support older LTS versions that haven't reached EOL. The oldest Debian LTS is Bullseye, with an EOL planned for end of August 2026. It ships gcc 10 by default and also includes gcc 9. gcc 9 is a bit annoying to support as it has required quite a few workarounds, but it's not (in my opinion) a major pain, more of an itch that I'd be happy to get rid of. We could merge this patch right away, but we'll then have to answer the question of what "best effort" means. Should we drop support for anything but the current and previous LTS versions ? Note that the oldest Ubuntu LTS is 22.04, with a scheduled EOL at end of May 2027. I don't think we should keep running Debian Bullseye in CI until then to keep testing on gcc 9 and 10.
2026. 06. 15. 14:44 keltezéssel, Laurent Pinchart írta: > On Mon, Jun 15, 2026 at 10:38:56AM +0100, Kieran Bingham wrote: >> Quoting Laurent Pinchart (2026-06-15 09:57:39) >>> On Mon, Jun 15, 2026 at 10:50:06AM +0200, Barnabás Pőcze wrote: >>>> 2026. 06. 11. 18:03 keltezéssel, Laurent Pinchart írta: >>>>> 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 <laurent.pinchart@ideasonboard.com> >>>>> --- >>>>> 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. >>>> >>>> I'd be happy if this could be merged as soon as possible. >>> >>> I've already been tempted a few times to merge this already, and drop >>> support for gcc 9 and 10. >> >> Then lets do it.? >> >> There's no way we expect Bullseye to get updated to the latest >> libcamera anyway... and maybe there's no specific benefit waiting to >> August ? > > We have some form of semi-official policy that we support the current > and previous LTS versions of major distributions, and do our best to > also support older LTS versions that haven't reached EOL. > > The oldest Debian LTS is Bullseye, with an EOL planned for end of August > 2026. It ships gcc 10 by default and also includes gcc 9. gcc 9 is a bit > annoying to support as it has required quite a few workarounds, but it's > not (in my opinion) a major pain, more of an itch that I'd be happy to > get rid of. > > We could merge this patch right away, but we'll then have to answer the > question of what "best effort" means. Should we drop support for > anything but the current and previous LTS versions ? Given that there was a switch to C++20, I think it makes sense to do a larger "reset" of supported versions. C++20 support in GCC 9 is very limited, and most of it needs `-fconcepts`, so I would like to drop it as soon as possible. GCC 10 is better, but going to GCC 11 looks even better. I think "best effort" could mean that it will be dropped when it causes any inconvenience for the development process (e.g. having workarounds just for that version, etc.). > > Note that the oldest Ubuntu LTS is 22.04, with a scheduled EOL at end > of May 2027. I don't think we should keep running Debian Bullseye in CI > until then to keep testing on gcc 9 and 10. > > -- > Regards, > > Laurent Pinchart
On Mon, Jun 15, 2026 at 04:45:07PM +0200, Barnabás Pőcze wrote: > 2026. 06. 15. 14:44 keltezéssel, Laurent Pinchart írta: > > On Mon, Jun 15, 2026 at 10:38:56AM +0100, Kieran Bingham wrote: > >> Quoting Laurent Pinchart (2026-06-15 09:57:39) > >>> On Mon, Jun 15, 2026 at 10:50:06AM +0200, Barnabás Pőcze wrote: > >>>> 2026. 06. 11. 18:03 keltezéssel, Laurent Pinchart írta: > >>>>> 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 <laurent.pinchart@ideasonboard.com> > >>>>> --- > >>>>> 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. > >>>> > >>>> I'd be happy if this could be merged as soon as possible. > >>> > >>> I've already been tempted a few times to merge this already, and drop > >>> support for gcc 9 and 10. > >> > >> Then lets do it.? > >> > >> There's no way we expect Bullseye to get updated to the latest > >> libcamera anyway... and maybe there's no specific benefit waiting to > >> August ? > > > > We have some form of semi-official policy that we support the current > > and previous LTS versions of major distributions, and do our best to > > also support older LTS versions that haven't reached EOL. > > > > The oldest Debian LTS is Bullseye, with an EOL planned for end of August > > 2026. It ships gcc 10 by default and also includes gcc 9. gcc 9 is a bit > > annoying to support as it has required quite a few workarounds, but it's > > not (in my opinion) a major pain, more of an itch that I'd be happy to > > get rid of. > > > > We could merge this patch right away, but we'll then have to answer the > > question of what "best effort" means. Should we drop support for > > anything but the current and previous LTS versions ? > > Given that there was a switch to C++20, I think it makes sense to do a larger > "reset" of supported versions. C++20 support in GCC 9 is very limited, and most > of it needs `-fconcepts`, so I would like to drop it as soon as possible. > GCC 10 is better, but going to GCC 11 looks even better. > > I think "best effort" could mean that it will be dropped when it causes any > inconvenience for the development process (e.g. having workarounds just for > that version, etc.). I'm fine with that. The question is if keeping gcc 9 (and 10) support until end of August is an important inconvenience. I'm happy to let people who suffer from it more than I do make a decision here :-) > > Note that the oldest Ubuntu LTS is 22.04, with a scheduled EOL at end > > of May 2027. I don't think we should keep running Debian Bullseye in CI > > until then to keep testing on gcc 9 and 10.
Quoting Laurent Pinchart (2026-06-16 00:11:30) > On Mon, Jun 15, 2026 at 04:45:07PM +0200, Barnabás Pőcze wrote: > > 2026. 06. 15. 14:44 keltezéssel, Laurent Pinchart írta: > > > On Mon, Jun 15, 2026 at 10:38:56AM +0100, Kieran Bingham wrote: > > >> Quoting Laurent Pinchart (2026-06-15 09:57:39) > > >>> On Mon, Jun 15, 2026 at 10:50:06AM +0200, Barnabás Pőcze wrote: > > >>>> 2026. 06. 11. 18:03 keltezéssel, Laurent Pinchart írta: > > >>>>> 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 <laurent.pinchart@ideasonboard.com> > > >>>>> --- > > >>>>> 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. > > >>>> > > >>>> I'd be happy if this could be merged as soon as possible. > > >>> > > >>> I've already been tempted a few times to merge this already, and drop > > >>> support for gcc 9 and 10. > > >> > > >> Then lets do it.? > > >> > > >> There's no way we expect Bullseye to get updated to the latest > > >> libcamera anyway... and maybe there's no specific benefit waiting to > > >> August ? > > > > > > We have some form of semi-official policy that we support the current > > > and previous LTS versions of major distributions, and do our best to > > > also support older LTS versions that haven't reached EOL. > > > > > > The oldest Debian LTS is Bullseye, with an EOL planned for end of August > > > 2026. It ships gcc 10 by default and also includes gcc 9. gcc 9 is a bit > > > annoying to support as it has required quite a few workarounds, but it's > > > not (in my opinion) a major pain, more of an itch that I'd be happy to > > > get rid of. > > > > > > We could merge this patch right away, but we'll then have to answer the > > > question of what "best effort" means. Should we drop support for > > > anything but the current and previous LTS versions ? > > > > Given that there was a switch to C++20, I think it makes sense to do a larger > > "reset" of supported versions. C++20 support in GCC 9 is very limited, and most > > of it needs `-fconcepts`, so I would like to drop it as soon as possible. > > GCC 10 is better, but going to GCC 11 looks even better. > > > > I think "best effort" could mean that it will be dropped when it causes any > > inconvenience for the development process (e.g. having workarounds just for > > that version, etc.). > > I'm fine with that. The question is if keeping gcc 9 (and 10) support > until end of August is an important inconvenience. I'm happy to let > people who suffer from it more than I do make a decision here :-) My opinion is that two months probably doesn't make too much of a difference. As in, the set of people that would complain "today" is probably a complete subset of the set of people that would complain in two months. Anybody in a critical situation would've upgraded already anyway, probably. Paul > > > > Note that the oldest Ubuntu LTS is 22.04, with a scheduled EOL at end > > > of May 2027. I don't think we should keep running Debian Bullseye in CI > > > until then to keep testing on gcc 9 and 10. > > -- > Regards, > > Laurent Pinchart
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 <<EOF > /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
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 <laurent.pinchart@ideasonboard.com> --- 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