def _render_rows(options, pkgs, arches):
    """Build rows for tabular data output."""
    for pkg in sorted(pkgs):
        keywords = set(pkg.keywords)
        row = [pkg.fullver]
        for arch in arches:
            if arch in keywords:
                line = '+'
            elif f'~{arch}' in keywords:
                line = '~'
            elif f'-{arch}' in keywords:
                line = '-'
            elif '-*' in keywords:
                line = '*'
            else:
                line = 'o'
            row.append(options.colormap(line))
        row.extend([pkg.eapi, pkg.fullslot, pkg.repo.repo_id])
        yield row
