| Message ID | 20260119102039.3521673-3-barnabas.pocze@ideasonboard.com |
|---|---|
| State | Superseded |
| Headers | show |
| Series |
|
| Related | show |
Hi Barnabás, Thank you for the patch. On Mon, Jan 19, 2026 at 11:20:36AM +0100, Barnabás Pőcze wrote: > Add a job that builds a very specific deb package for testing > purposes for the given architectures. Similar comment as for patch 1/5, can we instead extend the build-package:debug job (and possibly rename it) to build a Debian package ? > Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> > --- > gitlab-ci.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 47 insertions(+) > > diff --git a/gitlab-ci.yml b/gitlab-ci.yml > index afac21f..b7362d7 100644 > --- a/gitlab-ci.yml > +++ b/gitlab-ci.yml > @@ -385,6 +385,53 @@ build-package:cros: > - build/build.ninja > - libcamera-upstream-9999.tbz2 > > +# > +# Build and package libcamera for the purpose of running tests on a real device. > +# > + > +build-debian-cross: > + extends: > + - .fdo.distribution-image@debian > + - .debian-cross-build > + - .debian-cross-build-architectures > + stage: build > + needs: > + - job: container-build-debian-cross > + artifacts: false > + parallel: > + matrix: > + - ARCH: "$[[ matrix.ARCH ]]" > + variables: > + FDO_DISTRIBUTION_VERSION: "$CROSS_BUILD_DISTRIBUTION_VERSION" > + FDO_DISTRIBUTION_TAG: "build-debian-cross-$CROSS_BUILD_TAG-$ARCH" > + script: > + - echo "0.0.0-ci-build-$CI_COMMIT_SHA-job-$CI_JOB_ID-pipeline-$CI_PIPELINE_ID-project-$CI_PROJECT_PATH" > .tarball-version > + - meson setup build > + --cross-file "/opt/meson-$ARCH.cross" > + -D prefix=/usr > + -D debug=true > + -D optimization=2 > + -D force_fallback_for="['gtest']" > + -D auto_features=disabled > + -D udev=enabled > + -D cam=enabled > + -D lc-compliance=enabled > + - meson compile -C build > + - meson install -C build --no-rebuild --destdir install > + - fpm -s dir -t deb > + -C build/install > + --architecture "$ARCH" > + --package libcamera.deb > + --name libcamera > + --description "$CI_COMMIT_SHA (job $CI_JOB_ID, pipeline $CI_PIPELINE_ID, project $CI_PROJECT_PATH)" > + --version "0.0.0" Please create a shell script as in the other jobs. > + artifacts: > + expire_in: 1w > + paths: > + - build/meson-logs/ > + - build/build.ninja > + - "*.deb" > + > # ------------------------------------------------------------------------------ > # Lint stage - Run checkstyle.py and check merge suitability > # ------------------------------------------------------------------------------
2026. 01. 22. 3:19 keltezéssel, Laurent Pinchart írta: > Hi Barnabás, > > Thank you for the patch. > > On Mon, Jan 19, 2026 at 11:20:36AM +0100, Barnabás Pőcze wrote: >> Add a job that builds a very specific deb package for testing >> purposes for the given architectures. > > Similar comment as for patch 1/5, can we instead extend the > build-package:debug job (and possibly rename it) to build a Debian > package ? Possibly, but note that this one uses different build options. That is due to https://gitlab.freedesktop.org/camera/libcamera/-/issues/250, which causes libcamera to abort: https://gitlab.freedesktop.org/pobrn/libcamera/-/jobs/91450286#L1490 [231] FATAL FCQueue fc_queue.h:85 Frame context for 13 has been overwritten by 93 Now I think this is an issue that should be fixed in libcamera, and locally I have a commit that changes how `FCQueue` operates to avoid this fatal error caused by skipped sequence numbers (note that 93 == 13 mod 16, 16 being `kMaxFrameContexts` defined in `src/ipa/rkisp1.cpp`). There is also https://patchwork.libcamera.org/project/libcamera/list/?series=5524, and I believe that changes a lot of things, which could affect this, but I haven't tested it yet. > >> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> >> --- >> gitlab-ci.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 47 insertions(+) >> >> diff --git a/gitlab-ci.yml b/gitlab-ci.yml >> index afac21f..b7362d7 100644 >> --- a/gitlab-ci.yml >> +++ b/gitlab-ci.yml >> @@ -385,6 +385,53 @@ build-package:cros: >> - build/build.ninja >> - libcamera-upstream-9999.tbz2 >> >> +# >> +# Build and package libcamera for the purpose of running tests on a real device. >> +# >> + >> +build-debian-cross: >> + extends: >> + - .fdo.distribution-image@debian >> + - .debian-cross-build >> + - .debian-cross-build-architectures >> + stage: build >> + needs: >> + - job: container-build-debian-cross >> + artifacts: false >> + parallel: >> + matrix: >> + - ARCH: "$[[ matrix.ARCH ]]" >> + variables: >> + FDO_DISTRIBUTION_VERSION: "$CROSS_BUILD_DISTRIBUTION_VERSION" >> + FDO_DISTRIBUTION_TAG: "build-debian-cross-$CROSS_BUILD_TAG-$ARCH" >> + script: >> + - echo "0.0.0-ci-build-$CI_COMMIT_SHA-job-$CI_JOB_ID-pipeline-$CI_PIPELINE_ID-project-$CI_PROJECT_PATH" > .tarball-version >> + - meson setup build >> + --cross-file "/opt/meson-$ARCH.cross" >> + -D prefix=/usr >> + -D debug=true >> + -D optimization=2 >> + -D force_fallback_for="['gtest']" >> + -D auto_features=disabled >> + -D udev=enabled >> + -D cam=enabled >> + -D lc-compliance=enabled >> + - meson compile -C build >> + - meson install -C build --no-rebuild --destdir install >> + - fpm -s dir -t deb >> + -C build/install >> + --architecture "$ARCH" >> + --package libcamera.deb >> + --name libcamera >> + --description "$CI_COMMIT_SHA (job $CI_JOB_ID, pipeline $CI_PIPELINE_ID, project $CI_PROJECT_PATH)" >> + --version "0.0.0" > > Please create a shell script as in the other jobs. Okay. > >> + artifacts: >> + expire_in: 1w >> + paths: >> + - build/meson-logs/ >> + - build/build.ninja >> + - "*.deb" >> + >> # ------------------------------------------------------------------------------ >> # Lint stage - Run checkstyle.py and check merge suitability >> # ------------------------------------------------------------------------------ >
Hi Barnabás, On Thu, Jan 22, 2026 at 11:56:06AM +0100, Barnabás Pőcze wrote: > 2026. 01. 22. 3:19 keltezéssel, Laurent Pinchart írta: > > On Mon, Jan 19, 2026 at 11:20:36AM +0100, Barnabás Pőcze wrote: > >> Add a job that builds a very specific deb package for testing > >> purposes for the given architectures. > > > > Similar comment as for patch 1/5, can we instead extend the > > build-package:debug job (and possibly rename it) to build a Debian > > package ? > > Possibly, but note that this one uses different build options. As far as I'm aware, nobody uses the tarball created by build-package:debug at the moment, so we could change the build options. > That is due to https://gitlab.freedesktop.org/camera/libcamera/-/issues/250, > which causes libcamera to abort: https://gitlab.freedesktop.org/pobrn/libcamera/-/jobs/91450286#L1490 > > [231] FATAL FCQueue fc_queue.h:85 Frame context for 13 has been overwritten by 93 > > Now I think this is an issue that should be fixed in libcamera, and locally > I have a commit that changes how `FCQueue` operates to avoid this fatal error > caused by skipped sequence numbers (note that 93 == 13 mod 16, 16 being `kMaxFrameContexts` > defined in `src/ipa/rkisp1.cpp`). > > There is also https://patchwork.libcamera.org/project/libcamera/list/?series=5524, and > I believe that changes a lot of things, which could affect this, but I haven't tested it yet. That series should fix the issue (as in I expect it to address the problem, not that I have tested it to verify it does). It's the correct direction for fixing lots of problems related to our handling of frame contexts. > >> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> > >> --- > >> gitlab-ci.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ > >> 1 file changed, 47 insertions(+) > >> > >> diff --git a/gitlab-ci.yml b/gitlab-ci.yml > >> index afac21f..b7362d7 100644 > >> --- a/gitlab-ci.yml > >> +++ b/gitlab-ci.yml > >> @@ -385,6 +385,53 @@ build-package:cros: > >> - build/build.ninja > >> - libcamera-upstream-9999.tbz2 > >> > >> +# > >> +# Build and package libcamera for the purpose of running tests on a real device. > >> +# > >> + > >> +build-debian-cross: > >> + extends: > >> + - .fdo.distribution-image@debian > >> + - .debian-cross-build > >> + - .debian-cross-build-architectures > >> + stage: build > >> + needs: > >> + - job: container-build-debian-cross > >> + artifacts: false > >> + parallel: > >> + matrix: > >> + - ARCH: "$[[ matrix.ARCH ]]" > >> + variables: > >> + FDO_DISTRIBUTION_VERSION: "$CROSS_BUILD_DISTRIBUTION_VERSION" > >> + FDO_DISTRIBUTION_TAG: "build-debian-cross-$CROSS_BUILD_TAG-$ARCH" > >> + script: > >> + - echo "0.0.0-ci-build-$CI_COMMIT_SHA-job-$CI_JOB_ID-pipeline-$CI_PIPELINE_ID-project-$CI_PROJECT_PATH" > .tarball-version > >> + - meson setup build > >> + --cross-file "/opt/meson-$ARCH.cross" > >> + -D prefix=/usr > >> + -D debug=true > >> + -D optimization=2 > >> + -D force_fallback_for="['gtest']" > >> + -D auto_features=disabled > >> + -D udev=enabled > >> + -D cam=enabled > >> + -D lc-compliance=enabled > >> + - meson compile -C build > >> + - meson install -C build --no-rebuild --destdir install > >> + - fpm -s dir -t deb > >> + -C build/install > >> + --architecture "$ARCH" > >> + --package libcamera.deb > >> + --name libcamera > >> + --description "$CI_COMMIT_SHA (job $CI_JOB_ID, pipeline $CI_PIPELINE_ID, project $CI_PROJECT_PATH)" > >> + --version "0.0.0" > > > > Please create a shell script as in the other jobs. > > Okay. > > >> + artifacts: > >> + expire_in: 1w > >> + paths: > >> + - build/meson-logs/ > >> + - build/build.ninja > >> + - "*.deb" > >> + > >> # ------------------------------------------------------------------------------ > >> # Lint stage - Run checkstyle.py and check merge suitability > >> # ------------------------------------------------------------------------------
diff --git a/gitlab-ci.yml b/gitlab-ci.yml index afac21f..b7362d7 100644 --- a/gitlab-ci.yml +++ b/gitlab-ci.yml @@ -385,6 +385,53 @@ build-package:cros: - build/build.ninja - libcamera-upstream-9999.tbz2 +# +# Build and package libcamera for the purpose of running tests on a real device. +# + +build-debian-cross: + extends: + - .fdo.distribution-image@debian + - .debian-cross-build + - .debian-cross-build-architectures + stage: build + needs: + - job: container-build-debian-cross + artifacts: false + parallel: + matrix: + - ARCH: "$[[ matrix.ARCH ]]" + variables: + FDO_DISTRIBUTION_VERSION: "$CROSS_BUILD_DISTRIBUTION_VERSION" + FDO_DISTRIBUTION_TAG: "build-debian-cross-$CROSS_BUILD_TAG-$ARCH" + script: + - echo "0.0.0-ci-build-$CI_COMMIT_SHA-job-$CI_JOB_ID-pipeline-$CI_PIPELINE_ID-project-$CI_PROJECT_PATH" > .tarball-version + - meson setup build + --cross-file "/opt/meson-$ARCH.cross" + -D prefix=/usr + -D debug=true + -D optimization=2 + -D force_fallback_for="['gtest']" + -D auto_features=disabled + -D udev=enabled + -D cam=enabled + -D lc-compliance=enabled + - meson compile -C build + - meson install -C build --no-rebuild --destdir install + - fpm -s dir -t deb + -C build/install + --architecture "$ARCH" + --package libcamera.deb + --name libcamera + --description "$CI_COMMIT_SHA (job $CI_JOB_ID, pipeline $CI_PIPELINE_ID, project $CI_PROJECT_PATH)" + --version "0.0.0" + artifacts: + expire_in: 1w + paths: + - build/meson-logs/ + - build/build.ninja + - "*.deb" + # ------------------------------------------------------------------------------ # Lint stage - Run checkstyle.py and check merge suitability # ------------------------------------------------------------------------------
Add a job that builds a very specific deb package for testing purposes for the given architectures. Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> --- gitlab-ci.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) -- 2.52.0