def _label_matches_package_spec_ignoring_exclusion(*, label, package_spec):
    """Returns a value indicating whether the label matches the package spec.

    This method ignores whether the package spec is an exclusion or not, because
    exclusions short-circuit the entire package spec list search. This simply
    checks whether the label has the same workspace name and package part (or
    package part prefix, if recursive) as the package spec.

    Args:
        label: The `Label` to test for a match against the list of package
            specs.
        package_spec: A package spec (as returned by `parse_package_specs`) that
            represent the packages that should be included or excluded in the
            match.

    Returns:
        True if the label matches the package spec, ignoring the package spec's
        exclusion property.
    """
    package = label.package
    workspace_name = label.workspace_name

    if package_spec.match_subpackages:
        return (
            workspace_name == package_spec.workspace_name and (
                package == package_spec.package or
                package.startswith(package_spec.package + "/")
            )
        )
    else:
        return (
            workspace_name == package_spec.workspace_name and
            package == package_spec.package
        )