From: Martin Jansa <martin.jansa@gmail.com>
To: bitbake-devel@lists.openembedded.org
Subject: Re: [PATCHv3] git: remove symling before updating mirror tarball
Date: Tue, 7 May 2013 23:51:08 +0200 [thread overview]
Message-ID: <20130507215108.GA3188@jama> (raw)
In-Reply-To: <1367944760-16756-1-git-send-email-Martin.Jansa@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2988 bytes --]
On Tue, May 07, 2013 at 06:39:20PM +0200, Martin Jansa wrote:
> * 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
This one is tested and I would like to get it also in 1.16 and 1.18
Steps to reproduce the issue (without redownloading anything big)
# mv downloads downloads-ro
# mkdir downloads
# mkdir tmp-eglibc/downloads
# sudo mount -o ro,bind downloads-ro tmp-eglibc/downloads
# sudo mount -o remount,ro tmp-eglibc/downloads
conf/local.conf:
SOURCE_MIRROR_URL = "file:///OE/oe-core/tmp-eglibc/downloads"
INHERIT += "own-mirrors"
# bitbake -c fetch qtbase
# ls -lah downloads/git2_qt.gitorious.org.qt.qtbase.git.tar.gz
should be a symlink
bump SRCREV in qtbase_git.bb to some revision not included in
git2_qt.gitorious.org.qt.qtbase.git.tar.gz
# bitbake -c fetch qtbase
WARNING: Failed to fetch URL git://qt.gitorious.org/qt/qtbase.git;branch=stable, attempting MIRRORS if available
DEBUG: Fetcher failure: Fetch command failed with exit code 141, output:
tar (child): /OE/oe-core/downloads/git2_qt.gitorious.org.qt.qtbase.git.tar.gz: Cannot open: Read-only file system
tar (child): Error is not recoverable: exiting now
apply this patch
# bitbake -c fetch qtbase
works fine
# ls -lah downloads/git2_qt.gitorious.org.qt.qtbase.git.tar.gz
-rw-r--r-- 1 bitbake bitbake 176M May 7 23:41 downloads/git2_qt.gitorious.org.qt.qtbase.git.tar.gz
is now proper file instead of symlink
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
> lib/bb/fetch2/git.py | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py
> index 052802e..6175e4c 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)
> --
> 1.8.2.1
>
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
next prev parent reply other threads:[~2013-05-07 22:09 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-30 10:52 [RFC] git: add BB_FETCH_PREMIRROR_READONLY option Martin Jansa
2013-04-30 12:57 ` Paul Eggleton
2013-04-30 14:46 ` Martin Jansa
2013-05-03 15:58 ` [PATCHv2] git: remove symling before updating mirror tarball Martin Jansa
2013-05-07 16:39 ` [PATCHv3] " Martin Jansa
2013-05-07 21:51 ` Martin Jansa [this message]
2013-05-07 22:10 ` Martin Jansa
2013-05-10 9:35 ` Martin Jansa
2013-05-10 12:32 ` Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130507215108.GA3188@jama \
--to=martin.jansa@gmail.com \
--cc=bitbake-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.