def get_entry_point_abs_path(pack=None, entry_point=None, use_pack_cache=False):
    """
    Return full absolute path of an action entry point in a pack.

    :param pack: Content pack reference.
    :type pack: ``str``

    :param entry_point: Action entry point.
    :type entry_point: ``str``

    :rtype: ``str``
    """
    if not entry_point:
        return None

    if os.path.isabs(entry_point):
        pack_base_path = get_pack_base_path(
            pack_name=pack, use_pack_cache=use_pack_cache
        )
        common_prefix = os.path.commonprefix([pack_base_path, entry_point])

        if common_prefix != pack_base_path:
            raise ValueError(
                'Entry point file "%s" is located outside of the pack directory'
                % (entry_point)
            )

        return entry_point

    entry_point_abs_path = get_pack_resource_file_abs_path(
        pack_ref=pack, resource_type="action", file_path=entry_point
    )
    return entry_point_abs_path

    Return full absolute path of an action entry point in a pack.

    :param pack: Content pack reference.
    :type pack: ``str``

    :param entry_point: Action entry point.
    :type entry_point: ``str``

    :rtype: ``str``
    
st2common/st2common/content/utils.py