diff mbox series

[PATCHv6] vte: upgrade 2.72.2 -> 2.74.0

Message ID 20230920181526.386874-1-f_l_k@t-online.de
State New
Headers show
Series [PATCHv6] vte: upgrade 2.72.2 -> 2.74.0 | expand

Commit Message

Markus Volk Sept. 20, 2023, 6:15 p.m. UTC
Rework recipe

- remove legacy of the autotools buildsystem
- remove BBCLASSEXTEND
- build	vapi dependent on gi-data
- docs require gir, add	a EXTRA_OEMESON:append to avoid	fail in
  a combination	where docs=true	and gir=false
- gtk+3 and gtk4 are requested by default-> add gtk4 dependency
- install systemd support files	depending on DISTRO_FEATURE
- update 0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...EXITCODE-macro-for-non-glibc-systems.patch | 35 ++++++++-----------
 .../vte/{vte_0.72.2.bb => vte_0.74.0.bb}      | 27 +++++---------
 2 files changed, 22 insertions(+), 40 deletions(-)
 rename meta/recipes-support/vte/{vte_0.72.2.bb => vte_0.74.0.bb} (62%)

Comments

Alexandre Belloni Sept. 21, 2023, 2:42 p.m. UTC | #1
https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/7816/steps/12/logs/stdio

ERROR: Nothing PROVIDES 'vte' (but /home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb DEPENDS on or otherwise requires it)
vte was skipped: missing required distro feature 'opengl' (not in DISTRO_FEATURES)
NOTE: Runtime target 'matchbox-terminal' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['matchbox-terminal', 'vte']
NOTE: Runtime target 'packagegroup-core-x11-base' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-core-x11-base', 'matchbox-terminal', 'vte']
NOTE: Runtime target 'core-image-sato' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['core-image-sato', 'packagegroup-core-x11-base', 'matchbox-terminal', 'vte']
NOTE: Runtime target 'packagegroup-core-x11-sato' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato', 'matchbox-terminal', 'vte']
NOTE: Runtime target 'packagegroup-core-x11-sato-base' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-base', 'matchbox-terminal', 'vte']
NOTE: Runtime target 'packagegroup-core-x11-sato-games' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-games', 'matchbox-terminal', 'vte']
NOTE: Runtime target 'packagegroup-core-x11-sato-apps' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-apps', 'matchbox-terminal', 'vte']
ERROR: Nothing RPROVIDES 'matchbox-terminal-dev' (but /home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb RDEPENDS on or otherwise requires it)

