diff options
Diffstat (limited to 'bitbake/lib/bb/fetch2/cvs.py')
| -rw-r--r-- | bitbake/lib/bb/fetch2/cvs.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/bitbake/lib/bb/fetch2/cvs.py b/bitbake/lib/bb/fetch2/cvs.py index 43a234f590..5ff70ba921 100644 --- a/bitbake/lib/bb/fetch2/cvs.py +++ b/bitbake/lib/bb/fetch2/cvs.py | |||
| @@ -123,22 +123,23 @@ class Cvs(FetchMethod): | |||
| 123 | pkg = d.getVar('PN', True) | 123 | pkg = d.getVar('PN', True) |
| 124 | pkgdir = os.path.join(d.getVar('CVSDIR', True), pkg) | 124 | pkgdir = os.path.join(d.getVar('CVSDIR', True), pkg) |
| 125 | moddir = os.path.join(pkgdir, localdir) | 125 | moddir = os.path.join(pkgdir, localdir) |
| 126 | workdir = None | ||
| 126 | if os.access(os.path.join(moddir, 'CVS'), os.R_OK): | 127 | if os.access(os.path.join(moddir, 'CVS'), os.R_OK): |
| 127 | logger.info("Update " + ud.url) | 128 | logger.info("Update " + ud.url) |
| 128 | bb.fetch2.check_network_access(d, cvsupdatecmd, ud.url) | 129 | bb.fetch2.check_network_access(d, cvsupdatecmd, ud.url) |
| 129 | # update sources there | 130 | # update sources there |
| 130 | os.chdir(moddir) | 131 | workdir = moddir |
| 131 | cmd = cvsupdatecmd | 132 | cmd = cvsupdatecmd |
| 132 | else: | 133 | else: |
| 133 | logger.info("Fetch " + ud.url) | 134 | logger.info("Fetch " + ud.url) |
| 134 | # check out sources there | 135 | # check out sources there |
| 135 | bb.utils.mkdirhier(pkgdir) | 136 | bb.utils.mkdirhier(pkgdir) |
| 136 | os.chdir(pkgdir) | 137 | workdir = pkgdir |
| 137 | logger.debug(1, "Running %s", cvscmd) | 138 | logger.debug(1, "Running %s", cvscmd) |
| 138 | bb.fetch2.check_network_access(d, cvscmd, ud.url) | 139 | bb.fetch2.check_network_access(d, cvscmd, ud.url) |
| 139 | cmd = cvscmd | 140 | cmd = cvscmd |
| 140 | 141 | ||
| 141 | runfetchcmd(cmd, d, cleanup = [moddir]) | 142 | runfetchcmd(cmd, d, cleanup=[moddir], workdir=workdir) |
| 142 | 143 | ||
| 143 | if not os.access(moddir, os.R_OK): | 144 | if not os.access(moddir, os.R_OK): |
| 144 | raise FetchError("Directory %s was not readable despite sucessful fetch?!" % moddir, ud.url) | 145 | raise FetchError("Directory %s was not readable despite sucessful fetch?!" % moddir, ud.url) |
| @@ -150,15 +151,15 @@ class Cvs(FetchMethod): | |||
| 150 | tar_flags = "--exclude='CVS'" | 151 | tar_flags = "--exclude='CVS'" |
| 151 | 152 | ||
| 152 | # tar them up to a defined filename | 153 | # tar them up to a defined filename |
| 154 | workdir = None | ||
| 153 | if 'fullpath' in ud.parm: | 155 | if 'fullpath' in ud.parm: |
| 154 | os.chdir(pkgdir) | 156 | workdir = pkgdir |
| 155 | cmd = "tar %s -czf %s %s" % (tar_flags, ud.localpath, localdir) | 157 | cmd = "tar %s -czf %s %s" % (tar_flags, ud.localpath, localdir) |
| 156 | else: | 158 | else: |
| 157 | os.chdir(moddir) | 159 | workdir = os.path.dirname(os.path.realpath(moddir)) |
| 158 | os.chdir('..') | ||
| 159 | cmd = "tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(moddir)) | 160 | cmd = "tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(moddir)) |
| 160 | 161 | ||
| 161 | runfetchcmd(cmd, d, cleanup = [ud.localpath]) | 162 | runfetchcmd(cmd, d, cleanup=[ud.localpath], workdir=workdir) |
| 162 | 163 | ||
| 163 | def clean(self, ud, d): | 164 | def clean(self, ud, d): |
| 164 | """ Clean CVS Files and tarballs """ | 165 | """ Clean CVS Files and tarballs """ |
