diff options
author | Axel Beckert <abe@deuxchevaux.org> | 2013-12-02 15:39:20 +0100 |
---|---|---|
committer | Axel Beckert <abe@deuxchevaux.org> | 2013-12-02 15:39:20 +0100 |
commit | 8f07e7658dcdfecc082ddaaad8e26f460eb02d45 (patch) | |
tree | a16ecc9a433b450827fbd056b06a3260592a8a37 /Config/installfns.sh | |
parent | df234cd62d04180a54071c7a2a5210d1f16c8b98 (diff) | |
parent | 56aa469d06a60ff23fe0c50ab9d44ae40c150412 (diff) | |
download | zsh-8f07e7658dcdfecc082ddaaad8e26f460eb02d45.tar.gz zsh-8f07e7658dcdfecc082ddaaad8e26f460eb02d45.zip |
Merge branch 'upstream' into debian
Diffstat (limited to 'Config/installfns.sh')
-rwxr-xr-x | Config/installfns.sh | 22 |
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 |