summaryrefslogtreecommitdiffstats
path: root/Util
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-12-08 18:16:29 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-12-08 18:16:29 +0000
commit8b59b0a78c97db1e1bf7b12f99e0cad3cd9d71d6 (patch)
tree5a415c56dfd9b5c805fd0c9a6ed9a16ad1438558 /Util
parentzsh-workers/8950 (diff)
downloadzsh-8b59b0a78c97db1e1bf7b12f99e0cad3cd9d71d6.tar
zsh-8b59b0a78c97db1e1bf7b12f99e0cad3cd9d71d6.tar.gz
zsh-8b59b0a78c97db1e1bf7b12f99e0cad3cd9d71d6.tar.bz2
zsh-8b59b0a78c97db1e1bf7b12f99e0cad3cd9d71d6.tar.lz
zsh-8b59b0a78c97db1e1bf7b12f99e0cad3cd9d71d6.tar.xz
zsh-8b59b0a78c97db1e1bf7b12f99e0cad3cd9d71d6.tar.zst
zsh-8b59b0a78c97db1e1bf7b12f99e0cad3cd9d71d6.zip
zsh-workers/8952
Diffstat (limited to 'Util')
-rwxr-xr-xUtil/mkdisttree.sh19
1 files changed, 15 insertions, 4 deletions
diff --git a/Util/mkdisttree.sh b/Util/mkdisttree.sh
index 837ebbcc2..e48bab9c6 100755
--- a/Util/mkdisttree.sh
+++ b/Util/mkdisttree.sh
@@ -42,10 +42,13 @@ sed_separate='
s/;;*/;/g
'
+filelist=filelist$$
+trap 'rm -f $filelist; rm -rf $disttree; exit 1' 1 2 15
(
cd $sdir_top
- find . \( -name '*.*' -prune -false \) -o \( -name .distfiles -print \)
-) | while read dfn; do
+ find . \( -name '*.*' -prune \) -o \( -name .distfiles -print \)
+) > $filelist
+( while read dfn; do
subdir=`echo $dfn | sed 's,/\.distfiles$,,'`
echo >&2 "Processing directory $subdir..."
eval "DISTFILES_$type="
@@ -55,7 +58,7 @@ sed_separate='
cmds=`echo "$distfiles" | sed -e "$sed_separate"`
eval "$cmds"
if test -n "$deplist" && test -f $dir_top/$subdir/Makefile; then
- ( cd $dir_top/$subdir && "$@" $deplist ) || exit 1
+ ( trap '' 1 2 15; cd $dir_top/$subdir && "$@" $deplist ) || exit 1
fi
$sdir_top/mkinstalldirs $disttree/$subdir || exit 1
for f in $deplist `test -z "$globlist" || ( cd $dir_top/$subdir && eval "echo $globlist")`; do
@@ -71,6 +74,14 @@ sed_separate='
fi
done
fi
-done
+done ) < $filelist
+
+status=$?
+rm -f $filelist
+trap '' 1 2 15
+if test $status -ne 0; then
+ rm -rf $disttree
+ exit $status
+fi
exec chmod -R a+rX,u+w,go-w $disttree