summaryrefslogtreecommitdiff
path: root/Config/installfns.sh
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2013-12-02 15:39:20 +0100
committerAxel Beckert <abe@deuxchevaux.org>2013-12-02 15:39:20 +0100
commit8f07e7658dcdfecc082ddaaad8e26f460eb02d45 (patch)
treea16ecc9a433b450827fbd056b06a3260592a8a37 /Config/installfns.sh
parentdf234cd62d04180a54071c7a2a5210d1f16c8b98 (diff)
parent56aa469d06a60ff23fe0c50ab9d44ae40c150412 (diff)
downloadzsh-8f07e7658dcdfecc082ddaaad8e26f460eb02d45.tar.gz
zsh-8f07e7658dcdfecc082ddaaad8e26f460eb02d45.zip
Merge branch 'upstream' into debian
Diffstat (limited to 'Config/installfns.sh')
-rwxr-xr-xConfig/installfns.sh22
1 files changed, 20 insertions, 2 deletions
diff --git a/Config/installfns.sh b/Config/installfns.sh
index cf587c438..149f359c6 100755
--- a/Config/installfns.sh
+++ b/Config/installfns.sh
@@ -10,6 +10,8 @@ allfuncs="`grep ' functions=.' ${dir_top}/config.modules |
allfuncs="`cd $sdir_top; echo ${allfuncs}`"
+test -d installfnsdir || mkdir installfnsdir
+
# We now have a list of files, but we need to use `test -f' to check
# (1) the glob got expanded (2) we are not looking at directories.
for file in $allfuncs; do
@@ -44,8 +46,22 @@ for file in $allfuncs; do
;;
esac
fi
- test -d $instdir || /bin/sh $sdir_top/mkinstalldirs $instdir || exit 1
- $INSTALL_DATA $sdir_top/$file $instdir || exit 1
+ basename=`basename $file`
+ ok=0
+ if test -d $instdir || /bin/sh $sdir_top/mkinstalldirs $instdir; then
+ if sed "s|@runhelpdir@|$runhelpdir|" <$sdir_top/$file \
+ >installfnsdir/$basename; then
+ if $INSTALL_DATA installfnsdir/$basename $instdir; then
+ ok=1
+ fi
+ fi
+ fi
+ case $ok in
+ 0)
+ rm -rf installfnsdir
+ exit 1
+ ;;
+ esac
read line < $sdir_top/$file
case "$line" in
'#!'*)
@@ -54,3 +70,5 @@ for file in $allfuncs; do
esac
fi
done
+
+rm -rf installfnsdir