#!/usr/bin/env python3 import re log = open("/tmp/pipeline2.log", errors="replace").read().splitlines() pkgs = ["jemalloc-5.3.1","libcacard-2.8.2","libdbusmenu-gtk-16.04.0","libdvbpsi-1.3.3", "libgedit-amtk-5.10.0","libgtop-2.41.3","liblinear-250","libmusicbrainz5-5.1.0", "xorg-libdrm-2.4.134","xorg-libpciaccess-0.19","xorg-util-macros-1.20.2", "iptables-1.8.13","intel-vaapi-driver-2.4.1","pam-1.7.2","python-3.14.7","systemd-261.2"] keys = ["Błąd skryptu","error:","Error","FAILED","No such","not found","No rule","fatal","cannot","Can't","undefined","ERROR:"] for p in pkgs: starts = [i for i,l in enumerate(log) if re.search(r"BUILD\] %s.*start" % p, l)] if not starts: continue i = starts[-1] j = i while j < len(log): if re.search(r"\[BUILD\] %s.*FAIL" % p, log[j]) and j > i: break j += 1 seg = log[i:j+1] err = None for l in seg: t = l.strip() if any(k in t for k in keys) and "Wno-error" not in t: err = t[:130] break print("== %s: %s" % (p, err or "?"))