forked from pool/kernel-source
23 lines
486 B
Bash
23 lines
486 B
Bash
# Readlink is not present on some older distributions: emulate it.
|
|
readlink() {
|
|
local path=$1 ll
|
|
|
|
if [ -L "$path" ]; then
|
|
ll="$(LC_ALL=C ls -l "$path" 2> /dev/null)" &&
|
|
echo "${ll/* -> }"
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
relink() {
|
|
if [ -h "$2" ]; then
|
|
local old=$(readlink "$2")
|
|
[ "$old" = "$1" ] && return 0
|
|
echo "Changing symlink $2 from $old to $1"
|
|
elif [ -e "$2" ]; then
|
|
echo "Replacing file $2 with symlink to $1"
|
|
fi
|
|
rm -f "$2" \
|
|
&& ln -s "$1" "$2"
|
|
}
|