From 0d8873304c81713c413a4b552b04b63ffbecc923 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sat, 31 Jul 2021 15:54:05 +0200 Subject: community/linux-tools: fix sed-fu --- community/linux-tools/PKGBUILD | 116 +++++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 57 deletions(-) diff --git a/community/linux-tools/PKGBUILD b/community/linux-tools/PKGBUILD index 954128ec..acbe071a 100644 --- a/community/linux-tools/PKGBUILD +++ b/community/linux-tools/PKGBUILD @@ -1,58 +1,60 @@ # use our tarballer instead of cloning from git -#for ((i=0; i<${#source[@]}; i++)); do -# infos=$( -# printf '%s\n' "${source[${i}]}" | \ -# sed -n ' -# s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)\(?signed\)\?#\(\(tag\|commit\)=\S\+\)$@\3 \2 \4 \5 \6@ -# T -# p -# ' -# ) -# if [ -n "${infos}" ]; then -# source[${i}]=$( -# type="${infos%% *}" -# infos="${infos#* }" -# if [ -n "${infos%% *}" ]; then -# prefix="${infos%% *}" -# else -# prefix='' -# fi -# infos="${infos#* }" -# repo="${infos%% *}" -# repo64=$( -# printf '%s' "${repo}" | \ -# base64 -w0 | \ -# sed 's/=/%3D/g' -# ) -# infos="${infos#* }" -# if [ "${infos%% *}" = '?signed' ]; then -# key_check=$( -# printf '&valid_keys=' -# printf '%s,' "${validpgpkeys[@]}" | \ -# sed 's/,$//' -# ) -# else -# key_check='' -# fi -# infos="${infos#* }" -# if [ -z "${prefix}" ]; then -# prefix="${repo%.git}" -# prefix="${prefix##*/}" -# fi -# prefix_64=$( -# printf '%s/' "${prefix}" | \ -# base64 -w0 | \ -# sed 's/=/%3D/g' -# ) -# -# printf '%s-%s.tar.gz::https://archive-server.archlinux32.org/?t=%s&p=%s&r=%s%s&%s\n' \ -# "${prefix}" \ -# "${pkgver}" \ -# "${type}" \ -# "${prefix_64}" \ -# "${repo64}" \ -# "${key_check}" \ -# "${infos}" -# ) -# fi -#done +for ((i=0; i<${#source[@]}; i++)); do + infos=$( + printf '%s\n' "${source[${i}]}" | \ + sed ' + s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)\(?signed\)\?#\(\(tag\|commit\)=[^?]\+\)$@\3 \2 \4 \5 \6@ + t + s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)#\(\(tag\|commit\)=[^?]\+\)\(?signed\)\?$@\3 \2 \4 \7 \5@ + t + d + ' + ) + if [ -n "${infos}" ]; then + source[${i}]=$( + type="${infos%% *}" + infos="${infos#* }" + if [ -n "${infos%% *}" ]; then + prefix="${infos%% *}" + else + prefix='' + fi + infos="${infos#* }" + repo="${infos%% *}" + repo64=$( + printf '%s' "${repo}" | \ + base64 -w0 | \ + sed 's/=/%3D/g' + ) + infos="${infos#* }" + if [ "${infos%% *}" = '?signed' ]; then + key_check=$( + printf '&valid_keys=' + printf '%s,' "${validpgpkeys[@]}" | \ + sed 's/,$//' + ) + else + key_check='' + fi + infos="${infos#* }" + if [ -z "${prefix}" ]; then + prefix="${repo%.git}" + prefix="${prefix##*/}" + fi + prefix_64=$( + printf '%s/' "${prefix}" | \ + base64 -w0 | \ + sed 's/=/%3D/g' + ) + + printf '%s-%s.tar.gz::https://archive-server.archlinux32.org/?t=%s&p=%s&r=%s%s&%s\n' \ + "${prefix}" \ + "${pkgver}" \ + "${type}" \ + "${prefix_64}" \ + "${repo64}" \ + "${key_check}" \ + "${infos}" + ) + fi +done -- cgit v1.2.3