diff options
author | John Klug <john.klug@multitech.com> | 2022-03-10 17:48:39 -0600 |
---|---|---|
committer | John Klug <john.klug@multitech.com> | 2022-03-10 17:48:39 -0600 |
commit | c170ebccd8ea303d689689e654652925fcbc5323 (patch) | |
tree | 6b4ce64b3011b41b6a578efe94af08928fe46de3 /recipes-core | |
parent | d69af360a0f97879171814bd056372bad9a7df9d (diff) | |
download | meta-mlinux-c170ebccd8ea303d689689e654652925fcbc5323.tar.gz meta-mlinux-c170ebccd8ea303d689689e654652925fcbc5323.tar.bz2 meta-mlinux-c170ebccd8ea303d689689e654652925fcbc5323.zip |
Guard against circular symlinks
Diffstat (limited to 'recipes-core')
-rw-r--r-- | recipes-core/multitech/config/config.init | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/recipes-core/multitech/config/config.init b/recipes-core/multitech/config/config.init index 282b0bb..2a1e0b5 100644 --- a/recipes-core/multitech/config/config.init +++ b/recipes-core/multitech/config/config.init @@ -145,6 +145,11 @@ function copydir { ln -sf "$to/$newdir" "$from" else mkdir "$to/$newdir" >/dev/null 2>&1 || true + if [[ -L $from ]] ; then + # If we have a symlink to a directory, + # skip copying any files. + return 0 + fi savedir=$(pwd) cd "$from" for f in * ; do @@ -285,8 +290,10 @@ case $1 in rm -rf /etc/$file ln -sf ${CONFIG_DIR}/$file /etc/$file else - rm -f "/etc/${file}/*" - linkdir "${CONFIG_DIR}/${file}" "/etc/${file}" + if ! [[ -L "/etc/${file}" ]] ; then + rm -f "/etc/${file}/*" + linkdir "${CONFIG_DIR}/${file}" "/etc/${file}" + fi fi done ;; |