On 20/09/2023 20:15:18+0200, Markus Volk wrote:
> Rework recipe
> 
> - remove legacy of the autotools buildsystem
> - remove BBCLASSEXTEND
> - build	vapi dependent on gi-data
> - docs require gir, add	a EXTRA_OEMESON:append to avoid	fail in
>   a combination	where docs=true	and gir=false
> - gtk+3 and gtk4 are requested by default-> add gtk4 dependency
> - install systemd support files	depending on DISTRO_FEATURE
> - update 0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
> 
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>  ...EXITCODE-macro-for-non-glibc-systems.patch | 35 ++++++++-----------
>  .../vte/{vte_0.72.2.bb => vte_0.74.0.bb}      | 27 +++++---------
>  2 files changed, 22 insertions(+), 40 deletions(-)
>  rename meta/recipes-support/vte/{vte_0.72.2.bb => vte_0.74.0.bb} (62%)
> 
> diff --git a/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
> index b4100fc381..8934d5f80a 100644
> --- a/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
> +++ b/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
> @@ -11,32 +11,25 @@ Upstream-Status: Submitted [1]
>  Signed-off-by: Andreas M�ller <schnitzeltony@gmail.com>
>  
>  [1] https://gitlab.gnome.org/GNOME/vte/issues/72
> -
>  ---
> - src/missing.hh | 4 ++++
> - src/widget.cc  | 1 +
> - 2 files changed, 5 insertions(+)
> + src/widget.cc  | 4 +++
> + 1 files changed, 4 insertions(+)
>  
> ---- a/src/missing.hh
> -+++ b/src/missing.hh
> -@@ -24,6 +24,10 @@
> - #define NSIG (8 * sizeof(sigset_t))
> - #endif
> +diff --git a/src/widget.cc b/src/widget.cc
> +index 07f7cabf..31a77f68 100644
> +--- a/src/widget.cc
> ++++ b/src/widget.cc
> +@@ -16,6 +16,10 @@
> +  * along with this library.  If not, see <https://www.gnu.org/licenses/>.
> +  */
>   
>  +#ifndef W_EXITCODE
>  +#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
>  +#endif
>  +
> - #ifndef HAVE_FDWALK
> - int fdwalk(int (*cb)(void* data, int fd),
> -            void* data);
> ---- a/src/widget.cc
> -+++ b/src/widget.cc
> -@@ -21,6 +21,7 @@
> - #include "widget.hh"
> - 
> - #include <sys/wait.h> // for W_EXITCODE
> -+#include "missing.hh" // for W_EXITCODE on non-glibc systems
> + #include "config.h"
>   
> - #include <exception>
> - #include <new>
> + #include "widget.hh"
> +-- 
> +2.42.0
> +
> diff --git a/meta/recipes-support/vte/vte_0.72.2.bb b/meta/recipes-support/vte/vte_0.74.0.bb
> similarity index 62%
> rename from meta/recipes-support/vte/vte_0.72.2.bb
> rename to meta/recipes-support/vte/vte_0.74.0.bb
> index 4249b75ac0..4d91636a33 100644
> --- a/meta/recipes-support/vte/vte_0.72.2.bb
> +++ b/meta/recipes-support/vte/vte_0.74.0.bb
> @@ -11,38 +11,29 @@ LIC_FILES_CHKSUM = " \
>      file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \
>  "
>  
> -DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native icu"
> +DEPENDS = "glib-2.0 glib-2.0-native gtk+3 gtk4 libpcre2 libxml2-native gperf-native icu"
>  
>  GNOMEBASEBUILDCLASS = "meson"
>  GIR_MESON_OPTION = 'gir'
>  GIDOCGEN_MESON_OPTION = "docs"
>  
> -inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection
> +inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection vala
>  
> -# vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
>  SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
> -SRC_URI[archive.sha256sum] = "f7966fd185a6981f53964162b71cfef7e606495155d6f5827b72aa0dd6741c9e"
> +SRC_URI[archive.sha256sum] = "9ae08f777952ba793221152d360550451580f42d3b570e3341ebb6841984c76b"
>  
>  ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
> +REQUIRED_DISTRO_FEATURES = "opengl"
>  
> -# Help g-ir-scanner find the .so for linking
> -do_compile:prepend() {
> -    export GIR_EXTRA_LIBS_PATH="${B}/src/.libs"
> -}
> +EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}"
> +EXTRA_OEMESON:append = " ${@bb.utils.contains('GI_DATA_ENABLED', 'False', '-Ddocs=false', '', d)}"
>  
> -# Package additional files
> -FILES:${PN}-dev += "${datadir}/vala/vapi/*"
> -
> -PACKAGECONFIG ??= "gnutls"
> -PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala"
> +PACKAGECONFIG ??= "gnutls ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
>  PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
>  PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd"
> -# vala requires gir
> -PACKAGECONFIG:remove:class-native = "vala"
> -
> -CFLAGS += "-D_GNU_SOURCE"
>  
>  PACKAGES =+ "libvte ${PN}-prompt"
> +FILES:${PN} +="${systemd_user_unitdir}"
>  FILES:libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
>  FILES:${PN}-prompt = " \
>      ${sysconfdir}/profile.d \
> @@ -50,5 +41,3 @@ FILES:${PN}-prompt = " \
>  "
>  
>  FILES:${PN}-dev += "${datadir}/glade/"
> -
> -BBCLASSEXTEND = "native nativesdk"
> -- 
> 2.42.0
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#187940): https://lists.openembedded.org/g/openembedded-core/message/187940
> Mute This Topic: https://lists.openembedded.org/mt/101484377/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Sept. 21, 2023, 2:46 p.m. UTC | #2
On Thu, 21 Sept 2023 at 16:42, Alexandre Belloni via
lists.openembedded.org
<alexandre.belloni=bootlin.com@lists.openembedded.org> wrote:
> https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/7816/steps/12/logs/stdio
>
> ERROR: Nothing PROVIDES 'vte' (but /home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb DEPENDS on or otherwise requires it)
> vte was skipped: missing required distro feature 'opengl' (not in DISTRO_FEATURES)
> NOTE: Runtime target 'matchbox-terminal' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['matchbox-terminal', 'vte']
> NOTE: Runtime target 'packagegroup-core-x11-base' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['packagegroup-core-x11-base', 'matchbox-terminal', 'vte']
> NOTE: Runtime target 'core-image-sato' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['core-image-sato', 'packagegroup-core-x11-base', 'matchbox-terminal', 'vte']
> NOTE: Runtime target 'packagegroup-core-x11-sato' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato', 'matchbox-terminal', 'vte']
> NOTE: Runtime target 'packagegroup-core-x11-sato-base' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-base', 'matchbox-terminal', 'vte']
> NOTE: Runtime target 'packagegroup-core-x11-sato-games' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-games', 'matchbox-terminal', 'vte']
> NOTE: Runtime target 'packagegroup-core-x11-sato-apps' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-apps', 'matchbox-terminal', 'vte']
> ERROR: Nothing RPROVIDES 'matchbox-terminal-dev' (but /home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb RDEPENDS on or otherwise requires it)

