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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox