networkmanager: only enable the vala bindings if gobject introspection is enabled#954
networkmanager: only enable the vala bindings if gobject introspection is enabled#954afenkart wants to merge 2 commits into
Conversation
The workaround introduced in commit 63db9c0 is no longer needed. Typelib files are now correctly located solely within STAGING_LIBDIR_NATIVE, aligning with the intended build configuration. Removing the workaround avoids the following error during build: cp: cannot stat '.../GObject*typelib': No such file or directory Signed-off: Andreas Fenkart <afenkart@gmail.com>
|
I get this error when building it with yoe distro |
|
full error log - https://errors.yoctoproject.org/Errors/Details/851357/ |
9e203ef to
992d095
Compare
|
My apologies, I had to make a full rebuild to see the error. After testing, I've determined that GI_DATA_ENABLED is not set during the inheritance evaluation. I also tried with inherit_defer and added some debug output in bitbake: Its output demonstrates that the variable has not yet been resolved. I would have to add a python __anonymous section to add it Which is more verbose and complex than necessary. Within poky/meta/classes-recipe/gobject-introspection-data.bbclass, the default for GI_DATA_ENABLED is set As DISTRO_FEATURES testing is already used for systemd, selinux, and other features. I've replaced the failing test with a DISTRO_FEATURES check against gobject-introspection-data. While this only partially covers GI_DATA_ENABLED and ignores overrides of that variable, it is closer to the current vala-always-enabled default behavior. |
992d095 to
8455b3d
Compare
|
A copy-paste error required a second push. I've restarted my full build. No need to trigger any automated builds yet. |
8455b3d to
5c2179e
Compare
still fails to configure full logs are below |
5c2179e to
a5dccb9
Compare
when opting out from the DISTRO_FEATURE gobject-introspection-date, the
build fails with error:
../NetworkManager-1.50.0/meson.build:849:4: ERROR: Assert failed: vala api require GObject introspection. Use -Dvapi=false to disable it
The gobject-introspection-data feature, while ultimately added to
DISTRO_FEATURES via DISTRO_FEATURE_BACKFILL, isn't available during the
vala.bbclass inheritance check. This also excludes derived variables
e.g. GI_DATA_ENABLED.
To properly disable a DISTRO_FEATURE_BACKFILL feature, it must be
included in DISTRO_FEATURE_BACKFILL_CONSIDERED, a variable that is
available during the parsing phase.
Similar situations have been resolved in:
[openembedded-core:31daea70b18b2b2266bf94063b655aaf142a6166]
librsvg: Only enable the Vala bindings if GObject Introspection is enabled
PACKAGECONFIG:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vala', '', d)}"
-- and --
[meta-openembedded:d89fc6ffbdf8f947643def51b804052bb5e7ac97
libpeas: add recipe for 2.0.5
PACKAGECONFIG ?= "python3 gjs lua51 ${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection', 'vala', '', d)}"
Signed-off: Andreas Fenkart <afenkart@gmail.com>
a5dccb9 to
7ee4b8d
Compare
|
Would you mind triggering another build? |
looks good in latest runs, its staged in master-next branch now. |
|
applied to master at e81fefb |
Tested in a minimal environment, see below
with one of the the following options, or with none enabled:
in local.conf:
GI_DATA_ENABLED = "False"
DISTRO_FEATURES:remove = " gobject-introspection-data"
networkmanager-%.bbappend
GI_DATA_ENABLED = "False"