[OE-core] [PATCH 1/1] sstate.bbclass: Don't create symlinks, download to the correct location

Randy Witt randy.e.witt at linux.intel.com
Mon May 23 21:57:00 UTC 2016


Previously the sstate was all downloaded to the same directory and then
symlinks were added in the directories that pointed to the siginfo and
sstate in the parent directory.

This change makes it so that now the files are just downloaded to the
correct location without the need for symlinks.

Signed-off-by: Randy Witt <randy.e.witt at linux.intel.com>
---
 meta/classes/sstate.bbclass | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 22ce1ee..6d5411f 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -623,10 +623,10 @@ def pstaging_fetch(sstatefetch, sstatepkg, d):
 
     # Try a fetch from the sstate mirror, if it fails just return and
     # we will build the package
-    uris = ['file://{0}'.format(sstatefetch),
-            'file://{0}.siginfo'.format(sstatefetch)]
+    uris = ['file://{0};downloadfilename={1}'.format(sstatefetch, sstatefetch),
+            'file://{0}.siginfo;downloadfilename={1}.siginfo'.format(sstatefetch, sstatefetch)]
     if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG", True), False):
-        uris += ['file://{0}.sig'.format(sstatefetch)]
+        uris += ['file://{0}.sig;downloadfilename={1}.sig'.format(sstatefetch, sstatefetch)]
 
     for srcuri in uris:
         localdata.setVar('SRC_URI', srcuri)
@@ -634,12 +634,6 @@ def pstaging_fetch(sstatefetch, sstatepkg, d):
             fetcher = bb.fetch2.Fetch([srcuri], localdata, cache=False)
             fetcher.download()
 
-            # Need to optimise this, if using file:// urls, the fetcher just changes the local path
-            # For now work around by symlinking
-            localpath = bb.data.expand(fetcher.localpath(srcuri), localdata)
-            if localpath != sstatepkg and os.path.exists(localpath) and not os.path.exists(sstatepkg):
-                os.symlink(localpath, sstatepkg)
-
         except bb.fetch2.BBFetchException:
             break
 
-- 
2.5.5




More information about the Openembedded-core mailing list