def METHOD_NAME():
    global verbose, debug
    _get_path_sql = rhnSQL.prepare(_get_needed_pkgs_query)
    _get_path_sql.execute()
    pkgs = _get_path_sql.fetchall_dict()
    if not pkgs:
        # Nothing to change
        return
    if verbose:
        print ("Processing %s packages" % len(pkgs))
    pb = ProgressBar(prompt='standby: ', endTag=' - Complete!',
                     finalSize=len(pkgs), finalBarLength=40, stream=sys.stdout)
    pb.printAll(1)
    skip_list = []
    i = 0
    for pkg in pkgs:
        pb.addTo(1)
        pb.printIncrement()
        path = pkg['path']
        if path is None:
            continue
        full_path = os.path.join(CFG.MOUNT_POINT, path)
        checksum_type = pkg['checksum_type']
        checksum = pkg['checksum']
        if not os.path.exists(full_path):
            skip_list.append(full_path)
            if debug:
                log_debug(1, "File not %s found" % (full_path))
            continue
        try:
            hdr = rhn_rpm.get_package_header(filename=full_path)
        except:
            rhnSQL.commit()
            raise
        # delete possible wrong association
        del_keyass_query = rhnSQL.prepare(_delete_key_association_by_pkgid_query)
        del_keyass_query.execute(id=pkg['id'])
        # Process gpg key ids
        server_packages.processPackageKeyAssociations(hdr, checksum_type, checksum)
        if debug:
            log_debug(1, "gpg key info updated from %s" % full_path )
        i = i + 1
        # we need to break the transaction to smaller pieces
        if i % 1000 == 0:
            rhnSQL.commit()
    pb.printComplete()
    # All done, final commit
    rhnSQL.commit()
    sys.stderr.write("Transaction Committed! \n")
    if verbose:
        print (" Skipping %s packages, paths not found" % len(skip_list))
    return