summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorCharlie Davies <charles.davies@whitetree.xyz>2023-02-07 05:09:53 -1000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-02-13 07:48:16 +0000
commita99017d705b08f95763aebe94b44045164dc90b2 (patch)
tree237b1ff8b1f103e59c349fd8f6b171662f919905 /bitbake
parent88cf58e2f50646b882dd2f46ba128191412a9637 (diff)
downloadpoky-a99017d705b08f95763aebe94b44045164dc90b2.tar.gz
bitbake: bitbake: fetch/git: use shlex.quote() to support spaces in SRC_URI url
This commit replaces the instances where escaped double quotes are used to support SRC_URI url containing spaces with the more pythonic shlex.quote(). (Bitbake rev: ecc1dac4ad8c8593810c69a25d674b0e0bed6097) Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 4f9ba9c794de55bea0343267467bddea99844374) 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.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
index 63a9f92b0a..2868aa5d53 100644
--- a/bitbake/lib/bb/fetch2/git.py
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -63,6 +63,7 @@ import errno
63import fnmatch 63import fnmatch
64import os 64import os
65import re 65import re
66import shlex
66import subprocess 67import subprocess
67import tempfile 68import tempfile
68import bb 69import bb
@@ -352,7 +353,7 @@ class Git(FetchMethod):
352 # We do this since git will use a "-l" option automatically for local urls where possible 353 # We do this since git will use a "-l" option automatically for local urls where possible
353 if repourl.startswith("file://"): 354 if repourl.startswith("file://"):
354 repourl = repourl[7:] 355 repourl = repourl[7:]
355 clone_cmd = "LANG=C %s clone --bare --mirror \"%s\" %s --progress" % (ud.basecmd, repourl, ud.clonedir) 356 clone_cmd = "LANG=C %s clone --bare --mirror %s %s --progress" % (ud.basecmd, shlex.quote(repourl), ud.clonedir)
356 if ud.proto.lower() != 'file': 357 if ud.proto.lower() != 'file':
357 bb.fetch2.check_network_access(d, clone_cmd, ud.url) 358 bb.fetch2.check_network_access(d, clone_cmd, ud.url)
358 progresshandler = GitProgressHandler(d) 359 progresshandler = GitProgressHandler(d)
@@ -364,8 +365,8 @@ class Git(FetchMethod):
364 if "origin" in output: 365 if "origin" in output:
365 runfetchcmd("%s remote rm origin" % ud.basecmd, d, workdir=ud.clonedir) 366 runfetchcmd("%s remote rm origin" % ud.basecmd, d, workdir=ud.clonedir)
366 367
367 runfetchcmd("%s remote add --mirror=fetch origin \"%s\"" % (ud.basecmd, repourl), d, workdir=ud.clonedir) 368 runfetchcmd("%s remote add --mirror=fetch origin %s" % (ud.basecmd, shlex.quote(repourl)), d, workdir=ud.clonedir)
368 fetch_cmd = "LANG=C %s fetch -f --progress \"%s\" refs/*:refs/*" % (ud.basecmd, repourl) 369 fetch_cmd = "LANG=C %s fetch -f --progress %s refs/*:refs/*" % (ud.basecmd, shlex.quote(repourl))
369 if ud.proto.lower() != 'file': 370 if ud.proto.lower() != 'file':
370 bb.fetch2.check_network_access(d, fetch_cmd, ud.url) 371 bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
371 progresshandler = GitProgressHandler(d) 372 progresshandler = GitProgressHandler(d)
@@ -559,7 +560,7 @@ class Git(FetchMethod):
559 raise bb.fetch2.UnpackError("No up to date source found: " + "; ".join(source_error), ud.url) 560 raise bb.fetch2.UnpackError("No up to date source found: " + "; ".join(source_error), ud.url)
560 561
561 repourl = self._get_repo_url(ud) 562 repourl = self._get_repo_url(ud)
562 runfetchcmd("%s remote set-url origin \"%s\"" % (ud.basecmd, repourl), d, workdir=destdir) 563 runfetchcmd("%s remote set-url origin %s" % (ud.basecmd, shlex.quote(repourl)), d, workdir=destdir)
563 564
564 if self._contains_lfs(ud, d, destdir): 565 if self._contains_lfs(ud, d, destdir):
565 if need_lfs and not self._find_git_lfs(d): 566 if need_lfs and not self._find_git_lfs(d):
@@ -687,8 +688,8 @@ class Git(FetchMethod):
687 d.setVar('_BB_GIT_IN_LSREMOTE', '1') 688 d.setVar('_BB_GIT_IN_LSREMOTE', '1')
688 try: 689 try:
689 repourl = self._get_repo_url(ud) 690 repourl = self._get_repo_url(ud)
690 cmd = "%s ls-remote \"%s\" %s" % \ 691 cmd = "%s ls-remote %s %s" % \
691 (ud.basecmd, repourl, search) 692 (ud.basecmd, shlex.quote(repourl), search)
692 if ud.proto.lower() != 'file': 693 if ud.proto.lower() != 'file':
693 bb.fetch2.check_network_access(d, cmd, repourl) 694 bb.fetch2.check_network_access(d, cmd, repourl)
694 output = runfetchcmd(cmd, d, True) 695 output = runfetchcmd(cmd, d, True)