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"