def symlink_if_necessary(path, destination):
    """forcefully create a symlink with a given value, but only if it doesn't already exist"""
    from py._error import error as pylib_error
    try:
        supervise_link = destination.readlink()
    except (pylib_error.ENOENT, pylib_error.EINVAL):
        supervise_link = None
    if supervise_link != path.strpath:
        from .subprocess import check_call
        check_call(('ln', '-sfn', '--', path.strpath, destination.strpath))
