summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-10-22 03:59:15 -1000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-10-23 17:47:38 +0100
commit9c007cb1e35f4744682f9f00fe15ceb18fbf7ffc (patch)
treecb39d84c32a974b0e0dc053d074aa5aff8b67c39 /bitbake
parent9827758ebe3c0b6b4f06dedc814b810629b184e3 (diff)
downloadpoky-9c007cb1e35f4744682f9f00fe15ceb18fbf7ffc.tar.gz
bitbake: fetch2/git: Use os.rename instead of mv
os.rename will overwrite the destination file if present so we can use this instead of the process call overhead. (Bitbake rev: c5b8a2fce98c362ea77d74a8bc472d01b739a98a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit b3cccaa6a896c41d8c9be5eebc327f726542d16b) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/fetch2/git.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
index 81335c117e..000aee190d 100644
--- a/bitbake/lib/bb/fetch2/git.py
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -412,14 +412,14 @@ class Git(FetchMethod):
412 412
413 # Create as a temp file and move atomically into position to avoid races 413 # Create as a temp file and move atomically into position to avoid races
414 @contextmanager 414 @contextmanager
415 def create_atomic(filename, d): 415 def create_atomic(filename):
416 fd, tfile = tempfile.mkstemp(dir=os.path.dirname(filename)) 416 fd, tfile = tempfile.mkstemp(dir=os.path.dirname(filename))
417 try: 417 try:
418 yield tfile 418 yield tfile
419 umask = os.umask(0o666) 419 umask = os.umask(0o666)
420 os.umask(umask) 420 os.umask(umask)
421 os.chmod(tfile, (0o666 & ~umask)) 421 os.chmod(tfile, (0o666 & ~umask))
422 runfetchcmd("mv %s %s" % (tfile, filename), d) 422 os.rename(tfile, filename)
423 finally: 423 finally:
424 os.close(fd) 424 os.close(fd)
425 425
@@ -433,7 +433,7 @@ class Git(FetchMethod):
433 self.clone_shallow_local(ud, shallowclone, d) 433 self.clone_shallow_local(ud, shallowclone, d)
434 434
435 logger.info("Creating tarball of git repository") 435 logger.info("Creating tarball of git repository")
436 with create_atomic(ud.fullshallow, d) as tfile: 436 with create_atomic(ud.fullshallow) as tfile:
437 runfetchcmd("tar -czf %s ." % tfile, d, workdir=shallowclone) 437 runfetchcmd("tar -czf %s ." % tfile, d, workdir=shallowclone)
438 runfetchcmd("touch %s.done" % ud.fullshallow, d) 438 runfetchcmd("touch %s.done" % ud.fullshallow, d)
439 finally: 439 finally:
@@ -443,7 +443,7 @@ class Git(FetchMethod):
443 os.unlink(ud.fullmirror) 443 os.unlink(ud.fullmirror)
444 444
445 logger.info("Creating tarball of git repository") 445 logger.info("Creating tarball of git repository")
446 with create_atomic(ud.fullmirror, d) as tfile: 446 with create_atomic(ud.fullmirror) as tfile:
447 runfetchcmd("tar -czf %s ." % tfile, d, workdir=ud.clonedir) 447 runfetchcmd("tar -czf %s ." % tfile, d, workdir=ud.clonedir)
448 runfetchcmd("touch %s.done" % ud.fullmirror, d) 448 runfetchcmd("touch %s.done" % ud.fullmirror, d)
449 449