<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def check_signatures(pkg_list, allowed_keys):
 """ Go through list of packages with signatures and check if all are properly signed :param pkg_list: list of packages in format '%{name} %{SIGPGP:pgpsig}' :param allowed_keys: list of allowed keys :return: bool """

    all_passed = True
    for line_str in pkg_list:
        all_passed &= process_rpm_ql_line(line_str.strip(), allowed_keys)

    if not all_passed:
        raise PackageSignatureException(
            'Error while checking rpm signatures, see logs for more info')