[PATCH] subprojects: add wrap file for libblkio

Paolo Bonzini posted 1 patch 1 year, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230906104529.401824-1-pbonzini@redhat.com
subprojects/libblkio.wrap | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 subprojects/libblkio.wrap
[PATCH] subprojects: add wrap file for libblkio
Posted by Paolo Bonzini 1 year, 2 months ago
This allows building libblkio at the same time as QEMU, if QEMU is
configured with --enable-blkio --enable-download.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 subprojects/libblkio.wrap | 6 ++++++
 1 file changed, 6 insertions(+)
 create mode 100644 subprojects/libblkio.wrap

diff --git a/subprojects/libblkio.wrap b/subprojects/libblkio.wrap
new file mode 100644
index 00000000000..f77af72210c
--- /dev/null
+++ b/subprojects/libblkio.wrap
@@ -0,0 +1,6 @@
+[wrap-git]
+url = https://gitlab.com/libblkio/libblkio
+revision = f84cc963a444e4cb34813b2dcfc5bf8526947dc0
+
+[provide]
+blkio = libblkio_dep
-- 
2.41.0
Re: [PATCH] subprojects: add wrap file for libblkio
Posted by Stefano Garzarella 1 year, 2 months ago
On Wed, Sep 06, 2023 at 12:45:29PM +0200, Paolo Bonzini wrote:
>This allows building libblkio at the same time as QEMU, if QEMU is
>configured with --enable-blkio --enable-download.
>
>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>---
> subprojects/libblkio.wrap | 6 ++++++
> 1 file changed, 6 insertions(+)
> create mode 100644 subprojects/libblkio.wrap
>
>diff --git a/subprojects/libblkio.wrap b/subprojects/libblkio.wrap
>new file mode 100644
>index 00000000000..f77af72210c
>--- /dev/null
>+++ b/subprojects/libblkio.wrap
>@@ -0,0 +1,6 @@
>+[wrap-git]
>+url = https://gitlab.com/libblkio/libblkio
>+revision = f84cc963a444e4cb34813b2dcfc5bf8526947dc0
>+
>+[provide]
>+blkio = libblkio_dep
>-- 
>2.41.0
>
>

I'm trying it in a clean container and I have this issue:

   HEAD is now at f84cc96 allow building libblkio as a subproject

   Executing subproject libblkio

   ../subprojects/libblkio/meson.build:1:0: ERROR: Command `/root/qemu/subprojects/libblkio/./package-version.py` failed with status 1.

   A full log can be found at /root/qemu/build/meson-logs/meson-log.txt

   ERROR: meson setup failed


Looking in the meson-log.txt, I have this:

   Package 'blkio', required by 'virtual:world', not found
   -----------
   Run-time dependency blkio found: NO (tried pkgconfig)
   Looking for a fallback subproject for the dependency blkio

   Executing subproject libblkio

   Running command: /root/qemu/subprojects/libblkio/./package-version.py
   --- stdout ---

   --- stderr ---
   Traceback (most recent call last):
     File "/root/qemu/subprojects/libblkio/./package-version.py", line 5, in <module>
       out = subprocess.check_output(["cargo", "read-manifest"])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/lib64/python3.11/subprocess.py", line 466, in check_output
       return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/lib64/python3.11/subprocess.py", line 548, in run
       with Popen(*popenargs, **kwargs) as process:
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/lib64/python3.11/subprocess.py", line 1026, in __init__
       self._execute_child(args, executable, preexec_fn, close_fds,
     File "/usr/lib64/python3.11/subprocess.py", line 1950, in _execute_child
       raise child_exception_type(errno_num, err_msg, err_filename)
   FileNotFoundError: [Errno 2] No such file or directory: 'cargo'

Installing `cargo` fixed the issue on my side.
I don't know if it is possible, but can we put some dependecy check in
the wrap file?

Anyway, after installing cargo it works pretty well :-)

Tested-by: Stefano Garzarella <sgarzare@redhat.com>
Re: [PATCH] subprojects: add wrap file for libblkio
Posted by Paolo Bonzini 1 year, 2 months ago
On Wed, Sep 6, 2023 at 4:22 PM Stefano Garzarella <sgarzare@redhat.com> wrote:
>        out = subprocess.check_output(["cargo", "read-manifest"])
>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>      File "/usr/lib64/python3.11/subprocess.py", line 466, in check_output
>        return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
>               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>      File "/usr/lib64/python3.11/subprocess.py", line 548, in run
>        with Popen(*popenargs, **kwargs) as process:
>             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
>      File "/usr/lib64/python3.11/subprocess.py", line 1026, in __init__
>        self._execute_child(args, executable, preexec_fn, close_fds,
>      File "/usr/lib64/python3.11/subprocess.py", line 1950, in _execute_child
>        raise child_exception_type(errno_num, err_msg, err_filename)
>    FileNotFoundError: [Errno 2] No such file or directory: 'cargo'

I think this can be fixed in libblkio instead.  I'll take a look.

Paolo