It seems the time has come to make the decision:
1. Enable opengl distro feature by default in oe-core (something I've
been pushing for for a while).
or
2. Drop sato images and replace them with non-graphical or basic x11
images in https://git.yoctoproject.org/yocto-autobuilder-helper/tree/config.json#n313
or
3. Something else?

Alex
Alexandre Belloni Sept. 21, 2023, 8:59 p.m. UTC | #3
BTW, I'd like you to test patches before sending because you claimed
this was tested with oe-core but this was definitively not. The fact
that we are at v6 and this still breaks builds so early is very
annoying.

On 21/09/2023 16:42:23+0200, Alexandre Belloni wrote:
> https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/7816/steps/12/logs/stdio
> 
> ERROR: Nothing PROVIDES 'vte' (but /home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb DEPENDS on or otherwise requires it)
> vte was skipped: missing required distro feature 'opengl' (not in DISTRO_FEATURES)
> NOTE: Runtime target 'matchbox-terminal' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['matchbox-terminal', 'vte']
> NOTE: Runtime target 'packagegroup-core-x11-base' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['packagegroup-core-x11-base', 'matchbox-terminal', 'vte']
> NOTE: Runtime target 'core-image-sato' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['core-image-sato', 'packagegroup-core-x11-base', 'matchbox-terminal', 'vte']
> NOTE: Runtime target 'packagegroup-core-x11-sato' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato', 'matchbox-terminal', 'vte']
> NOTE: Runtime target 'packagegroup-core-x11-sato-base' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-base', 'matchbox-terminal', 'vte']
> NOTE: Runtime target 'packagegroup-core-x11-sato-games' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-games', 'matchbox-terminal', 'vte']
> NOTE: Runtime target 'packagegroup-core-x11-sato-apps' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-apps', 'matchbox-terminal', 'vte']
> ERROR: Nothing RPROVIDES 'matchbox-terminal-dev' (but /home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb RDEPENDS on or otherwise requires it)
> 
> On 20/09/2023 20:15:18+0200, Markus Volk wrote:
> > Rework recipe
> > 
> > - remove legacy of the autotools buildsystem
> > - remove BBCLASSEXTEND
> > - build	vapi dependent on gi-data
> > - docs require gir, add	a EXTRA_OEMESON:append to avoid	fail in
> >   a combination	where docs=true	and gir=false
> > - gtk+3 and gtk4 are requested by default-> add gtk4 dependency
> > - install systemd support files	depending on DISTRO_FEATURE
> > - update 0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
> > 
> > Signed-off-by: Markus Volk <f_l_k@t-online.de>
> > ---
> >  ...EXITCODE-macro-for-non-glibc-systems.patch | 35 ++++++++-----------
> >  .../vte/{vte_0.72.2.bb => vte_0.74.0.bb}      | 27 +++++---------
> >  2 files changed, 22 insertions(+), 40 deletions(-)
> >  rename meta/recipes-support/vte/{vte_0.72.2.bb => vte_0.74.0.bb} (62%)
> > 
> > diff --git a/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
> > index b4100fc381..8934d5f80a 100644
> > --- a/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
> > +++ b/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
> > @@ -11,32 +11,25 @@ Upstream-Status: Submitted [1]
> >  Signed-off-by: Andreas M�ller <schnitzeltony@gmail.com>
> >  
> >  [1] https://gitlab.gnome.org/GNOME/vte/issues/72
> > -
> >  ---
> > - src/missing.hh | 4 ++++
> > - src/widget.cc  | 1 +
> > - 2 files changed, 5 insertions(+)
> > + src/widget.cc  | 4 +++
> > + 1 files changed, 4 insertions(+)
> >  
> > ---- a/src/missing.hh
> > -+++ b/src/missing.hh
> > -@@ -24,6 +24,10 @@
> > - #define NSIG (8 * sizeof(sigset_t))
> > - #endif
> > +diff --git a/src/widget.cc b/src/widget.cc
> > +index 07f7cabf..31a77f68 100644
> > +--- a/src/widget.cc
> > ++++ b/src/widget.cc
> > +@@ -16,6 +16,10 @@
> > +  * along with this library.  If not, see <https://www.gnu.org/licenses/>.
> > +  */
> >   
> >  +#ifndef W_EXITCODE
> >  +#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
> >  +#endif
> >  +
> > - #ifndef HAVE_FDWALK
> > - int fdwalk(int (*cb)(void* data, int fd),
> > -            void* data);
> > ---- a/src/widget.cc
> > -+++ b/src/widget.cc
> > -@@ -21,6 +21,7 @@
> > - #include "widget.hh"
> > - 
> > - #include <sys/wait.h> // for W_EXITCODE
> > -+#include "missing.hh" // for W_EXITCODE on non-glibc systems
> > + #include "config.h"
> >   
> > - #include <exception>
> > - #include <new>
> > + #include "widget.hh"
> > +-- 
> > +2.42.0
> > +
> > diff --git a/meta/recipes-support/vte/vte_0.72.2.bb b/meta/recipes-support/vte/vte_0.74.0.bb
> > similarity index 62%
> > rename from meta/recipes-support/vte/vte_0.72.2.bb
> > rename to meta/recipes-support/vte/vte_0.74.0.bb
> > index 4249b75ac0..4d91636a33 100644
> > --- a/meta/recipes-support/vte/vte_0.72.2.bb
> > +++ b/meta/recipes-support/vte/vte_0.74.0.bb
> > @@ -11,38 +11,29 @@ LIC_FILES_CHKSUM = " \
> >      file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \
> >  "
> >  
> > -DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native icu"
> > +DEPENDS = "glib-2.0 glib-2.0-native gtk+3 gtk4 libpcre2 libxml2-native gperf-native icu"
> >  
> >  GNOMEBASEBUILDCLASS = "meson"
> >  GIR_MESON_OPTION = 'gir'
> >  GIDOCGEN_MESON_OPTION = "docs"
> >  
> > -inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection
> > +inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection vala
> >  
> > -# vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
> >  SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
> > -SRC_URI[archive.sha256sum] = "f7966fd185a6981f53964162b71cfef7e606495155d6f5827b72aa0dd6741c9e"
> > +SRC_URI[archive.sha256sum] = "9ae08f777952ba793221152d360550451580f42d3b570e3341ebb6841984c76b"
> >  
> >  ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
> > +REQUIRED_DISTRO_FEATURES = "opengl"
> >  
> > -# Help g-ir-scanner find the .so for linking
> > -do_compile:prepend() {
> > -    export GIR_EXTRA_LIBS_PATH="${B}/src/.libs"
> > -}
> > +EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}"
> > +EXTRA_OEMESON:append = " ${@bb.utils.contains('GI_DATA_ENABLED', 'False', '-Ddocs=false', '', d)}"
> >  
> > -# Package additional files
> > -FILES:${PN}-dev += "${datadir}/vala/vapi/*"
> > -
> > -PACKAGECONFIG ??= "gnutls"
> > -PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala"
> > +PACKAGECONFIG ??= "gnutls ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
> >  PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
> >  PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd"
> > -# vala requires gir
> > -PACKAGECONFIG:remove:class-native = "vala"
> > -
> > -CFLAGS += "-D_GNU_SOURCE"
> >  
> >  PACKAGES =+ "libvte ${PN}-prompt"
> > +FILES:${PN} +="${systemd_user_unitdir}"
> >  FILES:libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
> >  FILES:${PN}-prompt = " \
> >      ${sysconfdir}/profile.d \
> > @@ -50,5 +41,3 @@ FILES:${PN}-prompt = " \
> >  "
> >  
> >  FILES:${PN}-dev += "${datadir}/glade/"
> > -
> > -BBCLASSEXTEND = "native nativesdk"
> > -- 
> > 2.42.0
> > 
> 
> > 
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#187940): https://lists.openembedded.org/g/openembedded-core/message/187940
> > Mute This Topic: https://lists.openembedded.org/mt/101484377/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
Alexandre Belloni Sept. 21, 2023, 9:04 p.m. UTC | #4
On 21/09/2023 16:46:49+0200, Alexander Kanavin wrote:
> On Thu, 21 Sept 2023 at 16:42, Alexandre Belloni via
> lists.openembedded.org
> <alexandre.belloni=bootlin.com@lists.openembedded.org> wrote:
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/7816/steps/12/logs/stdio
> >
> > ERROR: Nothing PROVIDES 'vte' (but /home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb DEPENDS on or otherwise requires it)
> > vte was skipped: missing required distro feature 'opengl' (not in DISTRO_FEATURES)
> > NOTE: Runtime target 'matchbox-terminal' is unbuildable, removing...
> > Missing or unbuildable dependency chain was: ['matchbox-terminal', 'vte']
> > NOTE: Runtime target 'packagegroup-core-x11-base' is unbuildable, removing...
> > Missing or unbuildable dependency chain was: ['packagegroup-core-x11-base', 'matchbox-terminal', 'vte']
> > NOTE: Runtime target 'core-image-sato' is unbuildable, removing...
> > Missing or unbuildable dependency chain was: ['core-image-sato', 'packagegroup-core-x11-base', 'matchbox-terminal', 'vte']
> > NOTE: Runtime target 'packagegroup-core-x11-sato' is unbuildable, removing...
> > Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato', 'matchbox-terminal', 'vte']
> > NOTE: Runtime target 'packagegroup-core-x11-sato-base' is unbuildable, removing...
> > Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-base', 'matchbox-terminal', 'vte']
> > NOTE: Runtime target 'packagegroup-core-x11-sato-games' is unbuildable, removing...
> > Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-games', 'matchbox-terminal', 'vte']
> > NOTE: Runtime target 'packagegroup-core-x11-sato-apps' is unbuildable, removing...
> > Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-apps', 'matchbox-terminal', 'vte']
> > ERROR: Nothing RPROVIDES 'matchbox-terminal-dev' (but /home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb RDEPENDS on or otherwise requires it)
> 
> It seems the time has come to make the decision:
> 1. Enable opengl distro feature by default in oe-core (something I've
> been pushing for for a while).

