Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2] support/download/file: fix file:// protocol handling
Date: Tue, 8 May 2018 15:34:28 +0200	[thread overview]
Message-ID: <20180508133428.GO14524@scaer> (raw)
In-Reply-To: <1525786111-6206-1-git-send-email-angelo@amarulasolutions.com>

Angelo, All,

Thanks for the respin.

On 2018-05-08 15:28 +0200, Angelo Compagnucci spake thusly:
> When a file is used a source for download using the file:// protocol, a
> malformed url is passed to the file download script which then crashes.
> Following an example of a wrong path passed to the script:
> 
> eval cp -v ''\''file:///home/angelo/DEV/TOOLCHAINSarmv7-eabihf--glibc--bleeding-edge-2017.11-1.tar.bz2'\''' ''\''/home/angelo/DEV/BUILDROOT/br_qemu_arm/build/.armv7-eabihf--glibc--bleeding-edge-2017.11-1.tar.bz2.f403PT/output'\'''.
> 
> Path passed to cp lacks of a / between dir and file part of the url,
> moreover it presents a wrong file:// prefix.

Well, the misisng / is indeed incorrect.

However, the leading protocol is expected: the dl-wrapper calls all
backend scripts with the exact same set of options and semantics. It's
is then up to the backend scripts to interpret that as they see fit.

So, it is not "semantically wrong"; it *is* correct.

The bug lies in the fact that the 'file' backend did not strip out the
protocol part when calling the actual tool; we missed that during the
download overhaul.

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> Fixes:
> 
> cp: cannot stat
> 'file:///home/angelo/DEV/TOOLCHAINSarmv7-eabihf--glibc--bleeding-edge-2017.11-1.tar.bz2':
> No such file or directory
> 
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
>  support/download/file | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/support/download/file b/support/download/file
> index fefd6d2..6dd37b0 100755
> --- a/support/download/file
> +++ b/support/download/file
> @@ -40,4 +40,4 @@ _localfiles() {
>      eval ${LOCALFILES} "${@}"
>  }
>  
> -_localfiles ${verbose} "'${dir}${file}'" "'${output}'"
> +_localfiles ${verbose} "'${dir##file://}/${file}'" "'${output}'"
> -- 
> 2.7.4
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2018-05-08 13:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-08 13:28 [Buildroot] [PATCH v2] support/download/file: fix file:// protocol handling Angelo Compagnucci
2018-05-08 13:34 ` Yann E. MORIN [this message]
2018-05-08 13:40   ` Angelo Compagnucci
2018-05-13 20:26 ` Thomas Petazzoni

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=20180508133428.GO14524@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox