2
# divert_link <prefix> <suffix>
4
# Ensures that the file <prefix><suffix> is properly diverted to
5
# <prefix>.divert-orig<suffix> by this package, and becomes a
6
# symbolic link to either <prefix>.divert<suffix> (default) or
7
# <prefix>.divert-orig<suffix>.
9
# undivert_unlink <prefix> <suffix>
11
# Undoes the action of divert_link <prefix> <suffix> specified
19
ours=#DEB_DIVERT_EXTENSION#
20
theirs=#DEB_DIVERT_EXTENSION#-orig
27
if ! dpkg-divert --list "$package" | \
28
grep -xFq "diversion of $file to $theirfile by $package"; then
29
dpkg-divert --divert "$theirfile" --rename --package "$package" --add "$file"
38
if [ ! -L "$file" ] && [ ! -e "$file" ]; then
39
ln -s "$(basename "$ourfile")" "$file"
40
elif [ ! -L "$file" ] || \
41
[ "$(readlink "$file")" != "$(basename "$ourfile")" -a \
42
"$(readlink "$file")" != "$(basename "$theirfile")" ]; then
43
echo "*** OMINOUS WARNING ***: $file is not linked to either $(basename "$ourfile") or $(basename "$theirfile")" >&2
53
ourfile=$prefix$ours$suffix
54
theirfile=$prefix$theirs$suffix
55
divert_link_divert "$file" "$ourfile" "$theirfile"
56
divert_link_symlink "$file" "$ourfile" "$theirfile"
64
divert_link_divert "$file" "$ourfile" "$theirfile"
67
undivert_unlink_symlink()
72
if [ ! -L "$file" ] || \
73
[ "$(readlink "$file")" != "$(basename "$ourfile")" -a \
74
"$(readlink "$file")" != "$(basename "$theirfile")" ]; then
75
echo "*** OMINOUS WARNING ***: $file is not linked to either $(basename "$ourfile") or $(basename "$theirfile")" >&2
81
undivert_unlink_divert()
84
if [ ! -L "$file" ] && [ ! -e "$file" ]; then
85
dpkg-divert --remove --rename --package "$package" "$file"
87
echo "Not removing diversion of $file by $package" >&2
97
ourfile=$prefix$ours$suffix
98
theirfile=$prefix$theirs$suffix
100
undivert_unlink_symlink "$file" "$ourfile" "$theirfile"
101
undivert_unlink_divert "$file" "$package"
107
undivert_unlink_divert "$file"