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 """ |
