diff options
Diffstat (limited to 'meta/classes-global/sstate.bbclass')
-rw-r--r-- | meta/classes-global/sstate.bbclass | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass index 1d7b033b80..53bc2e3940 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass | |||
@@ -726,7 +726,6 @@ def pstaging_fetch(sstatefetch, d): | |||
726 | localdata = bb.data.createCopy(d) | 726 | localdata = bb.data.createCopy(d) |
727 | 727 | ||
728 | dldir = localdata.expand("${SSTATE_DIR}") | 728 | dldir = localdata.expand("${SSTATE_DIR}") |
729 | bb.utils.mkdirhier(dldir) | ||
730 | 729 | ||
731 | localdata.delVar('MIRRORS') | 730 | localdata.delVar('MIRRORS') |
732 | localdata.setVar('FILESPATH', dldir) | 731 | localdata.setVar('FILESPATH', dldir) |
@@ -746,16 +745,19 @@ def pstaging_fetch(sstatefetch, d): | |||
746 | if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG"), False): | 745 | if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG"), False): |
747 | uris += ['file://{0}.sig;downloadfilename={0}.sig'.format(sstatefetch)] | 746 | uris += ['file://{0}.sig;downloadfilename={0}.sig'.format(sstatefetch)] |
748 | 747 | ||
749 | for srcuri in uris: | 748 | with bb.utils.umask(bb.utils.to_filemode(d.getVar("OE_SHARED_UMASK"))): |
750 | localdata.delVar('SRC_URI') | 749 | bb.utils.mkdirhier(dldir) |
751 | localdata.setVar('SRC_URI', srcuri) | ||
752 | try: | ||
753 | fetcher = bb.fetch2.Fetch([srcuri], localdata, cache=False) | ||
754 | fetcher.checkstatus() | ||
755 | fetcher.download() | ||
756 | 750 | ||
757 | except bb.fetch2.BBFetchException: | 751 | for srcuri in uris: |
758 | pass | 752 | localdata.delVar('SRC_URI') |
753 | localdata.setVar('SRC_URI', srcuri) | ||
754 | try: | ||
755 | fetcher = bb.fetch2.Fetch([srcuri], localdata, cache=False) | ||
756 | fetcher.checkstatus() | ||
757 | fetcher.download() | ||
758 | |||
759 | except bb.fetch2.BBFetchException: | ||
760 | pass | ||
759 | 761 | ||
760 | def sstate_setscene(d): | 762 | def sstate_setscene(d): |
761 | shared_state = sstate_state_fromvars(d) | 763 | shared_state = sstate_state_fromvars(d) |
@@ -774,9 +776,10 @@ sstate_task_prefunc[dirs] = "${WORKDIR}" | |||
774 | python sstate_task_postfunc () { | 776 | python sstate_task_postfunc () { |
775 | shared_state = sstate_state_fromvars(d) | 777 | shared_state = sstate_state_fromvars(d) |
776 | 778 | ||
777 | omask = os.umask(0o002) | 779 | shared_umask = bb.utils.to_filemode(d.getVar("OE_SHARED_UMASK")) |
778 | if omask != 0o002: | 780 | omask = os.umask(shared_umask) |
779 | bb.note("Using umask 0o002 (not %0o) for sstate packaging" % omask) | 781 | if omask != shared_umask: |
782 | bb.note("Using umask %0o (not %0o) for sstate packaging" % (shared_umask, omask)) | ||
780 | sstate_package(shared_state, d) | 783 | sstate_package(shared_state, d) |
781 | os.umask(omask) | 784 | os.umask(omask) |
782 | 785 | ||
@@ -841,7 +844,8 @@ python sstate_create_and_sign_package () { | |||
841 | 844 | ||
842 | # Create the required sstate directory if it is not present. | 845 | # Create the required sstate directory if it is not present. |
843 | if not sstate_pkg.parent.is_dir(): | 846 | if not sstate_pkg.parent.is_dir(): |
844 | with bb.utils.umask(0o002): | 847 | shared_umask = bb.utils.to_filemode(d.getVar("OE_SHARED_UMASK")) |
848 | with bb.utils.umask(shared_umask): | ||
845 | bb.utils.mkdirhier(str(sstate_pkg.parent)) | 849 | bb.utils.mkdirhier(str(sstate_pkg.parent)) |
846 | 850 | ||
847 | if sign_pkg: | 851 | if sign_pkg: |