diff options
author | Matt Madison <matt@madison.systems> | 2016-08-10 10:08:16 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-08-20 16:08:59 +0100 |
commit | ab09541d5517da9b1a23923ea8f5c26ddf745084 (patch) | |
tree | b0b81a809ec783b7481c012b430b9f6618e87a73 /bitbake/lib/bb/fetch2/bzr.py | |
parent | eefb4b66c8628fbf366ebc5c23cfe013c8fa3756 (diff) | |
download | poky-ab09541d5517da9b1a23923ea8f5c26ddf745084.tar.gz |
bitbake: fetch2: preserve current working directory
Fix the methods in all fetchers so they don't change
the current working directory of the calling process, which
could lead to "changed cwd" warnings from bitbake.
(Bitbake rev: 6aa78bf3bd1f75728209e2d01faef31cb8887333)
Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/fetch2/bzr.py')
-rw-r--r-- | bitbake/lib/bb/fetch2/bzr.py | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/bitbake/lib/bb/fetch2/bzr.py b/bitbake/lib/bb/fetch2/bzr.py index ce11ee7c20..72264afb5a 100644 --- a/bitbake/lib/bb/fetch2/bzr.py +++ b/bitbake/lib/bb/fetch2/bzr.py | |||
@@ -88,19 +88,15 @@ class Bzr(FetchMethod): | |||
88 | bzrcmd = self._buildbzrcommand(ud, d, "update") | 88 | bzrcmd = self._buildbzrcommand(ud, d, "update") |
89 | logger.debug(1, "BZR Update %s", ud.url) | 89 | logger.debug(1, "BZR Update %s", ud.url) |
90 | bb.fetch2.check_network_access(d, bzrcmd, ud.url) | 90 | bb.fetch2.check_network_access(d, bzrcmd, ud.url) |
91 | os.chdir(os.path.join (ud.pkgdir, os.path.basename(ud.path))) | 91 | runfetchcmd(bzrcmd, d, workdir=os.path.join(ud.pkgdir, os.path.basename(ud.path))) |
92 | runfetchcmd(bzrcmd, d) | ||
93 | else: | 92 | else: |
94 | bb.utils.remove(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)), True) | 93 | bb.utils.remove(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)), True) |
95 | bzrcmd = self._buildbzrcommand(ud, d, "fetch") | 94 | bzrcmd = self._buildbzrcommand(ud, d, "fetch") |
96 | bb.fetch2.check_network_access(d, bzrcmd, ud.url) | 95 | bb.fetch2.check_network_access(d, bzrcmd, ud.url) |
97 | logger.debug(1, "BZR Checkout %s", ud.url) | 96 | logger.debug(1, "BZR Checkout %s", ud.url) |
98 | bb.utils.mkdirhier(ud.pkgdir) | 97 | bb.utils.mkdirhier(ud.pkgdir) |
99 | os.chdir(ud.pkgdir) | ||
100 | logger.debug(1, "Running %s", bzrcmd) | 98 | logger.debug(1, "Running %s", bzrcmd) |
101 | runfetchcmd(bzrcmd, d) | 99 | runfetchcmd(bzrcmd, d, workdir=ud.pkgdir) |
102 | |||
103 | os.chdir(ud.pkgdir) | ||
104 | 100 | ||
105 | scmdata = ud.parm.get("scmdata", "") | 101 | scmdata = ud.parm.get("scmdata", "") |
106 | if scmdata == "keep": | 102 | if scmdata == "keep": |
@@ -109,7 +105,8 @@ class Bzr(FetchMethod): | |||
109 | tar_flags = "--exclude='.bzr' --exclude='.bzrtags'" | 105 | tar_flags = "--exclude='.bzr' --exclude='.bzrtags'" |
110 | 106 | ||
111 | # tar them up to a defined filename | 107 | # tar them up to a defined filename |
112 | runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(ud.pkgdir)), d, cleanup = [ud.localpath]) | 108 | runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(ud.pkgdir)), |
109 | d, cleanup=[ud.localpath], workdir=ud.pkgdir) | ||
113 | 110 | ||
114 | def supports_srcrev(self): | 111 | def supports_srcrev(self): |
115 | return True | 112 | return True |