normalize_dtb() turns DTS and DTB paths into values that can be used as
make targets. These make targets sometimes contain some directory components
so 'basename' is not suitable for turning the paths into make targets -
we should only strip off leading directory components of the path up to
and including the 'dts' directory (if it exists). For example:
* 'overlays/at86rf233.dtbo' should not be changed.
* 'some/directory/path/dts/overlays/at86rf233.dtbo' should be changed to
  'overlays/at86rf233.dtbo' rather than just 'at86rf233.dtbo'

Signed-off-by: Jonathan Haigh <[email protected]>
---
 meta/classes/kernel-devicetree.bbclass | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/classes/kernel-devicetree.bbclass 
b/meta/classes/kernel-devicetree.bbclass
index 9866d84..0ffa8e9 100644
--- a/meta/classes/kernel-devicetree.bbclass
+++ b/meta/classes/kernel-devicetree.bbclass
@@ -12,9 +12,10 @@ KERNEL_DEVICETREE_BUNDLE ?= "0"
 normalize_dtb () {
         DTB="$1"
         if echo ${DTB} | grep -q '/dts/'; then
-               bbwarn "${DTB} contains the full path to the the dts file, but 
only the dtb name should be used."
+               bbwarn "${DTB} contains the full path to the the dts file, but 
the path should be relative to the dts directory."
+               DTB=`echo "${DTB}" | sed 's,^.*/dts/,,'`
         fi
-       DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'`
+       DTB=`echo "${DTB}" | sed 's,\.dts$,.dtb,g'`
         echo "${DTB}"
 }

--
2.7.4


IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to