forked from ungleich-public/cdist
handle existing symlink but wrong source
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
parent
0a98abbffa
commit
75c203a1f0
2 changed files with 12 additions and 7 deletions
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# 2012 Steven Armstrong (steven-cdist at armstrong.cc)
|
||||
# 2012-2014 Steven Armstrong (steven-cdist at armstrong.cc)
|
||||
#
|
||||
# This file is part of cdist.
|
||||
#
|
||||
|
@ -34,8 +34,12 @@ case "$type" in
|
|||
symbolic)
|
||||
cd "$destination_dir"
|
||||
source_is=$(ls -l "$destination" | sed 's/.*-> //g')
|
||||
if [ -h "$destination" -a "$source_is" = "$source" ]; then
|
||||
echo present
|
||||
if [ -h "$destination" ]; then
|
||||
if [ "$source_is" = "$source" ]; then
|
||||
echo present
|
||||
else
|
||||
echo wrongsource
|
||||
fi
|
||||
else
|
||||
echo absent
|
||||
fi
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# 2011-2012 Nico Schottelius (nico-cdist at schottelius.org)
|
||||
# 2013 Steven Armstrong (steven-cdist at armstrong.cc)
|
||||
# 2013-2014 Steven Armstrong (steven-cdist at armstrong.cc)
|
||||
#
|
||||
# This file is part of cdist.
|
||||
#
|
||||
|
@ -18,9 +18,6 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
#
|
||||
# Mostly a wrapper for ln
|
||||
#
|
||||
|
||||
destination="/$__object_id"
|
||||
|
||||
|
@ -55,6 +52,10 @@ rm -rf "$destination"
|
|||
DONE
|
||||
fi
|
||||
|
||||
if [ "$state_is" = "wrongsource" ]; then
|
||||
printf 'rm -f "%s"\n' "$destination"
|
||||
fi
|
||||
|
||||
# create our link
|
||||
cat << DONE
|
||||
ln ${lnopt} -f "$source" "$destination"
|
||||
|
|
Loading…
Reference in a new issue