handle existing symlink but wrong source

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
remotes/origin/feature_files_export
Steven Armstrong 11 years ago
parent 0a98abbffa
commit 75c203a1f0
  1. 10
      cdist/conf/type/__link/explorer/state
  2. 9
      cdist/conf/type/__link/gencode-remote

@ -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…
Cancel
Save