#6881 Getting all most recent build.logs
Closed: Fixed 6 years ago Opened 6 years ago by churchyard.

I'd like to get all build.logs of all most recent koji runs (I mean for each package, get the most recent successful build.log). I like to grep it for https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build

Is there any way to get those, other than writing a scraper? Thank you.


Yeah, I don't think there is any easy way, you will have to write at least a bit of a wrapper...

If you can get a list of all the n-v-rs (from say a 'dnf repoquery --source') you could then use koji download-logs --nvr on each of thsoe. That will get you logs from all arches.

Folks in #koji and/or the koji-devel list might be able to help more...

Hope that helps a bit.

Metadata Update from @kevin:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

6 years ago

If anyone is interested:

$ dnf repoquery --disablerepo='*' --enablerepo='rawhide-source' -a | tee sources
def split_nevr(nevr):
    nev, _, release = nevr.rpartition('-')
    release, _, arch = release.rpartition('.')
    name, _, ev = nev.rpartition('-')
    if ':' in ev:
        epoch, _, version = ev.partition(':')
    else:
        epoch, version = None, ev
    return name, epoch, version, release

with open('sources') as f:
    for line in f:
        print('https://kojipkgs.fedoraproject.org/packages/{0}/{2}/{3}/data/logs/x86_64/build.log'.format(*split_nevr(line.strip())))
$ downloadto() { wget -q -O $(echo "$1" | cut -d/ -f5) "$1"; }
$ for URL in $(python3 links.py); do
>  downloadto $URL &
>  while test $(jobs -p|wc -w) -ge 16; do sleep 0.1; done
> done

It's 8,6 GiB of data and it was downloaded quite fast. Thanks

Login to comment on this ticket.

Metadata