[libcamera-ci,3/3] Add python3-sphinxcontrib.doxylink package to container images
diff mbox series

Message ID 20250727011123.31634-4-laurent.pinchart@ideasonboard.com
State Superseded
Headers show
Series
  • Prepare CI for Sphinx doxylink usage
Related show

Commit Message

Laurent Pinchart July 27, 2025, 1:11 a.m. UTC
libcamera will soon require python3-sphinxcontrib.doxylink to build the
documentation. Add it to the container images.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 .gitlab-ci/setup-container.sh | 3 +++
 gitlab-ci.yml                 | 6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

Comments

Barnabás Pőcze July 28, 2025, 2:16 p.m. UTC | #1
2025. 07. 27. 3:11 keltezéssel, Laurent Pinchart írta:
> libcamera will soon require python3-sphinxcontrib.doxylink to build the
> documentation. Add it to the container images.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>   .gitlab-ci/setup-container.sh | 3 +++
>   gitlab-ci.yml                 | 6 +++---
>   2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh
> index c8b631c387b5..32b23789e70a 100755
> --- a/.gitlab-ci/setup-container.sh
> +++ b/.gitlab-ci/setup-container.sh
> @@ -49,8 +49,10 @@ PKGS_LIBCAMERA_RUNTIME=(
>   	python3-autopep8
>   	python3-dev
>   	python3-jinja2
> +	python3-pyparsing

Why is this needed? As far as I can see this is already
a dependency of `python3-sphinxcontrib.doxylink`?


>   	python3-ply
>   	python3-sphinx
> +	python3-sphinxcontrib.doxylink
>   	python3-yaml
>   	qt6-tools-dev-tools
>   	shellcheck
> @@ -96,6 +98,7 @@ PKGS_VIRTME_RUNTIME=(
>   PKGS_PIP_MIN_VERSIONS=(
>   	'meson meson 1.2.0 remove'
>   	'python3-pygments pygments 2.10.0 keep'
> +	'python3-sphinxcontrib.doxylink sphinxcontrib-doxylink 1.6.1 remove'
>   )
>   
>   archs=( amd64 )
> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> index 03ea7795f3ff..57607dbfe7e4 100644
> --- a/gitlab-ci.yml
> +++ b/gitlab-ci.yml
> @@ -59,17 +59,17 @@ include:
>   .libcamera-ci.debian:11:
>     variables:
>       FDO_DISTRIBUTION_VERSION: 'bullseye'
> -    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
> +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
>   
>   .libcamera-ci.debian:12:
>     variables:
>       FDO_DISTRIBUTION_VERSION: 'bookworm'
> -    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
> +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
>   
>   .libcamera-ci.debian:13:
>     variables:
>       FDO_DISTRIBUTION_VERSION: 'trixie'
> -    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
> +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
>   
>   .container-debian:
>     extends:
Laurent Pinchart July 28, 2025, 3:10 p.m. UTC | #2
On Mon, Jul 28, 2025 at 04:16:53PM +0200, Barnabás Pőcze wrote:
> 2025. 07. 27. 3:11 keltezéssel, Laurent Pinchart írta:
> > libcamera will soon require python3-sphinxcontrib.doxylink to build the
> > documentation. Add it to the container images.
> > 
> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > ---
> >   .gitlab-ci/setup-container.sh | 3 +++
> >   gitlab-ci.yml                 | 6 +++---
> >   2 files changed, 6 insertions(+), 3 deletions(-)
> > 
> > diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh
> > index c8b631c387b5..32b23789e70a 100755
> > --- a/.gitlab-ci/setup-container.sh
> > +++ b/.gitlab-ci/setup-container.sh
> > @@ -49,8 +49,10 @@ PKGS_LIBCAMERA_RUNTIME=(
> >   	python3-autopep8
> >   	python3-dev
> >   	python3-jinja2
> > +	python3-pyparsing
> 
> Why is this needed? As far as I can see this is already
> a dependency of `python3-sphinxcontrib.doxylink`?

Because it will be removed if the python3-sphinxcontrib.doxylink package
is uninstalled in favour of the PyPI version.

> >   	python3-ply
> >   	python3-sphinx
> > +	python3-sphinxcontrib.doxylink
> >   	python3-yaml
> >   	qt6-tools-dev-tools
> >   	shellcheck
> > @@ -96,6 +98,7 @@ PKGS_VIRTME_RUNTIME=(
> >   PKGS_PIP_MIN_VERSIONS=(
> >   	'meson meson 1.2.0 remove'
> >   	'python3-pygments pygments 2.10.0 keep'
> > +	'python3-sphinxcontrib.doxylink sphinxcontrib-doxylink 1.6.1 remove'
> >   )
> >   
> >   archs=( amd64 )
> > diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> > index 03ea7795f3ff..57607dbfe7e4 100644
> > --- a/gitlab-ci.yml
> > +++ b/gitlab-ci.yml
> > @@ -59,17 +59,17 @@ include:
> >   .libcamera-ci.debian:11:
> >     variables:
> >       FDO_DISTRIBUTION_VERSION: 'bullseye'
> > -    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
> > +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
> >   
> >   .libcamera-ci.debian:12:
> >     variables:
> >       FDO_DISTRIBUTION_VERSION: 'bookworm'
> > -    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
> > +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
> >   
> >   .libcamera-ci.debian:13:
> >     variables:
> >       FDO_DISTRIBUTION_VERSION: 'trixie'
> > -    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
> > +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
> >   
> >   .container-debian:
> >     extends:
>
Barnabás Pőcze July 28, 2025, 3:32 p.m. UTC | #3
2025. 07. 28. 17:10 keltezéssel, Laurent Pinchart írta:
> On Mon, Jul 28, 2025 at 04:16:53PM +0200, Barnabás Pőcze wrote:
>> 2025. 07. 27. 3:11 keltezéssel, Laurent Pinchart írta:
>>> libcamera will soon require python3-sphinxcontrib.doxylink to build the
>>> documentation. Add it to the container images.
>>>
>>> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>>> ---
>>>    .gitlab-ci/setup-container.sh | 3 +++
>>>    gitlab-ci.yml                 | 6 +++---
>>>    2 files changed, 6 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh
>>> index c8b631c387b5..32b23789e70a 100755
>>> --- a/.gitlab-ci/setup-container.sh
>>> +++ b/.gitlab-ci/setup-container.sh
>>> @@ -49,8 +49,10 @@ PKGS_LIBCAMERA_RUNTIME=(
>>>    	python3-autopep8
>>>    	python3-dev
>>>    	python3-jinja2
>>> +	python3-pyparsing
>>
>> Why is this needed? As far as I can see this is already
>> a dependency of `python3-sphinxcontrib.doxylink`?
> 
> Because it will be removed if the python3-sphinxcontrib.doxylink package
> is uninstalled in favour of the PyPI version.

But if it's a dependency, then pip should install it, no?


> 
>>>    	python3-ply
>>>    	python3-sphinx
>>> +	python3-sphinxcontrib.doxylink
>>>    	python3-yaml
>>>    	qt6-tools-dev-tools
>>>    	shellcheck
>>> @@ -96,6 +98,7 @@ PKGS_VIRTME_RUNTIME=(
>>>    PKGS_PIP_MIN_VERSIONS=(
>>>    	'meson meson 1.2.0 remove'
>>>    	'python3-pygments pygments 2.10.0 keep'
>>> +	'python3-sphinxcontrib.doxylink sphinxcontrib-doxylink 1.6.1 remove'
>>>    )
>>>    
>>>    archs=( amd64 )
>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
>>> index 03ea7795f3ff..57607dbfe7e4 100644
>>> --- a/gitlab-ci.yml
>>> +++ b/gitlab-ci.yml
>>> @@ -59,17 +59,17 @@ include:
>>>    .libcamera-ci.debian:11:
>>>      variables:
>>>        FDO_DISTRIBUTION_VERSION: 'bullseye'
>>> -    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
>>> +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
>>>    
>>>    .libcamera-ci.debian:12:
>>>      variables:
>>>        FDO_DISTRIBUTION_VERSION: 'bookworm'
>>> -    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
>>> +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
>>>    
>>>    .libcamera-ci.debian:13:
>>>      variables:
>>>        FDO_DISTRIBUTION_VERSION: 'trixie'
>>> -    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
>>> +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
>>>    
>>>    .container-debian:
>>>      extends:
>>
>
Laurent Pinchart July 28, 2025, 3:38 p.m. UTC | #4
On Mon, Jul 28, 2025 at 05:32:05PM +0200, Barnabás Pőcze wrote:
> 2025. 07. 28. 17:10 keltezéssel, Laurent Pinchart írta:
> > On Mon, Jul 28, 2025 at 04:16:53PM +0200, Barnabás Pőcze wrote:
> >> 2025. 07. 27. 3:11 keltezéssel, Laurent Pinchart írta:
> >>> libcamera will soon require python3-sphinxcontrib.doxylink to build the
> >>> documentation. Add it to the container images.
> >>>
> >>> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >>> ---
> >>>    .gitlab-ci/setup-container.sh | 3 +++
> >>>    gitlab-ci.yml                 | 6 +++---
> >>>    2 files changed, 6 insertions(+), 3 deletions(-)
> >>>
> >>> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh
> >>> index c8b631c387b5..32b23789e70a 100755
> >>> --- a/.gitlab-ci/setup-container.sh
> >>> +++ b/.gitlab-ci/setup-container.sh
> >>> @@ -49,8 +49,10 @@ PKGS_LIBCAMERA_RUNTIME=(
> >>>    	python3-autopep8
> >>>    	python3-dev
> >>>    	python3-jinja2
> >>> +	python3-pyparsing
> >>
> >> Why is this needed? As far as I can see this is already
> >> a dependency of `python3-sphinxcontrib.doxylink`?
> > 
> > Because it will be removed if the python3-sphinxcontrib.doxylink package
> > is uninstalled in favour of the PyPI version.
> 
> But if it's a dependency, then pip should install it, no?

It would, but... when the python3-sphinxcontrib.doxylink is removed,
python3-pyparsing isn't removed right away. pip sees python3-pyparsing
as being present, and will not install it. Then, at the end of the
container setup script, we run `apt autoremove` which will remove
python3-pyparsing.

I'm sure there would be other ways to handle this issue, and add
python3-pyparsing to the list of required packages is a bit of a
workaround, but I went for that for the time being. I don't expect
we'll need to extend the PKGS_PIP_MIN_VERSIONS mechanism to tens of
packages, so implementing a cleaner but more complex solution seems a
bit overkill.

> >>>    	python3-ply
> >>>    	python3-sphinx
> >>> +	python3-sphinxcontrib.doxylink
> >>>    	python3-yaml
> >>>    	qt6-tools-dev-tools
> >>>    	shellcheck
> >>> @@ -96,6 +98,7 @@ PKGS_VIRTME_RUNTIME=(
> >>>    PKGS_PIP_MIN_VERSIONS=(
> >>>    	'meson meson 1.2.0 remove'
> >>>    	'python3-pygments pygments 2.10.0 keep'
> >>> +	'python3-sphinxcontrib.doxylink sphinxcontrib-doxylink 1.6.1 remove'
> >>>    )
> >>>    
> >>>    archs=( amd64 )
> >>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> >>> index 03ea7795f3ff..57607dbfe7e4 100644
> >>> --- a/gitlab-ci.yml
> >>> +++ b/gitlab-ci.yml
> >>> @@ -59,17 +59,17 @@ include:
> >>>    .libcamera-ci.debian:11:
> >>>      variables:
> >>>        FDO_DISTRIBUTION_VERSION: 'bullseye'
> >>> -    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
> >>> +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
> >>>    
> >>>    .libcamera-ci.debian:12:
> >>>      variables:
> >>>        FDO_DISTRIBUTION_VERSION: 'bookworm'
> >>> -    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
> >>> +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
> >>>    
> >>>    .libcamera-ci.debian:13:
> >>>      variables:
> >>>        FDO_DISTRIBUTION_VERSION: 'trixie'
> >>> -    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
> >>> +    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
> >>>    
> >>>    .container-debian:
> >>>      extends:

Patch
diff mbox series

diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh
index c8b631c387b5..32b23789e70a 100755
--- a/.gitlab-ci/setup-container.sh
+++ b/.gitlab-ci/setup-container.sh
@@ -49,8 +49,10 @@  PKGS_LIBCAMERA_RUNTIME=(
 	python3-autopep8
 	python3-dev
 	python3-jinja2
+	python3-pyparsing
 	python3-ply
 	python3-sphinx
+	python3-sphinxcontrib.doxylink
 	python3-yaml
 	qt6-tools-dev-tools
 	shellcheck
@@ -96,6 +98,7 @@  PKGS_VIRTME_RUNTIME=(
 PKGS_PIP_MIN_VERSIONS=(
 	'meson meson 1.2.0 remove'
 	'python3-pygments pygments 2.10.0 keep'
+	'python3-sphinxcontrib.doxylink sphinxcontrib-doxylink 1.6.1 remove'
 )
 
 archs=( amd64 )
diff --git a/gitlab-ci.yml b/gitlab-ci.yml
index 03ea7795f3ff..57607dbfe7e4 100644
--- a/gitlab-ci.yml
+++ b/gitlab-ci.yml
@@ -59,17 +59,17 @@  include:
 .libcamera-ci.debian:11:
   variables:
     FDO_DISTRIBUTION_VERSION: 'bullseye'
-    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
+    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
 
 .libcamera-ci.debian:12:
   variables:
     FDO_DISTRIBUTION_VERSION: 'bookworm'
-    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
+    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
 
 .libcamera-ci.debian:13:
   variables:
     FDO_DISTRIBUTION_VERSION: 'trixie'
-    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
+    FDO_DISTRIBUTION_TAG: '2025-07-27.1'
 
 .container-debian:
   extends: