lsof: Make it compatible with externalsrc

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

(From OE-Core rev: 51f9a0e58d7b996c4589566963a5853ed93814f7)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter Kjellerstedt
2018-09-24 21:03:12 +02:00
committed by Richard Purdie
parent c7bd5c98dd
commit d4f4f56628

View File

@@ -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}"