I'd prefer we don't do this because we are still supporting platforms
that don't have a GPU and this will reduce the amount of testing that is
done without opengl whereas we have many others targets that will
exercise opengl support.

> or
> 2. Drop sato images and replace them with non-graphical or basic x11
> images in https://git.yoctoproject.org/yocto-autobuilder-helper/tree/config.json#n313
> or
> 3. Something else?
> 
> Alex

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#188010): https://lists.openembedded.org/g/openembedded-core/message/188010
> Mute This Topic: https://lists.openembedded.org/mt/101484377/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Sept. 22, 2023, 5:18 a.m. UTC | #5
On Thu, 21 Sept 2023 at 22:59, Alexandre Belloni via
lists.openembedded.org
<alexandre.belloni=bootlin.com@lists.openembedded.org> wrote:
>
> BTW, I'd like you to test patches before sending because you claimed
> this was tested with oe-core but this was definitively not. The fact
> that we are at v6 and this still breaks builds so early is very
> annoying.

Was this claimed somewhere? I am not seeing it. The latest breakage is
on an esoteric configuration (oecore without poky, which has a
different set of default distro features), so I do not think it is
fair to expect submissions would be tested there upfront.

Testing on poky for a basic target is expected, and was done, but
things like 32 bit, musl, retro computing platforms like ppc or mips
are on the AB to run through. Otherwise submitters will just decide
it's not worth the trouble to contribute, and we're back to me doing
the bulk of the updates, which is the outcome I am not going to
appreciate.

