From: Martin Jansa Date: Tue, 7 May 2013 16:39:20 +0000 (+0200) Subject: git: remove symling before updating mirror tarball X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3627b02f77c78beedadadd77c619b9e5edaae076;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git git: remove symling before updating mirror tarball * with read-only PREMIRROR (e.g. mounted over NFS or CIFS and referenced as file:///mnt/premirror) we cannot use BB_GENERATE_MIRROR_TARBALLS because all git2_abc.git.tar.gz files later became just symlinks to read-only location in PREMIRROR (it works fine on first build and for new components, because at that time there isn't tarball on PREMIRROR yet). ERROR: Fetcher failure: Fetch command failed with exit code 141, output: tar (child): /build/downloads/git2_abc.git.tar.gz: Cannot open: Read-only file system tar (child): Error is not recoverable: exiting now Signed-off-by: Martin Jansa Signed-off-by: Richard Purdie --- diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py index 052802e602d..6175e4c7c97 100644 --- a/lib/bb/fetch2/git.py +++ b/lib/bb/fetch2/git.py @@ -217,6 +217,10 @@ class Git(FetchMethod): def build_mirror_data(self, url, ud, d): # Generate a mirror tarball if needed if ud.write_tarballs and (ud.repochanged or not os.path.exists(ud.fullmirror)): + # it's possible that this symlink points to read-only filesystem with PREMIRROR + if os.path.islink(ud.fullmirror): + os.unlink(ud.fullmirror) + os.chdir(ud.clonedir) logger.info("Creating tarball of git repository") runfetchcmd("tar -czf %s %s" % (ud.fullmirror, os.path.join(".") ), d)