From efa44d04137977f883db4a643b0f774e91514722 Mon Sep 17 00:00:00 2001 From: Marcin SmoczyƄski Date: Thu, 2 Apr 2015 14:24:51 +0200 Subject: fetch/git: Fix uri in git checkstatus Pass proper repository url without arguments after a semicolon. Executing checkuri on a rule with git repository in SRC_URI does not report errors when working offline because wrong repository url is passed to the ls-remote command. For example "bitbake -c checkuri glibc" command executes: "git -c core.fsyncobjectfiles=0 ls-remote git://sourceware.org/git/glibc.git;branch=release/2.21/master" command in a shell subprocess to determine if url is valid. Shell subprocess executes in fact 2 commands: "git -c core.fsyncobjectfiles=0 ls-remote git://sourceware.org/git/glibc.git" and "branch=release/2.21/master" First one returns 127 or 128 depending on error but second one returns 0 because it is just env variable setup. Therefore we're not catching connection error. [YOCTO #7558] Signed-off-by: Richard Purdie --- lib/bb/fetch2/git.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py index 2643cda78..45bdec055 100644 --- a/lib/bb/fetch2/git.py +++ b/lib/bb/fetch2/git.py @@ -399,9 +399,8 @@ class Git(FetchMethod): return ud.revisions[name] def checkstatus(self, ud, d): - fetchcmd = "%s ls-remote %s" % (ud.basecmd, ud.url) try: - runfetchcmd(fetchcmd, d, quiet=True) + self._lsremote(ud, d, "") return True except FetchError: return False -- cgit 1.2.3-korg