#!/bin/sh
set -e
# Automatically added by dh_configpackage/UNDECLARED
# displace.sh.in: diversion helpers for maintainer scripts
#
# displace_link <prefix> <suffix>
#
#   Ensures that the file <prefix><suffix> is properly diverted to
#   <prefix>.divert-orig<suffix> by this package, and becomes a
#   symbolic link to either <prefix>.divert<suffix> (default) or
#   <prefix>.divert-orig<suffix>.
#
# undisplace_unlink <prefix> <suffix>
#
#   Undoes the action of displace_link <prefix> <suffix> specified
#   above.
#
# Version: 4.0
#
# Copyright © 2008–2012 Tim Abbott <tabbott@mit.edu> and Anders
# Kaseorg <andersk@mit.edu>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
# (the “Software”), to deal in the Software without restriction,
# including without limitation the rights to use, copy, modify, merge,
# publish, distribute, sublicense, and/or sell copies of the Software,
# and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#

package=dxld-tzdata-config

ours=.dxld
theirs=.dxld-orig

displace_link_divert()
{
    file=$1
    ourfile=$2
    theirfile=$3
    if ! LC_ALL=C dpkg-divert --list "$package" | \
	grep -xFq "diversion of $file to $theirfile by $package"; then
	dpkg-divert --divert "$theirfile" --rename --package "$package" --add "$file"
    fi
}

displace_link_symlink()
{
    file=$1
    ourfile=$2
    theirfile=$3
    if [ ! -L "$file" ] && [ ! -e "$file" ]; then
	ln -s "$(basename "$ourfile")" "$file"
    elif [ ! -L "$file" ] || \
	[ "$(readlink "$file")" != "$(basename "$ourfile")" -a \
	  "$(readlink "$file")" != "$(basename "$theirfile")" ]; then
	echo "*** OMINOUS WARNING ***: $file is not linked to either $(basename "$ourfile") or $(basename "$theirfile")" >&2
    fi
}

displace_link()
{
    prefix=$1
    suffix=$2

    file=$prefix$suffix
    ourfile=$prefix$ours$suffix
    theirfile=$prefix$theirs$suffix
    displace_link_divert "$file" "$ourfile" "$theirfile"
    displace_link_symlink "$file" "$ourfile" "$theirfile"
}

displace_hide()
{
    file=$1
    ourfile=""
    theirfile=$2
    displace_link_divert "$file" "$ourfile" "$theirfile"
}

undisplace_unlink_symlink()
{
    file="$1"
    ourfile="$2"
    theirfile="$3"
    if [ ! -L "$file" ] || \
	[ "$(readlink "$file")" != "$(basename "$ourfile")" -a \
	  "$(readlink "$file")" != "$(basename "$theirfile")" ]; then
	echo "*** OMINOUS WARNING ***: $file is not linked to either $(basename "$ourfile") or $(basename "$theirfile")" >&2
    else
	rm -f "$file"
    fi
}

undisplace_unlink_divert()
{
    file="$1"
    if [ ! -L "$file" ] && [ ! -e "$file" ]; then
	dpkg-divert --remove --rename --package "$package" "$file"
    else
	echo "Not removing diversion of $file by $package" >&2
    fi
}

undisplace_unlink()
{
    prefix=$1
    suffix=$2

    file=$prefix$suffix
    ourfile=$prefix$ours$suffix
    theirfile=$prefix$theirs$suffix

    undisplace_unlink_symlink "$file" "$ourfile" "$theirfile"
    undisplace_unlink_divert "$file"
}

undisplace_unhide()
{
    file=$1
    undisplace_unlink_divert "$file"
}

check_undisplace_unlink()
{
    prefix=$1
    suffix=$2

    file=$prefix$suffix
    ourfile=$prefix$ours$suffix
    theirfile=$prefix$theirs$suffix

    if LC_ALL=C dpkg-divert --list "$package" | \
	grep -xFq "diversion of $file to $theirfile by $package"; then
	undisplace_unlink "$prefix" "$suffix"
    fi
}

check_undisplace_unhide()
{
    file=$1
    hiddenfile=$2
    if LC_ALL=C dpkg-divert --list "$package" | \
	grep -xFq "diversion of $file to $hiddenfile by $package"; then
	undisplace_unhide "$file"
    fi
}

# End of displace.sh.in
if [ "$1" = "configure" ] || [ "$1" = "abort-remove" ]; then
    displace_link /etc/timezone
fi
# End automatically added section