Alex
Alexander Kanavin Sept. 22, 2023, 5:54 a.m. UTC | #6
I think for now we can actually fix this via enabling gtk4 in vte
subject to opengl in DISTRO_FEATURES. The options do exist:
https://github.com/GNOME/vte/blob/master/meson_options.txt#L74

I see it as something of a temporary compromise, but it won't require
changing the test matrix, until vte drops gtk3 support, or gtk3 goes
EOL, at which point there'll be the question of whether we want to
continue with sato altogether, or move everything to weston.

Alex

On Thu, 21 Sept 2023 at 23:04, Alexandre Belloni
<alexandre.belloni@bootlin.com> wrote:
>
> On 21/09/2023 16:46:49+0200, Alexander Kanavin wrote:
> > On Thu, 21 Sept 2023 at 16:42, Alexandre Belloni via
> > lists.openembedded.org
> > <alexandre.belloni=bootlin.com@lists.openembedded.org> wrote:
> > > https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/7816/steps/12/logs/stdio
> > >
> > > ERROR: Nothing PROVIDES 'vte' (but /home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb DEPENDS on or otherwise requires it)
> > > vte was skipped: missing required distro feature 'opengl' (not in DISTRO_FEATURES)
> > > NOTE: Runtime target 'matchbox-terminal' is unbuildable, removing...
> > > Missing or unbuildable dependency chain was: ['matchbox-terminal', 'vte']
> > > NOTE: Runtime target 'packagegroup-core-x11-base' is unbuildable, removing...
> > > Missing or unbuildable dependency chain was: ['packagegroup-core-x11-base', 'matchbox-terminal', 'vte']
> > > NOTE: Runtime target 'core-image-sato' is unbuildable, removing...
> > > Missing or unbuildable dependency chain was: ['core-image-sato', 'packagegroup-core-x11-base', 'matchbox-terminal', 'vte']
> > > NOTE: Runtime target 'packagegroup-core-x11-sato' is unbuildable, removing...
> > > Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato', 'matchbox-terminal', 'vte']
> > > NOTE: Runtime target 'packagegroup-core-x11-sato-base' is unbuildable, removing...
> > > Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-base', 'matchbox-terminal', 'vte']
> > > NOTE: Runtime target 'packagegroup-core-x11-sato-games' is unbuildable, removing...
> > > Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-games', 'matchbox-terminal', 'vte']
> > > NOTE: Runtime target 'packagegroup-core-x11-sato-apps' is unbuildable, removing...
> > > Missing or unbuildable dependency chain was: ['packagegroup-core-x11-sato-apps', 'matchbox-terminal', 'vte']
> > > ERROR: Nothing RPROVIDES 'matchbox-terminal-dev' (but /home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb RDEPENDS on or otherwise requires it)
> >
> > It seems the time has come to make the decision:
> > 1. Enable opengl distro feature by default in oe-core (something I've
> > been pushing for for a while).
>
> I'd prefer we don't do this because we are still supporting platforms
> that don't have a GPU and this will reduce the amount of testing that is
> done without opengl whereas we have many others targets that will
> exercise opengl support.
>
> > or
> > 2. Drop sato images and replace them with non-graphical or basic x11
> > images in https://git.yoctoproject.org/yocto-autobuilder-helper/tree/config.json#n313
> > or
> > 3. Something else?
> >
> > Alex
>
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#188010): https://lists.openembedded.org/g/openembedded-core/message/188010
> > Mute This Topic: https://lists.openembedded.org/mt/101484377/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
Alexandre Belloni Sept. 22, 2023, 6:42 a.m. UTC | #7
On 22/09/2023 07:18:07+0200, Alexander Kanavin wrote:
> On Thu, 21 Sept 2023 at 22:59, Alexandre Belloni via
> lists.openembedded.org
> <alexandre.belloni=bootlin.com@lists.openembedded.org> wrote:
> >
> > BTW, I'd like you to test patches before sending because you claimed
> > this was tested with oe-core but this was definitively not. The fact
> > that we are at v6 and this still breaks builds so early is very
> > annoying.
> 
> Was this claimed somewhere? I am not seeing it. The latest breakage is
> on an esoteric configuration (oecore without poky, which has a
> different set of default distro features), so I do not think it is
> fair to expect submissions would be tested there upfront.
> 

