diff mbox series

[v2] tests/docker: Add sqlite3 module to openSUSE Leap container

Message ID 20240117164227.32143-1-farosas@suse.de
State New
Headers show
Series [v2] tests/docker: Add sqlite3 module to openSUSE Leap container | expand

Commit Message

Fabiano Rosas Jan. 17, 2024, 4:42 p.m. UTC
Avocado needs sqlite3:

  Failed to load plugin from module "avocado.plugins.journal":
  ImportError("Module 'sqlite3' is not installed.
  Use: sudo zypper install python311 to install it")

From 'zypper info python311':
  "This package supplies rich command line features provided by
  readline, and sqlite3 support for the interpreter core, thus forming
  a so called "extended" runtime."

Include the appropriate package in the lcitool mappings which will
guarantee the dockerfile gets properly updated when lcitool is
run. Also include the updated dockerfile.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
 tests/docker/dockerfiles/opensuse-leap.docker | 1 +
 tests/lcitool/mappings.yml                    | 4 ++++
 tests/lcitool/projects/qemu.yml               | 1 +
 3 files changed, 6 insertions(+)

Comments

Philippe Mathieu-Daudé Jan. 17, 2024, 5:08 p.m. UTC | #1
On 17/1/24 17:42, Fabiano Rosas wrote:
> Avocado needs sqlite3:
> 
>    Failed to load plugin from module "avocado.plugins.journal":
>    ImportError("Module 'sqlite3' is not installed.
>    Use: sudo zypper install python311 to install it")
> 
>  From 'zypper info python311':
>    "This package supplies rich command line features provided by
>    readline, and sqlite3 support for the interpreter core, thus forming
>    a so called "extended" runtime."
> 
> Include the appropriate package in the lcitool mappings which will
> guarantee the dockerfile gets properly updated when lcitool is
> run. Also include the updated dockerfile.
> 

Suggested-by: Andrea Bolognani <abologna@redhat.com>

> Signed-off-by: Fabiano Rosas <farosas@suse.de>
> ---
>   tests/docker/dockerfiles/opensuse-leap.docker | 1 +
>   tests/lcitool/mappings.yml                    | 4 ++++
>   tests/lcitool/projects/qemu.yml               | 1 +
>   3 files changed, 6 insertions(+)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Alex Bennée Jan. 17, 2024, 10:17 p.m. UTC | #2
Fabiano Rosas <farosas@suse.de> writes:

> Avocado needs sqlite3:
>
>   Failed to load plugin from module "avocado.plugins.journal":
>   ImportError("Module 'sqlite3' is not installed.
>   Use: sudo zypper install python311 to install it")

Queued to testing/next, thanks.

>
> From 'zypper info python311':
>   "This package supplies rich command line features provided by
>   readline, and sqlite3 support for the interpreter core, thus forming
>   a so called "extended" runtime."
>
> Include the appropriate package in the lcitool mappings which will
> guarantee the dockerfile gets properly updated when lcitool is
> run. Also include the updated dockerfile.
>
> Signed-off-by: Fabiano Rosas <farosas@suse.de>
> ---
>  tests/docker/dockerfiles/opensuse-leap.docker | 1 +
>  tests/lcitool/mappings.yml                    | 4 ++++
>  tests/lcitool/projects/qemu.yml               | 1 +
>  3 files changed, 6 insertions(+)
>
> diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
> index dc0e36ce48..cf753383a4 100644
> --- a/tests/docker/dockerfiles/opensuse-leap.docker
> +++ b/tests/docker/dockerfiles/opensuse-leap.docker
> @@ -90,6 +90,7 @@ RUN zypper update -y && \
>             pcre-devel-static \
>             pipewire-devel \
>             pkgconfig \
> +           python311 \
>             python311-base \
>             python311-pip \
>             python311-setuptools \
> diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml
> index 0b908882f1..407c03301b 100644
> --- a/tests/lcitool/mappings.yml
> +++ b/tests/lcitool/mappings.yml
> @@ -59,6 +59,10 @@ mappings:
>      CentOSStream8:
>      OpenSUSELeap15:
>  
> +  python3-sqlite3:
> +    CentOSStream8: python38
> +    OpenSUSELeap15: python311
> +
>    python3-tomli:
>      # test using tomllib
>      apk:
> diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
> index 82092c9f17..149b15de57 100644
> --- a/tests/lcitool/projects/qemu.yml
> +++ b/tests/lcitool/projects/qemu.yml
> @@ -97,6 +97,7 @@ packages:
>   - python3-pip
>   - python3-sphinx
>   - python3-sphinx-rtd-theme
> + - python3-sqlite3
>   - python3-tomli
>   - python3-venv
>   - rpm2cpio
Michael Tokarev Jan. 19, 2024, 7:11 a.m. UTC | #3
>              python311-setuptools \
> diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml
> index 0b908882f1..407c03301b 100644
> --- a/tests/lcitool/mappings.yml
> +++ b/tests/lcitool/mappings.yml
> @@ -59,6 +59,10 @@ mappings:
>       CentOSStream8:
>       OpenSUSELeap15:
>   
> +  python3-sqlite3:
> +    CentOSStream8: python38
> +    OpenSUSELeap15: python311
> +
>     python3-tomli:
>       # test using tomllib
>       apk:
> diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
> index 82092c9f17..149b15de57 100644
> --- a/tests/lcitool/projects/qemu.yml
> +++ b/tests/lcitool/projects/qemu.yml
> @@ -97,6 +97,7 @@ packages:
>    - python3-pip
>    - python3-sphinx
>    - python3-sphinx-rtd-theme
> + - python3-sqlite3
>    - python3-tomli
>    - python3-venv
>    - rpm2cpio
Michael Tokarev Jan. 19, 2024, 7:12 a.m. UTC | #4
Sorry for the previous dummy post, - hit the wrong button :)

17.01.2024 19:42, Fabiano Rosas :
> Avocado needs sqlite3:

> --- a/tests/docker/dockerfiles/opensuse-leap.docker
> +++ b/tests/docker/dockerfiles/opensuse-leap.docker
> @@ -90,6 +90,7 @@ RUN zypper update -y && \
>              pcre-devel-static \
>              pipewire-devel \
>              pkgconfig \
> +           python311 \
>              python311-base \
>              python311-pip \

Isn't python311 already pulls in python311-base?

/mjt
Andrea Bolognani Jan. 19, 2024, 9:33 a.m. UTC | #5
On Fri, Jan 19, 2024 at 10:12:37AM +0300, Michael Tokarev wrote:
> 17.01.2024 19:42, Fabiano Rosas :
> > Avocado needs sqlite3:
>
> > --- a/tests/docker/dockerfiles/opensuse-leap.docker
> > +++ b/tests/docker/dockerfiles/opensuse-leap.docker
> > @@ -90,6 +90,7 @@ RUN zypper update -y && \
> >              pcre-devel-static \
> >              pipewire-devel \
> >              pkgconfig \
> > +           python311 \
> >              python311-base \
> >              python311-pip \
>
> Isn't python311 already pulls in python311-base?

Yes, but lcitool doesn't know that :)

The information that is provided to the tool is:

  * the python3 interpreter is in the python311-base package;
  * the venv module is also in the python311-base package;
  * the sqlite3 module is in the python311 package;

(via tests/lcitool/mappings.yml), as well as:

  * QEMU needs the python3 interpreter plus the venv and sqlite3
    packages to build;

(via tests/lcitool/projects/qemu.yml).

Based on that, it concludes that the python311-base and python311
package need to be installed.

Notice how the former shows up only once in the Dockerfile, despite
being mentioned twice in the list of dependencies for the project,
because some basic deduplication is applied.

Of course the extra line doesn't matter at all in practice:

  # zypper install python311
  The following 4 NEW packages are going to be installed:
    libexpat1 libpython3_11-1_0 python311 python311-base

  4 new packages to install.
  Overall download size: 12.8 MiB. Already cached: 0 B.
  After the operation, additional 50.4 MiB will be used.

  # zypper install python311 python311-base
  The following 4 NEW packages are going to be installed:
    libexpat1 libpython3_11-1_0 python311 python311-base

  4 new packages to install.
  Overall download size: 12.8 MiB. Already cached: 0 B.
  After the operation, additional 50.4 MiB will be used.

This is the main reason why we never really bothered trying to avoid
it.

Hope this helps!
diff mbox series

Patch

diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
index dc0e36ce48..cf753383a4 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -90,6 +90,7 @@  RUN zypper update -y && \
            pcre-devel-static \
            pipewire-devel \
            pkgconfig \
+           python311 \
            python311-base \
            python311-pip \
            python311-setuptools \
diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml
index 0b908882f1..407c03301b 100644
--- a/tests/lcitool/mappings.yml
+++ b/tests/lcitool/mappings.yml
@@ -59,6 +59,10 @@  mappings:
     CentOSStream8:
     OpenSUSELeap15:
 
+  python3-sqlite3:
+    CentOSStream8: python38
+    OpenSUSELeap15: python311
+
   python3-tomli:
     # test using tomllib
     apk:
diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
index 82092c9f17..149b15de57 100644
--- a/tests/lcitool/projects/qemu.yml
+++ b/tests/lcitool/projects/qemu.yml
@@ -97,6 +97,7 @@  packages:
  - python3-pip
  - python3-sphinx
  - python3-sphinx-rtd-theme
+ - python3-sqlite3
  - python3-tomli
  - python3-venv
  - rpm2cpio