Openembedded Core Discussions
 help / color / mirror / Atom feed
* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox