diff options
Diffstat (limited to 'bitbake/lib/bb/fetch2/svn.py')
-rw-r--r-- | bitbake/lib/bb/fetch2/svn.py | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/bitbake/lib/bb/fetch2/svn.py b/bitbake/lib/bb/fetch2/svn.py index 968ca79b30..9ff94108ed 100644 --- a/bitbake/lib/bb/fetch2/svn.py +++ b/bitbake/lib/bb/fetch2/svn.py | |||
@@ -126,25 +126,22 @@ class Svn(FetchMethod): | |||
126 | if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK): | 126 | if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK): |
127 | svnupdatecmd = self._buildsvncommand(ud, d, "update") | 127 | svnupdatecmd = self._buildsvncommand(ud, d, "update") |
128 | logger.info("Update " + ud.url) | 128 | logger.info("Update " + ud.url) |
129 | # update sources there | ||
130 | os.chdir(ud.moddir) | ||
131 | # We need to attempt to run svn upgrade first in case its an older working format | 129 | # We need to attempt to run svn upgrade first in case its an older working format |
132 | try: | 130 | try: |
133 | runfetchcmd(ud.basecmd + " upgrade", d) | 131 | runfetchcmd(ud.basecmd + " upgrade", d, workdir=ud.moddir) |
134 | except FetchError: | 132 | except FetchError: |
135 | pass | 133 | pass |
136 | logger.debug(1, "Running %s", svnupdatecmd) | 134 | logger.debug(1, "Running %s", svnupdatecmd) |
137 | bb.fetch2.check_network_access(d, svnupdatecmd, ud.url) | 135 | bb.fetch2.check_network_access(d, svnupdatecmd, ud.url) |
138 | runfetchcmd(svnupdatecmd, d) | 136 | runfetchcmd(svnupdatecmd, d, workdir=ud.moddir) |
139 | else: | 137 | else: |
140 | svnfetchcmd = self._buildsvncommand(ud, d, "fetch") | 138 | svnfetchcmd = self._buildsvncommand(ud, d, "fetch") |
141 | logger.info("Fetch " + ud.url) | 139 | logger.info("Fetch " + ud.url) |
142 | # check out sources there | 140 | # check out sources there |
143 | bb.utils.mkdirhier(ud.pkgdir) | 141 | bb.utils.mkdirhier(ud.pkgdir) |
144 | os.chdir(ud.pkgdir) | ||
145 | logger.debug(1, "Running %s", svnfetchcmd) | 142 | logger.debug(1, "Running %s", svnfetchcmd) |
146 | bb.fetch2.check_network_access(d, svnfetchcmd, ud.url) | 143 | bb.fetch2.check_network_access(d, svnfetchcmd, ud.url) |
147 | runfetchcmd(svnfetchcmd, d) | 144 | runfetchcmd(svnfetchcmd, d, ud.pkgdir) |
148 | 145 | ||
149 | scmdata = ud.parm.get("scmdata", "") | 146 | scmdata = ud.parm.get("scmdata", "") |
150 | if scmdata == "keep": | 147 | if scmdata == "keep": |
@@ -152,9 +149,9 @@ class Svn(FetchMethod): | |||
152 | else: | 149 | else: |
153 | tar_flags = "--exclude='.svn'" | 150 | tar_flags = "--exclude='.svn'" |
154 | 151 | ||
155 | os.chdir(ud.pkgdir) | ||
156 | # tar them up to a defined filename | 152 | # tar them up to a defined filename |
157 | runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.path_spec), d, cleanup = [ud.localpath]) | 153 | runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.path_spec), d, |
154 | cleanup=[ud.localpath], workdir=ud.pkgdir) | ||
158 | 155 | ||
159 | def clean(self, ud, d): | 156 | def clean(self, ud, d): |
160 | """ Clean SVN specific files and dirs """ | 157 | """ Clean SVN specific files and dirs """ |