[oe] [meta-java][PATCH] java-library: make packages overriding PACKAGE_ARCH work again

Richard Leitner richard.leitner at skidata.com
Tue Dec 18 15:08:41 UTC 2018


Hi,
this is a note to let you know that I've just added this patch to the
master-next branch of the meta-java repository at
	git://git.yoctoproject.org/meta-java

As soon as it has gone through some more testing it will likely be
merged to the master branch.

If you have any questions, please let me know.

regards;Richard.L


On 17.11.18 10:57, André Draszik wrote:
> From: André Draszik <andre.draszik at jci.com>
> 
> Recent changes is OE have caused the traditional approach of inheriting
> allarch and setting PACKAGE_ARCH not work anymore. Once allarch is
> inherited, PACKAGE_ARCH can not be overridden afterwards.
> See commit a23c482cab4f ("allarch: only enable allarch when multilib
> is not used") d9ba0219b2f6 in poky.
>     http://git.openembedded.org/openembedded-core/commit/?id=a23c482cab4f874f4a6a6889716123569eb5ece9
> 
> The error manifests itself with configure trying to
>    --host=allarch-poky-linux --target=allarch-poky-linux
> which fails.
> 
> To work around this we can make java-library's allarch inherit
> conditional, as is done e.g. in OE-core for packagegroup.bbclass
>     http://git.openembedded.org/openembedded-core/commit/?id=9c826962ec8fa45c2b035427442b90a41517144e
>     http://git.openembedded.org/openembedded-core/commit/?id=2c9b1d304daade7b0907320aeb9c522e7ab9dcab
> 
> So this commit does exactly that, and fixes the two users of this to
> follow the new approach.
> 
> Signed-off-by: André Draszik <andre.draszik at jci.com>
> ---
>  classes/java-library.bbclass           | 8 ++++++--
>  recipes-core/libmatthew/libmatthew.inc | 2 +-
>  recipes-extended/rxtx/rxtx_2.2.0.bb    | 2 +-
>  3 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/classes/java-library.bbclass b/classes/java-library.bbclass
> index ce1cd28..e0159ba 100644
> --- a/classes/java-library.bbclass
> +++ b/classes/java-library.bbclass
> @@ -10,9 +10,13 @@
>  #
>  # package archs are set to all, if the recipe builds also packages which
>  # can not be used for all archs, then set the PACKAGE_ARCH of that package
> -# manually, see rxtx_xx.bb for an example.
> +# manually *before* inheriting the class, see rxtx_xx.bb for an example.
>  
> -inherit java allarch
> +inherit java
> +PACKAGE_ARCH ?= "all"
> +# Fully expanded - so it applies the overrides as well
> +PACKAGE_ARCH_EXPANDED := "${PACKAGE_ARCH}"
> +inherit ${@oe.utils.ifelse(d.getVar('PACKAGE_ARCH_EXPANDED') == 'all', 'allarch', '')}
>  
>  # use java_stage for native packages
>  JAVA_NATIVE_STAGE_INSTALL = "1"
> diff --git a/recipes-core/libmatthew/libmatthew.inc b/recipes-core/libmatthew/libmatthew.inc
> index 7db979b..2119c0b 100644
> --- a/recipes-core/libmatthew/libmatthew.inc
> +++ b/recipes-core/libmatthew/libmatthew.inc
> @@ -7,8 +7,8 @@ DEPENDS = "virtual/java-native classpath-native classpath"
>  
>  S = "${WORKDIR}/libmatthew-java-${PV}"
>  
> -inherit java-library
>  PACKAGE_ARCH = "${TUNE_PKGARCH}"
> +inherit java-library
>  
>  # Some internal version numbers which change from time to time.
>  # Allowing to override them makes this include file more
> diff --git a/recipes-extended/rxtx/rxtx_2.2.0.bb b/recipes-extended/rxtx/rxtx_2.2.0.bb
> index e54dad7..d4fbb9d 100644
> --- a/recipes-extended/rxtx/rxtx_2.2.0.bb
> +++ b/recipes-extended/rxtx/rxtx_2.2.0.bb
> @@ -28,8 +28,8 @@ S = "${WORKDIR}/rxtx-2.2pre2"
>  
>  INSANE_SKIP_${JPN} += "dev-so"
>  
> -inherit autotools-brokensep java-library remove-libtool
>  PACKAGE_ARCH = "${TUNE_PKGARCH}"
> +inherit autotools-brokensep java-library remove-libtool
>  
>  JARFILENAME = "RXTXcomm.jar"
>  EXTRA_OEMAKE += "RXTX_PATH=${D}${libdir_jni} \
> 


More information about the Openembedded-devel mailing list