summaryrefslogtreecommitdiff
path: root/bin/check-bugtracker
blob: 6b304e33336d26b7d2c991324d5f5c35ae3c3058 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh

# check the bug tracker for packages in testing and community-testing
# with issues and mark these packages as "testing" if they are currently
# marked as "tested"

# shellcheck disable=SC2039
# shellcheck source=conf/default.conf
. "${0%/*}/../conf/default.conf"

# TODO: read information from database

tmp_dir=$(mktemp -d 'tmp.check-bugtracker.XXXXXXXXXX' --tmpdir)
trap 'rm -rf --one-file-system "${tmp_dir}"' EXIT

receive_buglist 'Testing' | \
  tr ' ,;' '\n' | \
  sed -n '
    s/^\[//
    T
    s/]$//
    T
    p
  ' | \
  sort -u > \
  "${tmp_dir}/faulty-packages"

find "${work_dir}/package-states" -name '*.tested' -printf '%f\n' | \
  sed '
    s|\.[^.]\+$||
    s|^\(.*\)\(\.[^.]\+\)\{3\}$|\1 \0|
  ' | \
  sort -k1,1 | \
  join -1 1 -2 1 -o 1.2 - "${tmp_dir}/faulty-packages" | \
  "${base_dir}/bin/modify-package-state" -n --faulty /dev/stdin