From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: "Yu, Mingli" <mingli.yu@eng.windriver.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH v4] qemu: Split the qemu package
Date: Wed, 7 Jun 2023 22:53:47 +0200 [thread overview]
Message-ID: <20230607205347759a5df5@mail.local> (raw)
In-Reply-To: <20230607090813.2808227-1-mingli.yu@eng.windriver.com>
Hello,
I believe this causes:
https://autobuilder.yoctoproject.org/typhoon/#/builders/52/builds/7143/steps/12/logs/stdio
ERROR: lib32-qemu-8.0.0-r0 do_package_qa: QA Issue: /usr/bin/qemu-mips contained in package lib32-qemu-user-mips requires /bin/bash, but no providers found in RDEPENDS:lib32-qemu-user-mips? [file-rdeps]
ERROR: lib32-qemu-8.0.0-r0 do_package_qa: Fatal QA errors were found, failing task.
ERROR: Logfile of failure stored in: /home/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-qemu/8.0.0-r0/temp/log.do_package_qa.38833
NOTE: recipe lib32-qemu-8.0.0-r0: task do_package_qa: Failed
ERROR: Task (virtual:multilib:lib32:/home/pokybuild/yocto-worker/qemux86-world/build/meta/recipes-devtools/qemu/qemu_8.0.0.bb:do_package_qa) failed with exit code '1'
N
On 07/06/2023 17:08:13+0800, Yu, Mingli wrote:
> From: Mingli Yu <mingli.yu@windriver.com>
>
> Currently all files as below packaged into one package such as
> qemu-7.2.0-*.rpm. After the qemu package installed on the target,
> it will take up about 464M which includes not only the one matches
> the arch of the target but aslo all available built qemu targets
> which set by QEMU_TARGETS.
>
> # ls tmp-glibc/work/core2-64-wrs-linux/qemu/7.2.0-r0/image/usr/bin/
> qemu-aarch64 qemu-img qemu-mips64el qemu-ppc64
> qemu-sh4 qemu-system-loongarch64 qemu-system-ppc qemu-system-x86_64
> qemu-arm qemu-io qemu-mipsel qemu-ppc64le
> qemu-storage-daemon qemu-system-mips qemu-system-ppc64
> qemu-x86_64 qemu-edid qemu-loongarch64 qemu-mips.real
> qemu-pr-helper qemu-system-aarch64 qemu-system-mips64
> qemu-system-riscv32 qemu-ga qemu-mips qemu-nbd
> qemu-riscv32 qemu-system-arm qemu-system-mips64el
> qemu-system-riscv64 qemu-i386 qemu-mips64 qemu-ppc
> qemu-riscv64 qemu-system-i386 qemu-system-mipsel qemu-system-sh4
>
> Split the qemu package into qemu-7.2.0-*.rpm, qemu-system-*.rpm,
> qemu-user-*.rpm and etc. And let user can only choose the corresponding
> qemu arch package they want to install should ease the concerns who
> cares much about the size in embedded device as it decreases the qemu rpm
> (qemu-7.2.0*.rpm) size from about 65M to about 19M and the size of the
> extracted qemu RPM decreased from about 464M to about 248M.
>
> For the users who want to install all arch packages, they can install
> qemu-system-all and qemu-user-all to meet their need.
>
> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> ---
> meta/recipes-devtools/qemu/qemu.inc | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
> index a87dee5c99..108dd0947a 100644
> --- a/meta/recipes-devtools/qemu/qemu.inc
> +++ b/meta/recipes-devtools/qemu/qemu.inc
> @@ -230,6 +230,25 @@ INSANE_SKIP:${PN} = "arch"
>
> FILES:${PN} += "${datadir}/icons"
>
> +# For user who want to install all arch packages
> +PACKAGES =+ "${PN}-system-all ${PN}-user-all"
> +
> +ALLOW_EMPTY:${PN}-system-all = "1"
> +ALLOW_EMPTY:${PN}-user-all = "1"
> +
> +python populate_packages:prepend() {
> + archdir = d.expand('${bindir}/')
> + syspackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True)
> + if syspackages:
> + d.setVar('RDEPENDS:' + d.getVar('PN') + '-system-all', ' '.join(syspackages))
> +
> + userpackages = do_split_packages(d, archdir, r'^qemu-((?!system|edid|ga|img|io|nbd|pr-helper|storage-daemon).*)$', '${PN}-user-%s', 'QEMU full user emulation binaries(%s)' , prepend=True)
> + if "qemu-user-mips" in ' '.join(userpackages):
> + d.appendVar('RDEPENDS:qemu-user-mips', ' '+ 'bash')
> + if userpackages:
> + d.setVar('RDEPENDS:' + d.getVar('PN') + '-user-all', ' '.join(userpackages))
> +}
> +
> # Put the guest agent in a separate package
> PACKAGES =+ "${PN}-guest-agent"
> SUMMARY:${PN}-guest-agent = "QEMU guest agent"
> --
> 2.25.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#182464): https://lists.openembedded.org/g/openembedded-core/message/182464
> Mute This Topic: https://lists.openembedded.org/mt/99380658/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2023-06-07 20:54 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-30 13:17 [PATCH] qemu: Split the qemu package mingli.yu
2023-05-30 13:30 ` [OE-core] " Richard Purdie
2023-05-30 13:51 ` Bruce Ashfield
2023-05-30 14:33 ` Alexander Kanavin
2023-05-30 14:54 ` Richard Purdie
2023-05-30 15:09 ` Bruce Ashfield
2023-06-01 9:33 ` Yu, Mingli
2023-06-01 13:31 ` Bruce Ashfield
2023-06-01 9:28 ` [PATCH v2] " mingli.yu
2023-06-01 13:32 ` [OE-core] " Bruce Ashfield
2023-06-02 2:36 ` [PATCH v3] " mingli.yu
2023-06-02 13:08 ` [OE-core] " Bruce Ashfield
2023-06-02 13:19 ` Richard Purdie
2023-06-07 3:09 ` Yu, Mingli
2023-06-07 8:33 ` Richard Purdie
2023-06-07 9:08 ` [PATCH v4] " mingli.yu
2023-06-07 20:53 ` Alexandre Belloni [this message]
2023-06-08 5:45 ` [PATCH v5] " mingli.yu
2023-06-08 13:33 ` [OE-core] " Bruce Ashfield
2023-06-08 13:55 ` Richard Purdie
2023-06-08 15:03 ` Bruce Ashfield
2023-06-08 15:44 ` Richard Purdie
2023-06-08 16:16 ` Bruce Ashfield
2023-06-09 2:01 ` Yu, Mingli
2023-06-09 3:25 ` Bruce Ashfield
2023-06-09 3:31 ` Yu, Mingli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230607205347759a5df5@mail.local \
--to=alexandre.belloni@bootlin.com \
--cc=mingli.yu@eng.windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.