Skip to content

Instantly share code, notes, and snippets.

View ignatenkobrain's full-sized avatar

Igor Raits ignatenkobrain

  • GoodData
  • Prague, Czech Republic
  • 21:51 (UTC +02:00)
View GitHub Profile
#!/usr/bin/python3
import click
import koji as _koji
@click.command()
@click.option("-p", "--profile", default="koji", help="Koji profile")
@click.argument("package")
def main(package, profile):
#!/usr/bin/python3
import argparse
import sys
import solv
def main():
parser = argparse.ArgumentParser()
parser.add_argument("rpm")
[ignatenkobrain@composer ~][STG]$ find /mnt/fedora_koji_prod/koji/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/source/tree/Packages/ -type f -name '*.src.rpm' | xargs -n16 -P4 -I{} sh -c 'rpm -qp --qf "[%{=NAME}\t%{PATCH}\n]" {} 2>/dev/null' | awk '{print($1)}' | sort | uniq -c | sort -n
1 3proxy
1 4ti2
1 abbayedesmorts-gpl
1 abootimg
1 accrete
1 AcetoneISO
1 acpid
1 adapta-gtk-theme
1 addrwatch
#!/usr/bin/python3
import argparse
import collections
import bugzilla
import solv
def main():
@ignatenkobrain
ignatenkobrain / README.md
Last active November 9, 2020 10:13
Rust on Side Tags
set release 32
set build (fedpkg verrel)
set pkg (string split -m 2 -r - $build)[1]
set tag (koji add-sidetag f$release-build)

fedpkg clone $pkg
cd $pkg
fedpkg request-branch f$release --no-git-branch
#!/usr/bin/python3
import argparse
import collections
import humanize
import solv
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--favor', nargs='+', default=[])
#include <locale.h>
#include <stdlib.h>
#include <libsmartcols.h>
#include <solv/policy.h>
#include <solv/pool.h>
#include <solv/poolarch.h>
#include <solv/repo.h>
#include <solv/repo_solv.h>
#include <solv/selection.h>
import solv
import sys
pool = solv.Pool()
pool.setarch()
for r in ('rawhide', 'rawhide-source'):
repo = pool.add_repo(r)
f = solv.xfopen(f'/var/cache/dnf/{r}.solv')
repo.add_solv(f)
@ignatenkobrain
ignatenkobrain / gist:7f6a61dd2f5d938103307c492d8fe7ca
Last active February 17, 2019 18:41
Why I don't use `dnf repoquery`
⋊> ~/P/s/rpms sudo dnf -q repoquery --whatrequires rust-quickcheck0.6+default-devel 19:36:55
rust-alga_derive-devel-0:0.8.1-1.fc30.noarch
⋊> ~/P/s/rpms sudo dnf -q repoquery --requires rust-alga_derive-devel 19:37:25
(crate(edit-distance/default) >= 2.0.0 with crate(edit-distance/default) < 3.0.0)
(crate(quickcheck/default) >= 0.7.0 with crate(quickcheck/default) < 0.8.0)
(crate(quote/default) >= 0.3.0 with crate(quote/default) < 0.4.0)
(crate(syn/default) >= 0.11.0 with crate(syn/default) < 0.12.0)
cargo
⋊> ~/P/s/rpms sudo dnf -q repoquery --provides rust-quickcheck0.6+default-devel 19:37:49
crate(quickcheck/default) = 0.6.2
#!/usr/bin/python3
from collections import OrderedDict, defaultdict
from functools import reduce
import sys
import koji
import solv
import yaml
from yaml import SafeDumper
from yaml.representer import SafeRepresenter