[oe] [meta-java][PATCH] java-library.bbclass: compatibility with per-recipe sysroots
S. Lockwood-Childs
sjl at vctlabs.com
Wed Jul 12 08:36:34 UTC 2017
The removebinaries task was intended to remove pre-built .jar and .class files
from the unpacked source, but when per-recipe sysroots were implemented and
ended up under WORKDIR, .jar or .class in those sysroots inadvertently started
getting killed as well.
For instance, ${WORKDIR}/recipe-sysroot-native/usr/share/java/ecj-bootstrap.jar
was deleted when attempting to build jlex-native... which made javac in
that sysroot rather unhappy.
Solve by excluding both recipe-sysroot and recipe-sysroot-native dirs
from the search-and-destroy operation.
Signed-off-by: S. Lockwood-Childs <sjl at vctlabs.com>
---
classes/java-library.bbclass | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/classes/java-library.bbclass b/classes/java-library.bbclass
index 58d5a40..ce1cd28 100644
--- a/classes/java-library.bbclass
+++ b/classes/java-library.bbclass
@@ -50,8 +50,10 @@ ALTJARFILENAMES = "${BPN}.jar"
# Java "source" distributions often contain precompiled things
# we want to delete first.
do_removebinaries() {
- find ${WORKDIR} -name "*.jar" -exec rm {} \;
- find ${WORKDIR} -name "*.class" -exec rm {} \;
+ find ${WORKDIR} ! -path "${RECIPE_SYSROOT}/*" ! -path "${RECIPE_SYSROOT_NATIVE}/*" \
+ -name "*.jar" -exec rm {} \;
+ find ${WORKDIR} ! -path "${RECIPE_SYSROOT}/*" ! -path "${RECIPE_SYSROOT_NATIVE}/*" \
+ -name "*.class" -exec rm {} \;
}
addtask removebinaries after do_unpack before do_patch
--
1.9.4
More information about the Openembedded-devel
mailing list