Message ID | 20230710103218.3834001-1-mingli.yu@eng.windriver.com |
---|---|
State | New |
Headers | show |
Series | [v3] qemu: Add qemu-common package | expand |
Hello, On 10/07/2023 18:32:18+0800, Yu, Mingli wrote: > From: Mingli Yu <mingli.yu@windriver.com> > > 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 <mingli.yu@windriver.com> > --- Please insert a changelog between your patch versions here, especially since you are sending v3 while v2 is under tessting. Also, don't put subsequent version in the same thread as v1, this may cause your patches to be ignored as they appear in an old thread. > meta/recipes-devtools/qemu/qemu.inc | 23 ++++++++++++----------- > meta/recipes-devtools/qemu/qemu_8.0.0.bb | 3 ++- > 2 files changed, 14 insertions(+), 12 deletions(-) > > diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc > index a5bdeef66d..94624163d0 100644 > --- a/meta/recipes-devtools/qemu/qemu.inc > +++ b/meta/recipes-devtools/qemu/qemu.inc > @@ -226,15 +226,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-.*" > > @@ -242,15 +245,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.0.bb b/meta/recipes-devtools/qemu/qemu_8.0.0.bb > index 42e133967e..412c2bc7f0 100644 > --- a/meta/recipes-devtools/qemu/qemu_8.0.0.bb > +++ b/meta/recipes-devtools/qemu/qemu_8.0.0.bb > @@ -8,7 +8,8 @@ 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" > +RDEPENDS:${PN}-common:class-nativesdk += "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 (#184068): https://lists.openembedded.org/g/openembedded-core/message/184068 > Mute This Topic: https://lists.openembedded.org/mt/100054994/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On 7/11/23 04:47, Alexandre Belloni 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. > > Hello, > > On 10/07/2023 18:32:18+0800, Yu, Mingli wrote: >> From: Mingli Yu <mingli.yu@windriver.com> >> >> 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 <mingli.yu@windriver.com> >> --- > > Please insert a changelog between your patch versions here, especially > since you are sending v3 while v2 is under tessting. Will insert changelog next time. > > Also, don't put subsequent version in the same thread as v1, this may > cause your patches to be ignored as they appear in an old thread. Got it. Thanks, > >> meta/recipes-devtools/qemu/qemu.inc | 23 ++++++++++++----------- >> meta/recipes-devtools/qemu/qemu_8.0.0.bb | 3 ++- >> 2 files changed, 14 insertions(+), 12 deletions(-) >> >> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc >> index a5bdeef66d..94624163d0 100644 >> --- a/meta/recipes-devtools/qemu/qemu.inc >> +++ b/meta/recipes-devtools/qemu/qemu.inc >> @@ -226,15 +226,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-.*" >> >> @@ -242,15 +245,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.0.bb b/meta/recipes-devtools/qemu/qemu_8.0.0.bb >> index 42e133967e..412c2bc7f0 100644 >> --- a/meta/recipes-devtools/qemu/qemu_8.0.0.bb >> +++ b/meta/recipes-devtools/qemu/qemu_8.0.0.bb >> @@ -8,7 +8,8 @@ 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" >> +RDEPENDS:${PN}-common:class-nativesdk += "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 (#184068): https://lists.openembedded.org/g/openembedded-core/message/184068 >> Mute This Topic: https://lists.openembedded.org/mt/100054994/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
Hello, This causes the following meta-mingw error on the AB: https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio This is due to the added native-sdk dependency. On 10/07/2023 18:32:18+0800, Yu, Mingli wrote: > From: Mingli Yu <mingli.yu@windriver.com> > > 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 <mingli.yu@windriver.com> > --- > meta/recipes-devtools/qemu/qemu.inc | 23 ++++++++++++----------- > meta/recipes-devtools/qemu/qemu_8.0.0.bb | 3 ++- > 2 files changed, 14 insertions(+), 12 deletions(-) > > diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc > index a5bdeef66d..94624163d0 100644 > --- a/meta/recipes-devtools/qemu/qemu.inc > +++ b/meta/recipes-devtools/qemu/qemu.inc > @@ -226,15 +226,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-.*" > > @@ -242,15 +245,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.0.bb b/meta/recipes-devtools/qemu/qemu_8.0.0.bb > index 42e133967e..412c2bc7f0 100644 > --- a/meta/recipes-devtools/qemu/qemu_8.0.0.bb > +++ b/meta/recipes-devtools/qemu/qemu_8.0.0.bb > @@ -8,7 +8,8 @@ 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" > +RDEPENDS:${PN}-common:class-nativesdk += "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 (#184068): https://lists.openembedded.org/g/openembedded-core/message/184068 > Mute This Topic: https://lists.openembedded.org/mt/100054994/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi Alex, On 7/16/23 19:47, Alexandre Belloni 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. > > Hello, > > This causes the following meta-mingw error on the AB: > > https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio I didn't find the core-image-mingw-sdktest recipe which I noticed in the above log, so I cannot reproduce the issue as you mentioned. Thanks, > > This is due to the added native-sdk dependency. > > On 10/07/2023 18:32:18+0800, Yu, Mingli wrote: >> From: Mingli Yu <mingli.yu@windriver.com> >> >> 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 <mingli.yu@windriver.com> >> --- >> meta/recipes-devtools/qemu/qemu.inc | 23 ++++++++++++----------- >> meta/recipes-devtools/qemu/qemu_8.0.0.bb | 3 ++- >> 2 files changed, 14 insertions(+), 12 deletions(-) >> >> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc >> index a5bdeef66d..94624163d0 100644 >> --- a/meta/recipes-devtools/qemu/qemu.inc >> +++ b/meta/recipes-devtools/qemu/qemu.inc >> @@ -226,15 +226,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-.*" >> >> @@ -242,15 +245,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.0.bb b/meta/recipes-devtools/qemu/qemu_8.0.0.bb >> index 42e133967e..412c2bc7f0 100644 >> --- a/meta/recipes-devtools/qemu/qemu_8.0.0.bb >> +++ b/meta/recipes-devtools/qemu/qemu_8.0.0.bb >> @@ -8,7 +8,8 @@ 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" >> +RDEPENDS:${PN}-common:class-nativesdk += "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 (#184068): https://lists.openembedded.org/g/openembedded-core/message/184068 >> Mute This Topic: https://lists.openembedded.org/mt/100054994/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
On 17/07/2023 15:10:35+0800, Yu, Mingli wrote: > Hi Alex, > > On 7/16/23 19:47, Alexandre Belloni 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. > > > > Hello, > > > > This causes the following meta-mingw error on the AB: > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio > > I didn't find the core-image-mingw-sdktest recipe which I noticed in the > above log, so I cannot reproduce the issue as you mentioned. As stated above, this is part of meta-mingw: https://git.yoctoproject.org/meta-mingw/tree/recipes-core/images?h=master-next > > Thanks, > > > > > This is due to the added native-sdk dependency. > > > > On 10/07/2023 18:32:18+0800, Yu, Mingli wrote: > > > From: Mingli Yu <mingli.yu@windriver.com> > > > > > > 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 <mingli.yu@windriver.com> > > > --- > > > meta/recipes-devtools/qemu/qemu.inc | 23 ++++++++++++----------- > > > meta/recipes-devtools/qemu/qemu_8.0.0.bb | 3 ++- > > > 2 files changed, 14 insertions(+), 12 deletions(-) > > > > > > diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc > > > index a5bdeef66d..94624163d0 100644 > > > --- a/meta/recipes-devtools/qemu/qemu.inc > > > +++ b/meta/recipes-devtools/qemu/qemu.inc > > > @@ -226,15 +226,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-.*" > > > > > > @@ -242,15 +245,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.0.bb b/meta/recipes-devtools/qemu/qemu_8.0.0.bb > > > index 42e133967e..412c2bc7f0 100644 > > > --- a/meta/recipes-devtools/qemu/qemu_8.0.0.bb > > > +++ b/meta/recipes-devtools/qemu/qemu_8.0.0.bb > > > @@ -8,7 +8,8 @@ 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" > > > +RDEPENDS:${PN}-common:class-nativesdk += "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 > > > > > > > > > > > > > > > > > > > > -- > > Alexandre Belloni, co-owner and COO, Bootlin > > Embedded Linux and Kernel engineering > > https://bootlin.com > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#184431): https://lists.openembedded.org/g/openembedded-core/message/184431 > Mute This Topic: https://lists.openembedded.org/mt/100054994/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi Alex, On 7/17/23 20:46, Alexandre Belloni 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 17/07/2023 15:10:35+0800, Yu, Mingli wrote: >> Hi Alex, >> >> On 7/16/23 19:47, Alexandre Belloni 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. >>> >>> Hello, >>> >>> This causes the following meta-mingw error on the AB: >>> >>> https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio >> >> I didn't find the core-image-mingw-sdktest recipe which I noticed in the >> above log, so I cannot reproduce the issue as you mentioned. > > As stated above, this is part of meta-mingw: > > https://git.yoctoproject.org/meta-mingw/tree/recipes-core/images?h=master-next Thanks for your pointer! BTW, the below error which in https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio seems irrelevant to the added nativesdk dependency though I have removed the nativesdk dependency in https://patchwork.yoctoproject.org/project/oe-core/patch/20230717071114.2734859-1-mingli.yu@eng.windriver.com/. | /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: ../obj_s/lib_kernel.o:lib_kernel.c:(.text+0x5c): undefined reference to `_nc_mingw_tcflush' | /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: ../obj_s/lib_ttyflags.o:lib_ttyflags.c:(.text+0x2c): undefined reference to `_nc_mingw_tcgetattr' | /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: ../obj_s/lib_ttyflags.o:lib_ttyflags.c:(.text+0xbb): undefined reference to `_nc_mingw_tcsetattr' Thanks, > >> >> Thanks, >> >>> >>> This is due to the added native-sdk dependency. >>> >>> On 10/07/2023 18:32:18+0800, Yu, Mingli wrote: >>>> From: Mingli Yu <mingli.yu@windriver.com> >>>> >>>> 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 <mingli.yu@windriver.com> >>>> --- >>>> meta/recipes-devtools/qemu/qemu.inc | 23 ++++++++++++----------- >>>> meta/recipes-devtools/qemu/qemu_8.0.0.bb | 3 ++- >>>> 2 files changed, 14 insertions(+), 12 deletions(-) >>>> >>>> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc >>>> index a5bdeef66d..94624163d0 100644 >>>> --- a/meta/recipes-devtools/qemu/qemu.inc >>>> +++ b/meta/recipes-devtools/qemu/qemu.inc >>>> @@ -226,15 +226,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-.*" >>>> >>>> @@ -242,15 +245,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.0.bb b/meta/recipes-devtools/qemu/qemu_8.0.0.bb >>>> index 42e133967e..412c2bc7f0 100644 >>>> --- a/meta/recipes-devtools/qemu/qemu_8.0.0.bb >>>> +++ b/meta/recipes-devtools/qemu/qemu_8.0.0.bb >>>> @@ -8,7 +8,8 @@ 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" >>>> +RDEPENDS:${PN}-common:class-nativesdk += "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 >>>> >>> >>>> >>>> >>>> >>> >>> >>> -- >>> Alexandre Belloni, co-owner and COO, Bootlin >>> Embedded Linux and Kernel engineering >>> https://bootlin.com > >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#184431): https://lists.openembedded.org/g/openembedded-core/message/184431 >> Mute This Topic: https://lists.openembedded.org/mt/100054994/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
On 19/07/2023 17:10:37+0800, Yu, Mingli wrote: > Hi Alex, > > On 7/17/23 20:46, Alexandre Belloni 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 17/07/2023 15:10:35+0800, Yu, Mingli wrote: > > > Hi Alex, > > > > > > On 7/16/23 19:47, Alexandre Belloni 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. > > > > > > > > Hello, > > > > > > > > This causes the following meta-mingw error on the AB: > > > > > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio > > > > > > I didn't find the core-image-mingw-sdktest recipe which I noticed in the > > > above log, so I cannot reproduce the issue as you mentioned. > > > > As stated above, this is part of meta-mingw: > > > > https://git.yoctoproject.org/meta-mingw/tree/recipes-core/images?h=master-next > > Thanks for your pointer! > > BTW, the below error which in https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio > seems irrelevant to the added nativesdk dependency though I have removed the > nativesdk dependency in https://patchwork.yoctoproject.org/project/oe-core/patch/20230717071114.2734859-1-mingli.yu@eng.windriver.com/. > > | /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: > ../obj_s/lib_kernel.o:lib_kernel.c:(.text+0x5c): undefined reference to > `_nc_mingw_tcflush' > | /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: > ../obj_s/lib_ttyflags.o:lib_ttyflags.c:(.text+0x2c): undefined reference to > `_nc_mingw_tcgetattr' > | /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: > ../obj_s/lib_ttyflags.o:lib_ttyflags.c:(.text+0xbb): undefined reference to > `_nc_mingw_tcsetattr' > It is relevant, this is because of the dependency that this gets built and fails. I've seen v4 but didn't have the time to test it yet.
On Wed, 2023-07-19 at 11:20 +0200, Alexandre Belloni via lists.openembedded.org wrote: > On 19/07/2023 17:10:37+0800, Yu, Mingli wrote: > > Hi Alex, > > > > On 7/17/23 20:46, Alexandre Belloni 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 17/07/2023 15:10:35+0800, Yu, Mingli wrote: > > > > Hi Alex, > > > > > > > > On 7/16/23 19:47, Alexandre Belloni 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. > > > > > > > > > > Hello, > > > > > > > > > > This causes the following meta-mingw error on the AB: > > > > > > > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio > > > > > > > > I didn't find the core-image-mingw-sdktest recipe which I noticed in the > > > > above log, so I cannot reproduce the issue as you mentioned. > > > > > > As stated above, this is part of meta-mingw: > > > > > > https://git.yoctoproject.org/meta-mingw/tree/recipes-core/images?h=master-next > > > > Thanks for your pointer! > > > > BTW, the below error which in https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio > > seems irrelevant to the added nativesdk dependency though I have removed the > > nativesdk dependency in https://patchwork.yoctoproject.org/project/oe-core/patch/20230717071114.2734859-1-mingli.yu@eng.windriver.com/. > > > > > /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: > > ../obj_s/lib_kernel.o:lib_kernel.c:(.text+0x5c): undefined reference to > > `_nc_mingw_tcflush' > > > /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: > > ../obj_s/lib_ttyflags.o:lib_ttyflags.c:(.text+0x2c): undefined reference to > > `_nc_mingw_tcgetattr' > > > /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: > > ../obj_s/lib_ttyflags.o:lib_ttyflags.c:(.text+0xbb): undefined reference to > > `_nc_mingw_tcsetattr' > > > > It is relevant, this is because of the dependency that this gets built > and fails. I've seen v4 but didn't have the time to test it yet. I've still not seen an answer to Ross' question or mine about why we can't just add a couple of dependencies and resolve things that way. Cheers, Richard
Hi Richard and Ross, On 7/19/23 17:24, 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 Wed, 2023-07-19 at 11:20 +0200, Alexandre Belloni via > lists.openembedded.org wrote: >> On 19/07/2023 17:10:37+0800, Yu, Mingli wrote: >>> Hi Alex, >>> >>> On 7/17/23 20:46, Alexandre Belloni 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 17/07/2023 15:10:35+0800, Yu, Mingli wrote: >>>>> Hi Alex, >>>>> >>>>> On 7/16/23 19:47, Alexandre Belloni 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. >>>>>> >>>>>> Hello, >>>>>> >>>>>> This causes the following meta-mingw error on the AB: >>>>>> >>>>>> https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio >>>>> >>>>> I didn't find the core-image-mingw-sdktest recipe which I noticed in the >>>>> above log, so I cannot reproduce the issue as you mentioned. >>>> >>>> As stated above, this is part of meta-mingw: >>>> >>>> https://git.yoctoproject.org/meta-mingw/tree/recipes-core/images?h=master-next >>> >>> Thanks for your pointer! >>> >>> BTW, the below error which in https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7501/steps/12/logs/stdio >>> seems irrelevant to the added nativesdk dependency though I have removed the >>> nativesdk dependency in https://patchwork.yoctoproject.org/project/oe-core/patch/20230717071114.2734859-1-mingli.yu@eng.windriver.com/. >>> >>>> /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: >>> ../obj_s/lib_kernel.o:lib_kernel.c:(.text+0x5c): undefined reference to >>> `_nc_mingw_tcflush' >>>> /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: >>> ../obj_s/lib_ttyflags.o:lib_ttyflags.c:(.text+0x2c): undefined reference to >>> `_nc_mingw_tcgetattr' >>>> /home/pokybuild/yocto-worker/meta-mingw/build/build/tmp/work/i686-nativesdk-mingw32-w64-mingw32/nativesdk-ncurses/6.4-r0/recipe-sysroot-native/usr/bin/i686-w64-mingw32/../../libexec/i686-w64-mingw32/gcc/i686-w64-mingw32/13.1.1/ld: >>> ../obj_s/lib_ttyflags.o:lib_ttyflags.c:(.text+0xbb): undefined reference to >>> `_nc_mingw_tcsetattr' >>> >> >> It is relevant, this is because of the dependency that this gets built >> and fails. I've seen v4 but didn't have the time to test it yet. > > I've still not seen an answer to Ross' question or mine about why we > can't just add a couple of dependencies and resolve things that way. Sorry for delayed respond! Have added qemu-common to make qemu as meta package to keep backward compatibility. For user who install qemu rpm such as qemu-7.2.0-r0.corei7_64.rpm, it still pull in all of things as before. For user who cares the rpm size, can just choose to install the needed qemu arch rpms such as qemu-system-aarch64-7.2.0-r0.corei7_64.rpm. Thanks, > > Cheers, > > Richard
On Wed, 2023-07-19 at 17:39 +0800, Yu, Mingli wrote: > On 7/19/23 17:24, Richard Purdie wrote: > > > > > > It is relevant, this is because of the dependency that this gets built > > > and fails. I've seen v4 but didn't have the time to test it yet. > > > > I've still not seen an answer to Ross' question or mine about why we > > can't just add a couple of dependencies and resolve things that way. > > Sorry for delayed respond! > > Have added qemu-common to make qemu as meta package to keep backward > compatibility. For user who install qemu rpm such as > qemu-7.2.0-r0.corei7_64.rpm, it still pull in all of things as before. > For user who cares the rpm size, can just choose to install the needed > qemu arch rpms such as qemu-system-aarch64-7.2.0-r0.corei7_64.rpm. 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? Cheers, Richard
Hi Richard, On 7/19/23 18:08, 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 Wed, 2023-07-19 at 17:39 +0800, Yu, Mingli wrote: >> On 7/19/23 17:24, Richard Purdie wrote: >>>> >>>> It is relevant, this is because of the dependency that this gets built >>>> and fails. I've seen v4 but didn't have the time to test it yet. >>> >>> I've still not seen an answer to Ross' question or mine about why we >>> can't just add a couple of dependencies and resolve things that way. >> >> Sorry for delayed respond! >> >> Have added qemu-common to make qemu as meta package to keep backward >> compatibility. For user who install qemu rpm such as >> qemu-7.2.0-r0.corei7_64.rpm, it still pull in all of things as before. >> For user who cares the rpm size, can just choose to install the needed >> qemu arch rpms such as qemu-system-aarch64-7.2.0-r0.corei7_64.rpm. > > 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? 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.yu@eng.windriver.com/) via adding IMAGE_INSTALL:append = " qemu-system-aarch64" into conf/local.conf. Thanks, > > Cheers, > > Richard
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index a5bdeef66d..94624163d0 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -226,15 +226,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-.*" @@ -242,15 +245,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.0.bb b/meta/recipes-devtools/qemu/qemu_8.0.0.bb index 42e133967e..412c2bc7f0 100644 --- a/meta/recipes-devtools/qemu/qemu_8.0.0.bb +++ b/meta/recipes-devtools/qemu/qemu_8.0.0.bb @@ -8,7 +8,8 @@ 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" +RDEPENDS:${PN}-common:class-nativesdk += "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)}"