IT was on v3. nodistro is not an esoteric configuration. Honestly,
while poky is great for testing, this is an awful distro for an actual
product. Way to many features are enabled for most of the embedded
platforms.

> Testing on poky for a basic target is expected, and was done, but
> things like 32 bit, musl, retro computing platforms like ppc or mips
> are on the AB to run through. Otherwise submitters will just decide
> it's not worth the trouble to contribute, and we're back to me doing
> the bulk of the updates, which is the outcome I am not going to
> appreciate.

I agree and I don't expect anyone to test mips, ppc, musl or x32 on
their own but having a patch building fine with nodistro is a basic
test.
32bit is pretty much alive though as we have seen new 32bit SoCs getting
released this year. There were even ARMv5 SoCs released just last year.
Alexander Kanavin Sept. 22, 2023, 6:58 a.m. UTC | #8
On Fri, 22 Sept 2023 at 08:42, Alexandre Belloni
<alexandre.belloni@bootlin.com> wrote:
> IT was on v3. nodistro is not an esoteric configuration. Honestly,
> while poky is great for testing, this is an awful distro for an actual
> product. Way to many features are enabled for most of the embedded
> platforms.

Right. I think there was a misunderstanding there, and what was meant
is 'plain poky'.

> I agree and I don't expect anyone to test mips, ppc, musl or x32 on
> their own but having a patch building fine with nodistro is a basic
> test.
> 32bit is pretty much alive though as we have seen new 32bit SoCs getting
> released this year. There were even ARMv5 SoCs released just last year.

