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
28 ourfile=$prefix$ours$suffix
29 theirfile=$prefix$theirs$suffix
31 if ! dpkg-divert --list "$package" | \
32 grep -xFq "diversion of $file to $theirfile by $package"; then
33 dpkg-divert --divert "$theirfile" --rename --package "$package" --add "$file"
35 if [ ! -L "$file" ] && [ ! -e "$file" ]; then
36 ln -s "$(basename "$ourfile")" "$file"
37 elif [ ! -L "$file" ] || \
38 [ "$(readlink "$file")" != "$(basename "$ourfile")" -a \
39 "$(readlink "$file")" != "$(basename "$theirfile")" ]; then
40 echo "*** OMINOUS WARNING ***: $file is not linked to either $(basename "$ourfile") or $(basename "$theirfile")" >&2
50 ourfile=$prefix$ours$suffix
51 theirfile=$prefix$theirs$suffix
53 if [ ! -L "$file" ] || \
54 [ "$(readlink "$file")" != "$(basename "$ourfile")" -a \
55 "$(readlink "$file")" != "$(basename "$theirfile")" ]; then
56 echo "*** OMINOUS WARNING ***: $file is not linked to either $(basename "$ourfile") or $(basename "$theirfile")" >&2
60 if [ ! -L "$file" ] && [ ! -e "$file" ]; then
61 dpkg-divert --remove --rename --package "$package" "$file"
63 echo "Not removing diversion of $file by $package" >&2