support/download/post-process-helpers: add helper function for post process scripts

download post process scripts will often need to unpack the source
code tarball, do some operation, and then repack it. In order to help
with this, post-process-helpers provide an unpack() function and a
repack() function.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Thomas Petazzoni 2022-01-06 21:59:51 +01:00 committed by Yann E. MORIN
parent 2da7b07a22
commit 0f42d06ecf

View File

@ -72,5 +72,27 @@ mk_tar_gz() {
popd >/dev/null
}
post_process_unpack() {
local dest="${1}"
local tarball="${2}"
local one_file
mkdir "${dest}"
tar -C "${dest}" --strip-components=1 -xf "${tarball}"
one_file="$(find "${dest}" -type f -print0 |LC_ALL=C sort -z |head -z -n1 |tr -d "\0")"
touch -r "${one_file}" "${dest}.timestamp"
}
post_process_repack() {
local in_dir="${1}"
local base_dir="${2}"
local out="${3}"
local date
date="@$(stat -c '%Y' "${in_dir}/${base_dir}.timestamp")"
mk_tar_gz "${in_dir}/${base_dir}" "${base_dir}" "${date}" "${out}"
}
# Keep this line and the following as last lines in this file.
# vim: ft=bash