[OE-core] [PATCH 2/3] lsof: Make it compatible with externalsrc

Peter Kjellerstedt peter.kjellerstedt at axis.com
Mon Sep 24 19:03:12 UTC 2018


Make the unpack task do nothing if externalsrc is in use. This avoids
the following error after having done `devtool modify lsof`:

ERROR: lsof-4.91-r0 do_unpack: Unpack failure for URL:
'file://.../builds/qemux86-64/tmp/work/core2-64-poky-linux/lsof/4.91-r0/lsof_4.91/lsof_4.91_src.tar'.
Unpack command PATH="..." tar x --no-same-owner -f
.../builds/qemux86-64/tmp/work/core2-64-poky-linux/lsof/4.91-r0/lsof_4.91/lsof_4.91_src.tar
failed with return value 2

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
---
 meta/recipes-extended/lsof/lsof_4.91.bb | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/meta/recipes-extended/lsof/lsof_4.91.bb b/meta/recipes-extended/lsof/lsof_4.91.bb
index 0128de4a6e..b3adfd57af 100644
--- a/meta/recipes-extended/lsof/lsof_4.91.bb
+++ b/meta/recipes-extended/lsof/lsof_4.91.bb
@@ -23,18 +23,17 @@ LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar"
 S = "${WORKDIR}/lsof_${PV}_src"
 
 python do_unpack () {
-    # temporarily change S for unpack
-    # of lsof_${PV}
-    s = d.getVar('S', False)
-    d.setVar('S', '${WORKDIR}/lsof_${PV}')
-    bb.build.exec_func('base_do_unpack', d)
-    # temporarily change SRC_URI for unpack
-    # of lsof_${PV}_src
-    src_uri = d.getVar('SRC_URI', False)
-    d.setVar('SRC_URI', '${LOCALSRC}')
-    d.setVar('S', s)
-    bb.build.exec_func('base_do_unpack', d)
-    d.setVar('SRC_URI', src_uri)
+    if not bb.data.inherits_class('externalsrc', d) or not d.getVar('EXTERNALSRC'):
+        # temporarily change S for unpack of lsof_${PV}
+        s = d.getVar('S', False)
+        d.setVar('S', '${WORKDIR}/lsof_${PV}')
+        bb.build.exec_func('base_do_unpack', d)
+        # temporarily change SRC_URI for unpack of lsof_${PV}_src
+        src_uri = d.getVar('SRC_URI', False)
+        d.setVar('SRC_URI', '${LOCALSRC}')
+        d.setVar('S', s)
+        bb.build.exec_func('base_do_unpack', d)
+        d.setVar('SRC_URI', src_uri)
 }
 
 export LSOF_INCLUDE = "${STAGING_INCDIR}"
-- 
2.12.0




More information about the Openembedded-core mailing list