From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756295AbbE3Pj5 (ORCPT ); Sat, 30 May 2015 11:39:57 -0400 Received: from mail.kapsi.fi ([217.30.184.167]:57019 "EHLO mail.kapsi.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755867AbbE3Pjw (ORCPT ); Sat, 30 May 2015 11:39:52 -0400 From: Mikko Rapeli To: linux-kernel@vger.kernel.org Cc: Mikko Rapeli , Michal Marek , Javier Barrio , Andrew Morton Subject: [PATCH 01/98] headers_install.sh: enhance error handling Date: Sat, 30 May 2015 17:37:53 +0200 Message-Id: <1433000370-19509-2-git-send-email-mikko.rapeli@iki.fi> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1433000370-19509-1-git-send-email-mikko.rapeli@iki.fi> References: <1433000370-19509-1-git-send-email-mikko.rapeli@iki.fi> X-SA-Exim-Connect-IP: 2a02:8070:d18d:d800:7c0d:5e59:fd9c:b615 X-SA-Exim-Mail-From: mikko.rapeli@iki.fi X-SA-Exim-Scanned: No (on mail.kapsi.fi); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Exit with error if using undefined variables or if any sub command fails with error return value. unidef needs special handling since but this can be done without the trap. Enables exaniming intermediate files if some commands failed. Signed-off-by: Mikko Rapeli --- scripts/headers_install.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/scripts/headers_install.sh b/scripts/headers_install.sh index fdebd66..fe22807 100755 --- a/scripts/headers_install.sh +++ b/scripts/headers_install.sh @@ -1,4 +1,6 @@ #!/bin/sh +set -e +set -u if [ $# -lt 2 ] then @@ -26,7 +28,6 @@ shift # Iterate through files listed on command line FILE= -trap 'rm -f "$OUTDIR/$FILE" "$OUTDIR/$FILE.sed"' EXIT for i in "$@" do FILE="$(basename "$i")" @@ -37,10 +38,13 @@ do -e 's/(^|[^a-zA-Z0-9])__packed([^a-zA-Z0-9_]|$)/\1__attribute__((packed))\2/g' \ -e 's/(^|[ \t(])(inline|asm|volatile)([ \t(]|$)/\1__\2__\3/g' \ -e 's@#(ifndef|define|endif[ \t]*/[*])[ \t]*_UAPI@#\1 @' \ - "$SRCDIR/$i" > "$OUTDIR/$FILE.sed" || exit 1 + "$SRCDIR/$i" > "$OUTDIR/$FILE.sed" || \ + ( rm -f "$OUTDIR/$FILE.sed" ; exit 1 ) scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ "$OUTDIR/$FILE.sed" \ - > "$OUTDIR/$FILE" - [ $? -gt 1 ] && exit 1 + > "$OUTDIR/$FILE" || \ + ( if [ $? -gt 1 ]; then \ + rm -f "$OUTDIR/$FILE" "$OUTDIR/$FILE.sed" ; \ + exit 1 ; \ + fi ) rm -f "$OUTDIR/$FILE.sed" done -trap - EXIT -- 2.1.4