* [PATCH 1/2] make, remake: make them properly exclude each other
@ 2016-03-23 12:52 Alexander Kanavin
2016-03-23 12:52 ` [PATCH 2/2] bitbake.conf: rename 'gobject-introspection-data' machine feature to 'qemu-usermode' Alexander Kanavin
2016-03-28 22:23 ` [PATCH 1/2] make, remake: make them properly exclude each other Richard Purdie
0 siblings, 2 replies; 3+ messages in thread
From: Alexander Kanavin @ 2016-03-23 12:52 UTC (permalink / raw)
To: openembedded-core
Remake and make can't be installed at the same time as they're both installing
a header file with the same name.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
---
meta/conf/distro/include/default-providers.inc | 3 ++-
meta/recipes-devtools/make/make.inc | 2 ++
meta/recipes-devtools/remake/remake_4.1+dbg-1.1.bb | 2 +-
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/meta/conf/distro/include/default-providers.inc b/meta/conf/distro/include/default-providers.inc
index ba85c78..5801b67 100644
--- a/meta/conf/distro/include/default-providers.inc
+++ b/meta/conf/distro/include/default-providers.inc
@@ -15,6 +15,8 @@ PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-utils-native"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11"
PREFERRED_PROVIDER_virtual/base-utils ?= "busybox"
PREFERRED_PROVIDER_xf86-video-intel ?= "xf86-video-intel"
+PREFERRED_PROVIDER_virtual/make ?= "make"
+PREFERRED_PROVIDER_virtual/make-native ?= "make-native"
#
# Default virtual runtime providers
@@ -43,7 +45,6 @@ PREFERRED_PROVIDER_opkg-native ?= "opkg-native"
PREFERRED_PROVIDER_nativesdk-opkg ?= "nativesdk-opkg"
PREFERRED_PROVIDER_console-tools ?= "kbd"
PREFERRED_PROVIDER_gzip-native ?= "pigz-native"
-PREFERRED_PROVIDER_make ?= "make"
PREFERRED_PROVIDER_udev ?= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','eudev',d)}"
# There are issues with runtime packages and PREFERRED_PROVIDER, see YOCTO #5044 for details
# on this rather strange entry.
diff --git a/meta/recipes-devtools/make/make.inc b/meta/recipes-devtools/make/make.inc
index 57ea605..849b742 100644
--- a/meta/recipes-devtools/make/make.inc
+++ b/meta/recipes-devtools/make/make.inc
@@ -8,3 +8,5 @@ SECTION = "devel"
SRC_URI = "${GNU_MIRROR}/make/make-${PV}.tar.bz2"
inherit autotools gettext pkgconfig texinfo
+
+PROVIDES = "virtual/make"
diff --git a/meta/recipes-devtools/remake/remake_4.1+dbg-1.1.bb b/meta/recipes-devtools/remake/remake_4.1+dbg-1.1.bb
index 30f29e0..8eab7e3 100644
--- a/meta/recipes-devtools/remake/remake_4.1+dbg-1.1.bb
+++ b/meta/recipes-devtools/remake/remake_4.1+dbg-1.1.bb
@@ -15,7 +15,7 @@ DEPENDS += "readline guile"
# By default only "gettext-minimal-native" is added
# when inherit gettext.
DEPENDS_class-native += "gettext-native"
-PROVIDES += "make"
+PROVIDES += "virtual/make"
do_configure_prepend() {
# remove the default LINGUAS since we are not going to generate languages
--
2.7.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] bitbake.conf: rename 'gobject-introspection-data' machine feature to 'qemu-usermode'
2016-03-23 12:52 [PATCH 1/2] make, remake: make them properly exclude each other Alexander Kanavin
@ 2016-03-23 12:52 ` Alexander Kanavin
2016-03-28 22:23 ` [PATCH 1/2] make, remake: make them properly exclude each other Richard Purdie
1 sibling, 0 replies; 3+ messages in thread
From: Alexander Kanavin @ 2016-03-23 12:52 UTC (permalink / raw)
To: openembedded-core
The new value is more general and better reflects what having the feature really means.
Introspection data, then, is built only if 'gobject-introspection-data' is in
DISTRO_FEATURES and 'qemu-usermode' is in MACHINE_FEATURES.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
---
meta/classes/gobject-introspection-data.bbclass | 9 +++++++++
meta/classes/gobject-introspection.bbclass | 8 ++++----
meta/conf/bitbake.conf | 2 +-
meta/conf/machine/include/x86/arch-x86.inc | 2 +-
.../gobject-introspection/gobject-introspection_1.46.0.bb | 4 ++--
meta/recipes-sato/webkit/webkitgtk_2.10.7.bb | 2 +-
6 files changed, 18 insertions(+), 9 deletions(-)
create mode 100644 meta/classes/gobject-introspection-data.bbclass
diff --git a/meta/classes/gobject-introspection-data.bbclass b/meta/classes/gobject-introspection-data.bbclass
new file mode 100644
index 0000000..b1bdd26
--- /dev/null
+++ b/meta/classes/gobject-introspection-data.bbclass
@@ -0,0 +1,9 @@
+# This variable is set to True if gobject-introspection-data is in
+# DISTRO_FEATURES and qemu-usermode is in MACHINE_FEATURES, and False otherwise.
+#
+# It should be used in recipes to determine whether introspection data should be built,
+# so that qemu use can be avoided when necessary.
+GI_DATA_ENABLED = "${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', \
+ bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}"
+
+
diff --git a/meta/classes/gobject-introspection.bbclass b/meta/classes/gobject-introspection.bbclass
index d8b8b3e..2d73e40 100644
--- a/meta/classes/gobject-introspection.bbclass
+++ b/meta/classes/gobject-introspection.bbclass
@@ -1,9 +1,9 @@
# Inherit this class in recipes to enable building their introspection files
-# This allows disabling introspection support (and therefore avoiding the use
-# of qemu) in recipes if gobject-introspection-data is omitted from
-# DISTRO_FEATURES or MACHINE_FEATURES.
-EXTRA_OECONF_prepend = "${@bb.utils.contains('COMBINED_FEATURES', 'gobject-introspection-data', '--enable-introspection', '--disable-introspection', d)} "
+# This sets up autoconf-based recipes to build introspection data (or not),
+# depending on distro and machine features (see gobject-introspection-data class).
+inherit gobject-introspection-data
+EXTRA_OECONF_prepend = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection', '--disable-introspection', d)} "
UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection"
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 7ed5ffb..752faa3 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -762,7 +762,7 @@ EXTRA_IMAGE_FEATURES ??= ""
IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-introspection-data"
-MACHINE_FEATURES_BACKFILL = "rtc gobject-introspection-data"
+MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
COMBINED_FEATURES = "${@oe.utils.set_intersect('DISTRO_FEATURES', 'MACHINE_FEATURES', d)}"
COMBINED_FEATURES[vardeps] += "DISTRO_FEATURES MACHINE_FEATURES"
diff --git a/meta/conf/machine/include/x86/arch-x86.inc b/meta/conf/machine/include/x86/arch-x86.inc
index ba7be8a..e51d595 100644
--- a/meta/conf/machine/include/x86/arch-x86.inc
+++ b/meta/conf/machine/include/x86/arch-x86.inc
@@ -25,7 +25,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', ' -mx32', '', d)}"
TUNE_LDARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-m elf32_x86_64', '', d)}"
TUNE_ASARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-x32', '', d)}"
# user mode qemu doesn't support x32
-MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'gobject-introspection-data', '', d)}"
+MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'qemu-usermode', '', d)}"
# ELF64 ABI
TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI"
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.46.0.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.46.0.bb
index b8b8823..9b16147 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.46.0.bb
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.46.0.bb
@@ -16,7 +16,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/1.46/${BPN}-${PV}.tar.xz \
SRC_URI[md5sum] = "adb40a31c7c80b65b0f4c8fd71b493dc"
SRC_URI[sha256sum] = "6658bd3c2b8813eb3e2511ee153238d09ace9d309e4574af27443d87423e4233"
-inherit autotools pkgconfig gtk-doc pythonnative qemu
+inherit autotools pkgconfig gtk-doc pythonnative qemu gobject-introspection-data
BBCLASSEXTEND = "native"
# necessary to let the call for python-config from configure.ac succeed
@@ -105,7 +105,7 @@ EOF
EXTRA_OECONF_class-target += "--enable-host-gi \
--enable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
--enable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
- ${@bb.utils.contains('COMBINED_FEATURES', 'gobject-introspection-data', '--enable-introspection-data', '--disable-introspection-data', d)} \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection-data', '--disable-introspection-data', d)} \
"
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb b/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb
index 849a33a..8eb6b9f 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb
@@ -54,7 +54,7 @@ PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
EXTRA_OECMAKE = " \
-DPORT=GTK \
-DCMAKE_BUILD_TYPE=Release \
- ${@bb.utils.contains('COMBINED_FEATURES', 'gobject-introspection-data', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
-DENABLE_GTKDOC=OFF \
-DENABLE_MINIBROWSER=ON \
"
--
2.7.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] make, remake: make them properly exclude each other
2016-03-23 12:52 [PATCH 1/2] make, remake: make them properly exclude each other Alexander Kanavin
2016-03-23 12:52 ` [PATCH 2/2] bitbake.conf: rename 'gobject-introspection-data' machine feature to 'qemu-usermode' Alexander Kanavin
@ 2016-03-28 22:23 ` Richard Purdie
1 sibling, 0 replies; 3+ messages in thread
From: Richard Purdie @ 2016-03-28 22:23 UTC (permalink / raw)
To: Alexander Kanavin, openembedded-core
On Wed, 2016-03-23 at 14:52 +0200, Alexander Kanavin wrote:
> Remake and make can't be installed at the same time as they're both
> installing
> a header file with the same name.
>
> Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
> ---
> meta/conf/distro/include/default-providers.inc | 3 ++-
> meta/recipes-devtools/make/make.inc | 2 ++
> meta/recipes-devtools/remake/remake_4.1+dbg-1.1.bb | 2 +-
> 3 files changed, 5 insertions(+), 2 deletions(-)
This change broke one of the selftests. In the interests of expedience,
I fixed it:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=f81065f5b2313fc4d9
67c0144b90838f33e6ff60
Cheers,
Richard
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-03-28 22:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-23 12:52 [PATCH 1/2] make, remake: make them properly exclude each other Alexander Kanavin
2016-03-23 12:52 ` [PATCH 2/2] bitbake.conf: rename 'gobject-introspection-data' machine feature to 'qemu-usermode' Alexander Kanavin
2016-03-28 22:23 ` [PATCH 1/2] make, remake: make them properly exclude each other Richard Purdie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.