No. Absolutely not. I strongly disagree with this notion of imposing
arbitrary additional configurations that 'must' be tested before
submission, be it nodistro, 32 bit or something else that someone
thinks is important. The only expectation we should have is that the
submissions are tested on poky with its default configuration, which
is qemux86_64. Anything else should be exposed by the AB. Otherwise
the barrier to contributing becomes high enough that contributors will
give up and move to Debian. Or buildroot.

Alex
Markus Volk Sept. 22, 2023, 9:44 a.m. UTC | #9
On Thu, Sep 21 2023 at 10:59:44 PM +02:00:00, Alexandre Belloni 
<alexandre.belloni@bootlin.com> wrote:
> BTW, I'd like you to test patches before sending because you claimed
> this was tested with oe-core but this was definitively not. The fact
> that we are at v6 and this still breaks builds so early is very
> annoying.

Believe me, this is a bit annoying for me now too. I did some testing 
on that patch and also tried to solve the configuration problem in v1 
by setting gtk4=false. So in a way, we are also at v6 because changes 
were requested, which in turn bring changes and also raise the question 
of a fundamental decision. And yes, that was a misunderstanding. By 
oe-core I meant that I tested with 'oe-core only' layers and the 
default local.conf (with DISTRO=poky). I hope that I am not being 
accused of something else here.
diff mbox series

Patch

