diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/base.bbclass | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index fd1308295e..af9da505cf 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass | |||
@@ -583,9 +583,20 @@ def oe_unpack_file(file, data, url = None): | |||
583 | if os.path.samefile(file, dest): | 583 | if os.path.samefile(file, dest): |
584 | return True | 584 | return True |
585 | 585 | ||
586 | # Change to subdir before executing command | ||
587 | save_cwd = os.getcwd(); | ||
588 | parm = bb.decodeurl(url)[5] | ||
589 | if 'subdir' in parm: | ||
590 | newdir = ("%s/%s" % (os.getcwd(), parm['subdir'])) | ||
591 | bb.mkdirhier(newdir) | ||
592 | os.chdir(newdir) | ||
593 | |||
586 | cmd = "PATH=\"%s\" %s" % (bb.data.getVar('PATH', data, 1), cmd) | 594 | cmd = "PATH=\"%s\" %s" % (bb.data.getVar('PATH', data, 1), cmd) |
587 | bb.note("Unpacking %s to %s/" % (file, os.getcwd())) | 595 | bb.note("Unpacking %s to %s/" % (file, os.getcwd())) |
588 | ret = os.system(cmd) | 596 | ret = os.system(cmd) |
597 | |||
598 | os.chdir(save_cwd) | ||
599 | |||
589 | return ret == 0 | 600 | return ret == 0 |
590 | 601 | ||
591 | addtask unpack after do_fetch | 602 | addtask unpack after do_fetch |