@@ -25,7 +25,7 @@ main() {
local -a uris
# Parse our options; anything after '--' is for the backend
- while getopts ":c:d:D:o:n:N:H:rf:u:q" OPT; do
+ while getopts ":c:d:D:o:n:N:H:rf:u:qp:" OPT; do
case "${OPT}" in
c) cset="${OPTARG}";;
d) dl_dir="${OPTARG}";;
@@ -37,6 +37,7 @@ main() {
r) recurse="-r";;
f) filename="${OPTARG}";;
u) uris+=( "${OPTARG}" );;
+ p) post_process="${OPTARG}";;
q) quiet="-q";;
:) error "option '%s' expects a mandatory argument\n" "${OPTARG}";;
\?) error "unknown option '%s'\n" "${OPTARG}";;
@@ -135,6 +136,12 @@ main() {
continue
fi
+ if [ -n "${post_process}" ] ; then
+ ${OLDPWD}/support/download/${post_process}-post-process \
+ -o "${tmpf}" \
+ -n "${raw_base_name}"
+ fi
+
# cd back to free the temp-dir, so we can remove it later
cd "${OLDPWD}"
In order to support package managers such as Cargo (Rust) or Go, we want to run some custom logic after the main download, but before packing the tarball and checking the hash. To implement this, this commit introduces a concept of download post-processing: if -p <something> is passed to the dl-wrapper, then support/download/<something>-post-process will be called. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- support/download/dl-wrapper | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)