=== {% autoescape off %}Signoff report for [{{ repo|lower }}] === {{ signoffs_url }} There are currently: * {{ new|length }} new package{{ new|length|pluralize }} in last {{ new_hours }} hours * {{ bad|length }} known bad package{{ bad|length|pluralize }} * {{ disabled|length }} package{{ disabled|length|pluralize }} not accepting signoffs * {{ complete|length }} fully signed off package{{ complete|length|pluralize }} * {{ incomplete|length }} package{{ incomplete|length|pluralize }} missing signoffs * {{ old|length }} package{{ old|length|pluralize }} older than {{ old_days }} days (Note: the word 'package' as used here refers to packages as grouped by pkgbase, architecture, and repository; e.g., one PKGBUILD produces one package per architecture, even if it is a split package.) {% if new %}== New packages in [{{ repo|lower}}] in last {{ new_hours }} hours ({{ new|length }} total) == {% for group in new %} * {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }}){% endfor %} {% endif %}{% regroup incomplete by target_repo as by_repo %}{% for target_repo in by_repo %} == Incomplete signoffs for [{{ target_repo.grouper|lower }}] ({{ target_repo.list|length }} total) == {% for group in target_repo.list %} * {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }}) {{ group.completed }}/{{ group.required }} signoffs{% endfor %} {% endfor %} {% if complete %}== Completed signoffs ({{ complete|length }} total) == {% for group in complete %} * {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }}){% endfor %} {% endif %}{% if old %}== All packages in [{{ repo|lower }}] for more than {{ old_days }} days ({{ old|length }} total) == {% for group in old %} * {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }}), since {{ group.last_update|date }}{% endfor %} {% endif %}== Top five in signoffs in last {{ new_hours }} hours == {% for leader in leaders %} {{ forloop.counter }}. {{ leader.user }} - {{ leader.count }} signoffs{% endfor %} {% endautoescape %}