Re: [OE-core] [PATCH v4] qemu: Add qemu-common package
On Mon, 2023-08-14 at 17:46 +0800, Yu, Mingli wrote: > Hi Richard, > > On 8/14/23 17:25, Richard Purdie wrote: > > CAUTION: This email comes from a non Wind River email account! > > Do not click links or open attachments unless you recognize the sender and > > know the content is safe. > > > > On Mon, 2023-08-14 at 17:19 +0800, Yu, Mingli wrote: > > > Ping. > > > > https://lists.openembedded.org/g/openembedded-core/message/184574 > > > > """ > > So why not just add: > > > > RRECOMMENDS:${PN} += "${PN}-system-all ${PN}-user-all" > > > > as I think we've then covered all the options we need? > > """ > > > > I still haven't seen an answer to this? > > Sorry for noise, have ever answered this question in another thread > "[PATCH v3] qemu: Add qemu-common package". > > If just add RRECOMMENDS:${PN} += "${PN}-system-all ${PN}-user-all" by > default, then how about the user who want only install > qemu-system-aarch64-7.2.0-r0.corei7_64.rpm still install all qemu > binaries as qemu-system-aarch64 rdepends on qemu which RRECOMMENDS > qemu-system-all and > qemu-user-all(https://git.openembedded.org/openembedded-core/commit/?id=893846ead7ee54d53e9076150cd655e0c8bca5db). > > So it's better make qemu as meta package to keep backward compatibility > for user who install qemu can install all qemu binaries as before and > also can meet the need for user who want just install qemu arm64 > emulation rpm such as > qemu-system-aarch64-7.2.0-r0.corei7_64.rpm(https://patchwork.yoctoproject.org/project/oe-core/patch/20230717071114.2734859-1-mingli...@eng.windriver.com/) > > via adding IMAGE_INSTALL:append = " qemu-system-aarch64" into > conf/local.conf. Sorry, I'd missed that reply in the midst of the different emails and it does help explain things thanks. I don't like the amount of churn we've had in qemu packaging but this does look like what we'll need to do to resolve the issue you've mentioned above. I'll queue it for testing. Cheers, Richard -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#185932): https://lists.openembedded.org/g/openembedded-core/message/185932 Mute This Topic: https://lists.openembedded.org/mt/100190357/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH v4] qemu: Add qemu-common package
Hi Richard, On 8/14/23 17:25, Richard Purdie wrote: CAUTION: This email comes from a non Wind River email account! Do not click links or open attachments unless you recognize the sender and know the content is safe. On Mon, 2023-08-14 at 17:19 +0800, Yu, Mingli wrote: Ping. https://lists.openembedded.org/g/openembedded-core/message/184574 """ So why not just add: RRECOMMENDS:${PN} += "${PN}-system-all ${PN}-user-all" as I think we've then covered all the options we need? """ I still haven't seen an answer to this? Sorry for noise, have ever answered this question in another thread "[PATCH v3] qemu: Add qemu-common package". If just add RRECOMMENDS:${PN} += "${PN}-system-all ${PN}-user-all" by default, then how about the user who want only install qemu-system-aarch64-7.2.0-r0.corei7_64.rpm still install all qemu binaries as qemu-system-aarch64 rdepends on qemu which RRECOMMENDS qemu-system-all and qemu-user-all(https://git.openembedded.org/openembedded-core/commit/?id=893846ead7ee54d53e9076150cd655e0c8bca5db). So it's better make qemu as meta package to keep backward compatibility for user who install qemu can install all qemu binaries as before and also can meet the need for user who want just install qemu arm64 emulation rpm such as qemu-system-aarch64-7.2.0-r0.corei7_64.rpm(https://patchwork.yoctoproject.org/project/oe-core/patch/20230717071114.2734859-1-mingli...@eng.windriver.com/) via adding IMAGE_INSTALL:append = " qemu-system-aarch64" into conf/local.conf. Thanks, I don't like the fact we've messed this packaging around multiple times and still don't seem clear on the problem(s) we're solving. Cheers, Richard Thanks, On 7/17/23 15:11, Yu, Mingli wrote: From: Mingli Yu We split the qemu package [1] to add support to make user can install one qemu arch emulation rpm to ease the concerns who care much about the rpm size in embedded device. But for the user who only install the qemu-*.rpm can't do anything except they install the qemu emulation rpm like qemu-system-x86-64-*.rpm explicitly. So add qemu-common package to package all thing into qemu-common when not split the package, and package only the basic into qemu-common and other arch related to each qemu arch emulation rpm when split the package to fix the backward compatibility. qenu-*.rpm which is meta package rdepends on qemu-common and the available qemu arch emulation rpm like qemu-system-x86-64-*.rpm and etc. [1] https://git.openembedded.org/openembedded-core/commit/?id=893846ead7ee54d53e9076150cd655e0c8bca5db Signed-off-by: Mingli Yu --- v3->v4: remove the added native-sdk dependency. meta/recipes-devtools/qemu/qemu.inc | 23 --- meta/recipes-devtools/qemu/qemu_8.0.3.bb | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 16581db69d..76560f454d 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -225,15 +225,18 @@ PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils" -INSANE_SKIP:${PN} = "arch" +INSANE_SKIP:${PN}-common = "arch" FILES:${PN} += "${datadir}/icons" # For user who want to install all arch packages -PACKAGES =+ "${PN}-system-all ${PN}-user-all" +PACKAGES =+ "${PN}-common" +RDEPENDS:${PN} += "${PN}-common" -ALLOW_EMPTY:${PN}-system-all = "1" -ALLOW_EMPTY:${PN}-user-all = "1" +ALLOW_EMPTY:${PN} = "1" +FILES:${PN} = "" + +FILES:${PN}-common = "${bindir}/* ${includedir}/* ${libexecdir}/* ${datadir}/* ${localstatedir}" PACKAGES_DYNAMIC += "^${PN}-user-.* ^${PN}-system-.*" @@ -241,15 +244,13 @@ PACKAGESPLITFUNCS =+ "split_qemu_packages" python split_qemu_packages () { 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)) +subpackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True, extra_depends='${PN}-common') -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 userpackages: -d.setVar('RDEPENDS:' + d.getVar('PN') + '-user-all', ' '.join(userpackages)) +subpackages += 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, extra_depends='${PN}-common') +if subpackages: +d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(subpacka
Re: [OE-core] [PATCH v4] qemu: Add qemu-common package
On Mon, 2023-08-14 at 17:19 +0800, Yu, Mingli wrote: > Ping. https://lists.openembedded.org/g/openembedded-core/message/184574 """ So why not just add: RRECOMMENDS:${PN} += "${PN}-system-all ${PN}-user-all" as I think we've then covered all the options we need? """ I still haven't seen an answer to this? I don't like the fact we've messed this packaging around multiple times and still don't seem clear on the problem(s) we're solving. Cheers, Richard > > Thanks, > > On 7/17/23 15:11, Yu, Mingli wrote: > > From: Mingli Yu > > > > We split the qemu package [1] to add support to make user can install > > one qemu arch emulation rpm to ease the concerns who care much about > > the rpm size in embedded device. > > > > But for the user who only install the qemu-*.rpm can't do anything > > except they install the qemu emulation rpm like qemu-system-x86-64-*.rpm > > explicitly. > > > > So add qemu-common package to package all thing into qemu-common when > > not split the package, and package only the basic into qemu-common and > > other arch related to each qemu arch emulation rpm when split the package > > to fix the backward compatibility. > > > > qenu-*.rpm which is meta package rdepends on qemu-common and the available > > qemu arch emulation rpm like qemu-system-x86-64-*.rpm and etc. > > > > [1] > > https://git.openembedded.org/openembedded-core/commit/?id=893846ead7ee54d53e9076150cd655e0c8bca5db > > > > Signed-off-by: Mingli Yu > > --- > > > > v3->v4: remove the added native-sdk dependency. > > > > meta/recipes-devtools/qemu/qemu.inc | 23 --- > > meta/recipes-devtools/qemu/qemu_8.0.3.bb | 2 +- > > 2 files changed, 13 insertions(+), 12 deletions(-) > > > > diff --git a/meta/recipes-devtools/qemu/qemu.inc > > b/meta/recipes-devtools/qemu/qemu.inc > > index 16581db69d..76560f454d 100644 > > --- a/meta/recipes-devtools/qemu/qemu.inc > > +++ b/meta/recipes-devtools/qemu/qemu.inc > > @@ -225,15 +225,18 @@ PACKAGECONFIG[brlapi] = > > "--enable-brlapi,--disable-brlapi" > > PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," > > PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils" > > > > -INSANE_SKIP:${PN} = "arch" > > +INSANE_SKIP:${PN}-common = "arch" > > > > FILES:${PN} += "${datadir}/icons" > > > > # For user who want to install all arch packages > > -PACKAGES =+ "${PN}-system-all ${PN}-user-all" > > +PACKAGES =+ "${PN}-common" > > +RDEPENDS:${PN} += "${PN}-common" > > > > -ALLOW_EMPTY:${PN}-system-all = "1" > > -ALLOW_EMPTY:${PN}-user-all = "1" > > +ALLOW_EMPTY:${PN} = "1" > > +FILES:${PN} = "" > > + > > +FILES:${PN}-common = "${bindir}/* ${includedir}/* ${libexecdir}/* > > ${datadir}/* ${localstatedir}" > > > > PACKAGES_DYNAMIC += "^${PN}-user-.* ^${PN}-system-.*" > > > > @@ -241,15 +244,13 @@ PACKAGESPLITFUNCS =+ "split_qemu_packages" > > > > python split_qemu_packages () { > > 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)) > > +subpackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', > > '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , > > prepend=True, extra_depends='${PN}-common') > > > > -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 userpackages: > > -d.setVar('RDEPENDS:' + d.getVar('PN') + '-user-all', ' > > '.join(userpackages)) > > +subpackages += 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, > > extra_depends='${PN}-common') > > +if subpackages: > > +d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' > > '.join(subpackages)) > > mipspackage = d.getVar('PN') + "-user-mips" > > -if mipspackage in ' '.join(userpackages): > > +if mipspackage in ' '.join(subpackages): > > d.appendVar('RDEPENDS:' + mipspackage, ' ' + d.getVar("MLPREFIX") > > + 'bash') > > } > > > > diff --git a/meta/recipes-devtools/qemu/qemu_8.0.3.bb > > b/meta/recipes-devtools/qemu/qemu_8.0.3.bb > > index 42e133967e..5d3c47c3b0 100644 > > --- a/meta/recipes-devtools/qemu/qemu_8.0.3.bb > > +++ b/meta/recipes-devtools/qemu/qemu_8.0.3.bb > > @@ -8,7 +8,7 @@ DEPENDS:append:libc-musl = " libucontext" > > > > CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', > > '-DEGL_NO_X11=1', d)}" > > > > -RDEPENDS:${PN}:class-target += "bash" > > +RDEPENDS:${PN}-common:class-target += "bash" > > > > EXTRA_OECONF:append:class-target = " > > --target-list=${@get_q
Re: [OE-core] [PATCH v4] qemu: Add qemu-common package
Ping. Thanks, On 7/17/23 15:11, Yu, Mingli wrote: From: Mingli Yu We split the qemu package [1] to add support to make user can install one qemu arch emulation rpm to ease the concerns who care much about the rpm size in embedded device. But for the user who only install the qemu-*.rpm can't do anything except they install the qemu emulation rpm like qemu-system-x86-64-*.rpm explicitly. So add qemu-common package to package all thing into qemu-common when not split the package, and package only the basic into qemu-common and other arch related to each qemu arch emulation rpm when split the package to fix the backward compatibility. qenu-*.rpm which is meta package rdepends on qemu-common and the available qemu arch emulation rpm like qemu-system-x86-64-*.rpm and etc. [1] https://git.openembedded.org/openembedded-core/commit/?id=893846ead7ee54d53e9076150cd655e0c8bca5db Signed-off-by: Mingli Yu --- v3->v4: remove the added native-sdk dependency. meta/recipes-devtools/qemu/qemu.inc | 23 --- meta/recipes-devtools/qemu/qemu_8.0.3.bb | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 16581db69d..76560f454d 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -225,15 +225,18 @@ PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils" -INSANE_SKIP:${PN} = "arch" +INSANE_SKIP:${PN}-common = "arch" FILES:${PN} += "${datadir}/icons" # For user who want to install all arch packages -PACKAGES =+ "${PN}-system-all ${PN}-user-all" +PACKAGES =+ "${PN}-common" +RDEPENDS:${PN} += "${PN}-common" -ALLOW_EMPTY:${PN}-system-all = "1" -ALLOW_EMPTY:${PN}-user-all = "1" +ALLOW_EMPTY:${PN} = "1" +FILES:${PN} = "" + +FILES:${PN}-common = "${bindir}/* ${includedir}/* ${libexecdir}/* ${datadir}/* ${localstatedir}" PACKAGES_DYNAMIC += "^${PN}-user-.* ^${PN}-system-.*" @@ -241,15 +244,13 @@ PACKAGESPLITFUNCS =+ "split_qemu_packages" python split_qemu_packages () { 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)) +subpackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True, extra_depends='${PN}-common') -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 userpackages: -d.setVar('RDEPENDS:' + d.getVar('PN') + '-user-all', ' '.join(userpackages)) +subpackages += 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, extra_depends='${PN}-common') +if subpackages: +d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(subpackages)) mipspackage = d.getVar('PN') + "-user-mips" -if mipspackage in ' '.join(userpackages): +if mipspackage in ' '.join(subpackages): d.appendVar('RDEPENDS:' + mipspackage, ' ' + d.getVar("MLPREFIX") + 'bash') } diff --git a/meta/recipes-devtools/qemu/qemu_8.0.3.bb b/meta/recipes-devtools/qemu/qemu_8.0.3.bb index 42e133967e..5d3c47c3b0 100644 --- a/meta/recipes-devtools/qemu/qemu_8.0.3.bb +++ b/meta/recipes-devtools/qemu/qemu_8.0.3.bb @@ -8,7 +8,7 @@ DEPENDS:append:libc-musl = " libucontext" CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" -RDEPENDS:${PN}:class-target += "bash" +RDEPENDS:${PN}-common:class-target += "bash" EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#185926): https://lists.openembedded.org/g/openembedded-core/message/185926 Mute This Topic: https://lists.openembedded.org/mt/100190357/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH v4] qemu: Add qemu-common package
Ping. Thanks, On 7/17/23 15:11, Yu, Mingli wrote: From: Mingli Yu We split the qemu package [1] to add support to make user can install one qemu arch emulation rpm to ease the concerns who care much about the rpm size in embedded device. But for the user who only install the qemu-*.rpm can't do anything except they install the qemu emulation rpm like qemu-system-x86-64-*.rpm explicitly. So add qemu-common package to package all thing into qemu-common when not split the package, and package only the basic into qemu-common and other arch related to each qemu arch emulation rpm when split the package to fix the backward compatibility. qenu-*.rpm which is meta package rdepends on qemu-common and the available qemu arch emulation rpm like qemu-system-x86-64-*.rpm and etc. [1] https://git.openembedded.org/openembedded-core/commit/?id=893846ead7ee54d53e9076150cd655e0c8bca5db Signed-off-by: Mingli Yu --- v3->v4: remove the added native-sdk dependency. meta/recipes-devtools/qemu/qemu.inc | 23 --- meta/recipes-devtools/qemu/qemu_8.0.3.bb | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 16581db69d..76560f454d 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -225,15 +225,18 @@ PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils" -INSANE_SKIP:${PN} = "arch" +INSANE_SKIP:${PN}-common = "arch" FILES:${PN} += "${datadir}/icons" # For user who want to install all arch packages -PACKAGES =+ "${PN}-system-all ${PN}-user-all" +PACKAGES =+ "${PN}-common" +RDEPENDS:${PN} += "${PN}-common" -ALLOW_EMPTY:${PN}-system-all = "1" -ALLOW_EMPTY:${PN}-user-all = "1" +ALLOW_EMPTY:${PN} = "1" +FILES:${PN} = "" + +FILES:${PN}-common = "${bindir}/* ${includedir}/* ${libexecdir}/* ${datadir}/* ${localstatedir}" PACKAGES_DYNAMIC += "^${PN}-user-.* ^${PN}-system-.*" @@ -241,15 +244,13 @@ PACKAGESPLITFUNCS =+ "split_qemu_packages" python split_qemu_packages () { 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)) +subpackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True, extra_depends='${PN}-common') -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 userpackages: -d.setVar('RDEPENDS:' + d.getVar('PN') + '-user-all', ' '.join(userpackages)) +subpackages += 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, extra_depends='${PN}-common') +if subpackages: +d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(subpackages)) mipspackage = d.getVar('PN') + "-user-mips" -if mipspackage in ' '.join(userpackages): +if mipspackage in ' '.join(subpackages): d.appendVar('RDEPENDS:' + mipspackage, ' ' + d.getVar("MLPREFIX") + 'bash') } diff --git a/meta/recipes-devtools/qemu/qemu_8.0.3.bb b/meta/recipes-devtools/qemu/qemu_8.0.3.bb index 42e133967e..5d3c47c3b0 100644 --- a/meta/recipes-devtools/qemu/qemu_8.0.3.bb +++ b/meta/recipes-devtools/qemu/qemu_8.0.3.bb @@ -8,7 +8,7 @@ DEPENDS:append:libc-musl = " libucontext" CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" -RDEPENDS:${PN}:class-target += "bash" +RDEPENDS:${PN}-common:class-target += "bash" EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#184908): https://lists.openembedded.org/g/openembedded-core/message/184908 Mute This Topic: https://lists.openembedded.org/mt/100190357/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] [PATCH v4] qemu: Add qemu-common package
From: Mingli Yu We split the qemu package [1] to add support to make user can install one qemu arch emulation rpm to ease the concerns who care much about the rpm size in embedded device. But for the user who only install the qemu-*.rpm can't do anything except they install the qemu emulation rpm like qemu-system-x86-64-*.rpm explicitly. So add qemu-common package to package all thing into qemu-common when not split the package, and package only the basic into qemu-common and other arch related to each qemu arch emulation rpm when split the package to fix the backward compatibility. qenu-*.rpm which is meta package rdepends on qemu-common and the available qemu arch emulation rpm like qemu-system-x86-64-*.rpm and etc. [1] https://git.openembedded.org/openembedded-core/commit/?id=893846ead7ee54d53e9076150cd655e0c8bca5db Signed-off-by: Mingli Yu --- v3->v4: remove the added native-sdk dependency. meta/recipes-devtools/qemu/qemu.inc | 23 --- meta/recipes-devtools/qemu/qemu_8.0.3.bb | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 16581db69d..76560f454d 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -225,15 +225,18 @@ PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils" -INSANE_SKIP:${PN} = "arch" +INSANE_SKIP:${PN}-common = "arch" FILES:${PN} += "${datadir}/icons" # For user who want to install all arch packages -PACKAGES =+ "${PN}-system-all ${PN}-user-all" +PACKAGES =+ "${PN}-common" +RDEPENDS:${PN} += "${PN}-common" -ALLOW_EMPTY:${PN}-system-all = "1" -ALLOW_EMPTY:${PN}-user-all = "1" +ALLOW_EMPTY:${PN} = "1" +FILES:${PN} = "" + +FILES:${PN}-common = "${bindir}/* ${includedir}/* ${libexecdir}/* ${datadir}/* ${localstatedir}" PACKAGES_DYNAMIC += "^${PN}-user-.* ^${PN}-system-.*" @@ -241,15 +244,13 @@ PACKAGESPLITFUNCS =+ "split_qemu_packages" python split_qemu_packages () { 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)) +subpackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True, extra_depends='${PN}-common') -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 userpackages: -d.setVar('RDEPENDS:' + d.getVar('PN') + '-user-all', ' '.join(userpackages)) +subpackages += 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, extra_depends='${PN}-common') +if subpackages: +d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(subpackages)) mipspackage = d.getVar('PN') + "-user-mips" -if mipspackage in ' '.join(userpackages): +if mipspackage in ' '.join(subpackages): d.appendVar('RDEPENDS:' + mipspackage, ' ' + d.getVar("MLPREFIX") + 'bash') } diff --git a/meta/recipes-devtools/qemu/qemu_8.0.3.bb b/meta/recipes-devtools/qemu/qemu_8.0.3.bb index 42e133967e..5d3c47c3b0 100644 --- a/meta/recipes-devtools/qemu/qemu_8.0.3.bb +++ b/meta/recipes-devtools/qemu/qemu_8.0.3.bb @@ -8,7 +8,7 @@ DEPENDS:append:libc-musl = " libucontext" CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" -RDEPENDS:${PN}:class-target += "bash" +RDEPENDS:${PN}-common:class-target += "bash" EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#184432): https://lists.openembedded.org/g/openembedded-core/message/184432 Mute This Topic: https://lists.openembedded.org/mt/100190357/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-