Skip to contentSkip to conversation

support/download/dl-wrapper: fix passing remaining options to helper scripts

PATCH New Thomas Petazzoni 2 participants 3 messages Apr 11, 2018 – Apr 12, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 support/download/dl-wrapper: fix passing remaining options to helper scripts

When calling the backend-specific helper scripts, the remaining options are in ${@}. However, in order to let the helper script know that those remaining options should not be parsed, but instead passed as-is to the download tool, they must be separated from the main options by "--".

Without this, packages that use <pkg>_DL_OPTS, such as the amd-catalyst package, cannot download their tarball anymore.

Fixes:

http://autobuild.buildroot.net/results/de818f6e4c8e63d5e8a49c445d10c34eccc40410/

---
Note: please review carefully. I am not sure this is the right fix. Looking at the history of dl-wrapper, I don't see where this -- was passed before the recent rework, so I'm not sure my solution is correct.

---
 support/download/dl-wrapper | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
support/download/dl-wrapper +1 -1
index 38430738eb..3d2118a4ef 100755
@@ -129,7 +129,7 @@ main() {
                 -f "${filename}" \
                 -u "${uri}" \
                 -o "${tmpf}" \
-                ${quiet} ${recurse} "${@}"
+                ${quiet} ${recurse} -- "${@}"
         then
             # cd back to keep path coherence
             cd "${OLDPWD}"
Signature · 1 line
2.14.3
#1 lore raw

PATCH 1/1 support/download/dl-wrapper: fix passing remaining options to helper scripts

Thomas, All,

On 2018-04-11 09:31 +0200, Thomas Petazzoni spake thusly:

Quoted 6 lines

When calling the backend-specific helper scripts, the remaining options are in ${@}. However, in order to let the helper script know that those remaining options should not be parsed, but instead passed as-is to the download tool, they must be separated from the main options by "--".

Quoted 8 lines

Without this, packages that use <pkg>_DL_OPTS, such as the amd-catalyst package, cannot download their tarball anymore.

Fixes:

http://autobuild.buildroot.net/results/de818f6e4c8e63d5e8a49c445d10c34eccc40410/

Quoted 5 lines

---
Note: please review carefully. I am not sure this is the right fix. Looking at the history of dl-wrapper, I don't see where this -- was passed before the recent rework, so I'm not sure my solution is correct.

That's because we did not separate the basic option from the extra options.

That's because we relied on getopts to stop on the first non-option argument, and that's how we called our wget wrapper (basically):

    support/downlaod/wget ${TMP_OUT_FILE} ${URL} ${EXTRA_OPTS}

So, getopts in the wget backend would stop on ${TMP_OUT_FILE} arg, then shift 2, then pass the remaining args to the real wget tool.

But now, we pass every thing via option to the backen, like -u ${URL} etc... so we now need to pass '--' to separate our internal backend options from the real tools' extra options.

Regards,
Yann E. MORIN.

Quoted 20 lines
---
 support/download/dl-wrapper | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
support/download/dl-wrapper +1 -1
index 38430738eb..3d2118a4ef 100755
@@ -129,7 +129,7 @@ main() {
                 -f "${filename}" \
                 -u "${uri}" \
                 -o "${tmpf}" \
-                ${quiet} ${recurse} "${@}"
+                ${quiet} ${recurse} -- "${@}"
         then
             # cd back to keep path coherence
             cd "${OLDPWD}"
Signature · 1 line
2.14.3
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
author Applied
#2 lore raw

PATCH 1/1 support/download/dl-wrapper: fix passing remaining options to helper scripts

In reply to Thomas Petazzoni

Hello,

Quoted 14 lines · Thomas Petazzoni

When calling the backend-specific helper scripts, the remaining options are in ${@}. However, in order to let the helper script know that those remaining options should not be parsed, but instead passed as-is to the download tool, they must be separated from the main options by "--".

Without this, packages that use <pkg>_DL_OPTS, such as the amd-catalyst package, cannot download their tarball anymore.

Fixes:

http://autobuild.buildroot.net/results/de818f6e4c8e63d5e8a49c445d10c34eccc40410/

Quoted 8 lines

---
Note: please review carefully. I am not sure this is the right fix. Looking at the history of dl-wrapper, I don't see where this -- was passed before the recent rework, so I'm not sure my solution is correct.

---
 support/download/dl-wrapper | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com