All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][sumo][PATCH] protobuf: make python-protobuf dependency optional and default to off
@ 2018-09-26  5:35 Paul Eggleton
  2018-09-26  6:30 ` Nicolas Dechesne
  0 siblings, 1 reply; 2+ messages in thread
From: Paul Eggleton @ 2018-09-26  5:35 UTC (permalink / raw)
  To: openembedded-devel

A dependency on python-protobuf was added in commit
5f6fcfd36272768a3ff9078c07c572cf5dc01ccd for the sole purpose of
providing a ptest, however python-protobuf is in meta-python and thus
this means that meta-oe would depend on meta-python by default (assuming
your distro enables ptest by default), and we don't want that - meta-oe
isn't supposed to depend upon any layer other than openembedded-core.
Luckily we can still have a ptest even without the python support, so
add a PACKAGECONFIG and leave it disabled by default.

Note: the PACKAGECONFIG here is not particularly useful since it's only
about what goes into the -ptest package and thus also the dependency. I
contemplated just using LANG_SUPPORT instead, but PACKAGECONFIG does
have the advantage that it's introspectable and fairly well understood
so in the end I went with it.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb
index 1ffb79da7..073dfaef0 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb
+++ b/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb
@@ -12,7 +12,7 @@ DEPENDS = "zlib"
 DEPENDS_append_class-target  = " protobuf-native"
 RDEPENDS_${PN}-compiler = "${PN}"
 RDEPENDS_${PN}-dev += "${PN}-compiler"
-RDEPENDS_${PN}-ptest = "bash python-protobuf"
+RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=35953c752efc9299b184f91bef540095"
 
@@ -24,13 +24,16 @@ SRC_URI = "git://github.com/google/protobuf.git;branch=3.5.x \
 	   file://run-ptest \
           "
 
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[python] = ",,"
+
 EXTRA_OECONF += " --with-protoc=echo"
 
 inherit autotools-brokensep pkgconfig ptest
 
 S = "${WORKDIR}/git"
 TEST_SRC_DIR="examples"
-LANG_SUPPORT="cpp python"
+LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
 
 do_compile_ptest() {
 	# Modify makefile to use the cross-compiler
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [meta-oe][sumo][PATCH] protobuf: make python-protobuf dependency optional and default to off
  2018-09-26  5:35 [meta-oe][sumo][PATCH] protobuf: make python-protobuf dependency optional and default to off Paul Eggleton
@ 2018-09-26  6:30 ` Nicolas Dechesne
  0 siblings, 0 replies; 2+ messages in thread
From: Nicolas Dechesne @ 2018-09-26  6:30 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembedded-devel

On Wed, Sep 26, 2018 at 7:36 AM Paul Eggleton
<paul.eggleton@linux.intel.com> wrote:
>
> A dependency on python-protobuf was added in commit
> 5f6fcfd36272768a3ff9078c07c572cf5dc01ccd for the sole purpose of
> providing a ptest, however python-protobuf is in meta-python and thus
> this means that meta-oe would depend on meta-python by default (assuming
> your distro enables ptest by default), and we don't want that - meta-oe
> isn't supposed to depend upon any layer other than openembedded-core.
> Luckily we can still have a ptest even without the python support, so
> add a PACKAGECONFIG and leave it disabled by default.
>
> Note: the PACKAGECONFIG here is not particularly useful since it's only
> about what goes into the -ptest package and thus also the dependency. I
> contemplated just using LANG_SUPPORT instead, but PACKAGECONFIG does
> have the advantage that it's introspectable and fairly well understood
> so in the end I went with it.
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>

thanks Paul! With this patch applied and after cherry-picking
251878e8b6b9 (grpc: move it from oe to networking layer) from master,
then yocto-check-layer reports that meta-oe is passing the compliance.
I will send the backport for grpc shortly.


> ---
>  meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb
> index 1ffb79da7..073dfaef0 100644
> --- a/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb
> +++ b/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb
> @@ -12,7 +12,7 @@ DEPENDS = "zlib"
>  DEPENDS_append_class-target  = " protobuf-native"
>  RDEPENDS_${PN}-compiler = "${PN}"
>  RDEPENDS_${PN}-dev += "${PN}-compiler"
> -RDEPENDS_${PN}-ptest = "bash python-protobuf"
> +RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}"
>
>  LIC_FILES_CHKSUM = "file://LICENSE;md5=35953c752efc9299b184f91bef540095"
>
> @@ -24,13 +24,16 @@ SRC_URI = "git://github.com/google/protobuf.git;branch=3.5.x \
>            file://run-ptest \
>            "
>
> +PACKAGECONFIG ??= ""
> +PACKAGECONFIG[python] = ",,"
> +
>  EXTRA_OECONF += " --with-protoc=echo"
>
>  inherit autotools-brokensep pkgconfig ptest
>
>  S = "${WORKDIR}/git"
>  TEST_SRC_DIR="examples"
> -LANG_SUPPORT="cpp python"
> +LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
>
>  do_compile_ptest() {
>         # Modify makefile to use the cross-compiler
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-09-26  6:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-26  5:35 [meta-oe][sumo][PATCH] protobuf: make python-protobuf dependency optional and default to off Paul Eggleton
2018-09-26  6:30 ` Nicolas Dechesne

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.