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