diff --git a/roles/flyspray/files/removed-packages-bugs.py b/roles/flyspray/files/removed-packages-bugs.py new file mode 100644 index 0000000000000000000000000000000000000000..74059bae4803be47b50e1943d8d53c244f1955ac --- /dev/null +++ b/roles/flyspray/files/removed-packages-bugs.py @@ -0,0 +1,25 @@ +#!/usr/bin/python + +from re import search +from subprocess import check_output + +import sqlalchemy + +REGEX = r'\[([A-Za-z0-9_-]+)\]' + +packages = check_output(['/usr/bin/pacman', '-Slq']).decode().splitlines() + +engine = sqlalchemy.create_engine('mysql://localhost/flyspray', connect_args={'read_default_file': '/root/.my.cnf'}) + + +with engine.connect() as conn: + result = conn.execute("SELECT task_id,item_summary from flyspray_tasks where is_closed=0 and project_id in (1,5)") + for row in result: + m = search(REGEX, row['item_summary']) + if not m: + continue + + pkgname = m.group(1) + if pkgname not in packages: + task_id = row['task_id'] + print(f'Removed package {pkgname} found - https://bugs.archlinux.org/task/{task_id}') diff --git a/roles/flyspray/tasks/main.yml b/roles/flyspray/tasks/main.yml index 97ccfa3f0763b130ae7e406ec83d831303ccc851..95427fff74d25334b308e82313660947af62707f 100644 --- a/roles/flyspray/tasks/main.yml +++ b/roles/flyspray/tasks/main.yml @@ -91,3 +91,6 @@ - name: Start and enable systemd socket service: name=php-fpm7@flyspray.socket state=started enabled=true + +- name: Copy removed package bugs script + copy: src=removed-packages-bugs.py dest=/usr/local/bin/removed-packages-bugs.py mode=0755 owner=root group=root