[OE-core] [PATCH 3/3] uninative: handle UNINATIVE_URL being file:///
Ross Burton
ross.burton at intel.com
Mon Jan 25 15:35:57 UTC 2016
If the local fetcher is used then files are not actually fetched into DL_DIR, so
check if this happened and if required add a symlink to the real file.
Signed-off-by: Ross Burton <ross.burton at intel.com>
---
meta/classes/uninative.bbclass | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass
index 3383e01..38c05df 100644
--- a/meta/classes/uninative.bbclass
+++ b/meta/classes/uninative.bbclass
@@ -16,11 +16,13 @@ python uninative_eventhandler() {
loader = e.data.getVar("UNINATIVE_LOADER", True)
tarball = d.getVar("UNINATIVE_TARBALL", True)
tarballdir = d.getVar("UNINATIVE_DLDIR", True)
+ tarballpath = os.path.join(tarballdir, tarball)
+
if not os.path.exists(loader):
import subprocess
olddir = os.getcwd()
- if not os.path.exists(os.path.join(tarballdir, tarball)):
+ if not os.path.exists(tarballpath):
# Copy the data object and override DL_DIR and SRC_URI
localdata = bb.data.createCopy(d)
@@ -32,13 +34,15 @@ python uninative_eventhandler() {
bb.fatal("Uninative selected but not configured correctly, please set UNINATIVE_CHECKSUM[%s]" % d.getVar("BUILD_ARCH", True))
srcuri = d.expand("${UNINATIVE_URL}${UNINATIVE_TARBALL};md5sum=%s" % chksum)
- dldir = localdata.expand(tarballdir)
- localdata.setVar('FILESPATH', dldir)
- localdata.setVar('DL_DIR', dldir)
+ localdata.setVar('FILESPATH', tarballdir)
+ localdata.setVar('DL_DIR', tarballdir)
bb.note("Fetching uninative binary shim from %s" % srcuri)
fetcher = bb.fetch2.Fetch([srcuri], localdata, cache=False)
try:
fetcher.download()
+ localpath = fetcher.localpath(srcuri)
+ if localpath != tarballpath and os.path.exists(localpath) and not os.path.exists(tarballpath):
+ os.symlink(localpath, tarballpath)
except Exception as exc:
bb.fatal("Unable to download uninative tarball: %s" % str(exc))
--
2.6.4
More information about the Openembedded-core
mailing list