diff --git a/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
index b4100fc381..8934d5f80a 100644
--- a/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
+++ b/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
@@ -11,32 +11,25 @@  Upstream-Status: Submitted [1]
 Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
 
 [1] https://gitlab.gnome.org/GNOME/vte/issues/72
-
 ---
- src/missing.hh | 4 ++++
- src/widget.cc  | 1 +
- 2 files changed, 5 insertions(+)
+ src/widget.cc  | 4 +++
+ 1 files changed, 4 insertions(+)
 
---- a/src/missing.hh
-+++ b/src/missing.hh
-@@ -24,6 +24,10 @@
- #define NSIG (8 * sizeof(sigset_t))
- #endif
+diff --git a/src/widget.cc b/src/widget.cc
+index 07f7cabf..31a77f68 100644
+--- a/src/widget.cc
++++ b/src/widget.cc
+@@ -16,6 +16,10 @@
+  * along with this library.  If not, see <https://www.gnu.org/licenses/>.
+  */
  
 +#ifndef W_EXITCODE
 +#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
 +#endif
 +
- #ifndef HAVE_FDWALK
- int fdwalk(int (*cb)(void* data, int fd),
-            void* data);
---- a/src/widget.cc
-+++ b/src/widget.cc
-@@ -21,6 +21,7 @@
- #include "widget.hh"
- 
- #include <sys/wait.h> // for W_EXITCODE
-+#include "missing.hh" // for W_EXITCODE on non-glibc systems
+ #include "config.h"
  
- #include <exception>
- #include <new>
+ #include "widget.hh"
+-- 
+2.42.0
+
diff --git a/meta/recipes-support/vte/vte_0.72.2.bb b/meta/recipes-support/vte/vte_0.74.0.bb
similarity index 62%
rename from meta/recipes-support/vte/vte_0.72.2.bb
rename to meta/recipes-support/vte/vte_0.74.0.bb
index 4249b75ac0..4d91636a33 100644
--- a/meta/recipes-support/vte/vte_0.72.2.bb
+++ b/meta/recipes-support/vte/vte_0.74.0.bb
@@ -11,38 +11,29 @@  LIC_FILES_CHKSUM = " \
     file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \
 "
 
-DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native icu"
+DEPENDS = "glib-2.0 glib-2.0-native gtk+3 gtk4 libpcre2 libxml2-native gperf-native icu"
 
 GNOMEBASEBUILDCLASS = "meson"
 GIR_MESON_OPTION = 'gir'
 GIDOCGEN_MESON_OPTION = "docs"
 
-inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection
+inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection vala
 
-# vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
 SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
-SRC_URI[archive.sha256sum] = "f7966fd185a6981f53964162b71cfef7e606495155d6f5827b72aa0dd6741c9e"
+SRC_URI[archive.sha256sum] = "9ae08f777952ba793221152d360550451580f42d3b570e3341ebb6841984c76b"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "opengl"
 
-# Help g-ir-scanner find the .so for linking
-do_compile:prepend() {
-    export GIR_EXTRA_LIBS_PATH="${B}/src/.libs"
-}
+EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}"
+EXTRA_OEMESON:append = " ${@bb.utils.contains('GI_DATA_ENABLED', 'False', '-Ddocs=false', '', d)}"
 
-# Package additional files
-FILES:${PN}-dev += "${datadir}/vala/vapi/*"
-
-PACKAGECONFIG ??= "gnutls"
-PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala"
+PACKAGECONFIG ??= "gnutls ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
 PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
 PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd"
-# vala requires gir
-PACKAGECONFIG:remove:class-native = "vala"
-
-CFLAGS += "-D_GNU_SOURCE"
 
 PACKAGES =+ "libvte ${PN}-prompt"
+FILES:${PN} +="${systemd_user_unitdir}"
 FILES:libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
 FILES:${PN}-prompt = " \
     ${sysconfdir}/profile.d \
@@ -50,5 +41,3 @@  FILES:${PN}-prompt = " \
 "
 
 FILES:${PN}-dev += "${datadir}/glade/"
-
-BBCLASSEXTEND = "native nativesdk"