From 166aa788c57b5f842f89787b7d22dc47bc746602 Mon Sep 17 00:00:00 2001 From: Thorsten Glaser Date: Sat, 3 May 2014 11:29:42 +0000 Subject: move calling update-patches into a separate mksh script update-patches2 handling quoting much better Signed-off-by: Thorsten Glaser --- mk/buildhlp.mk | 11 ++--------- scripts/update-patches2 | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 scripts/update-patches2 diff --git a/mk/buildhlp.mk b/mk/buildhlp.mk index 7421ff866..3262a25cb 100644 --- a/mk/buildhlp.mk +++ b/mk/buildhlp.mk @@ -105,14 +105,7 @@ endif mv $$i.bak $$i; \ fi;\ done - @toedit=$$(WRKDIST='${WRKDIST}' CURDIR=$$(pwd) \ - PATCH_LIST='patch-* *.patch' WRKDIR1='${WRKDIR}' \ - PATH='${HOST_PATH}' mksh ${TOPDIR}/scripts/update-patches); \ - if [[ -n $$toedit && $$toedit != FAIL ]]; then \ - echo -n 'edit patches: '; read i; \ - cd patches && $${VISUAL:-$${EDITOR:-vi}} $$toedit; \ - fi; \ - rm -rf ${WRKDIR}.orig; \ - [[ $$toedit != FAIL ]] + @WRKDIST='${WRKDIST}' WRKDIR1='${WRKDIR}' \ + PATH='${HOST_PATH}' mksh ${TOPDIR}/scripts/update-patches2 .PHONY: update-patches host-update-patches diff --git a/scripts/update-patches2 b/scripts/update-patches2 new file mode 100644 index 000000000..8f8711af7 --- /dev/null +++ b/scripts/update-patches2 @@ -0,0 +1,46 @@ +#!/usr/bin/env mksh +#- +# Copyright © 2014 +# Thorsten Glaser +# +# Provided that these terms and disclaimer and all copyright notices +# are retained or reproduced in an accompanying document, permission +# is granted to deal in this work without restriction, including un‐ +# limited rights to use, publicly perform, distribute, sell, modify, +# merge, give away, or sublicence. +# +# This work is provided “AS IS” and WITHOUT WARRANTY of any kind, to +# the utmost extent permitted by applicable law, neither express nor +# implied; without malicious intent or gross negligence. In no event +# may a licensor, author or contributor be held liable for indirect, +# direct, other damage, loss, or other issues arising in any way out +# of dealing in the work, even if advised of the possibility of such +# damage or existence of a defect, except proven that it results out +# of said person’s immediate fault when using the work as intended. + +PATCH_LIST='patch-* *.patch' +CURDIR=$PWD +export CURDIR PATCH_LIST + +mksh "${TOPDIR}"/scripts/update-patches |& +first=1 +set -A toedit +while IFS= read -p -r; do + if (( first )); then + if [[ $REPLY = FAIL ]]; then + rm -rf "${WRKDIR1}.orig" + exit 1 + fi + first=0 + fi + toedit+=("$REPLY") +done +if (( !first )); then + print -n 'edit patches: ' + read + cd patches + ${VISUAL:-${EDITOR:-vi}} "${toedit[@]}" + cd .. +fi +rm -rf "${WRKDIR1}.orig" +exit 0 -- cgit v1.2.3