mini_buildd.reprepro module

Run reprepro commands.

class mini_buildd.reprepro.Reprepro(basedir)

Bases: object

Abstraction to reprepro repository commands.

Locking

This implicitly provides a locking mechanism to avoid parallel calls to the same repository from mini-buildd itself. This rules out any failed call due to reprepro locking errors in the first place.

For the case that someone else is using reprepro manually, we also always run it with ‘–waitforlock’.

Ignoring ‘unusedarch’ check

Known broken use case is linux’ ‘make deb-pkg’ up to version 4.13.

linux’ native ‘make deb-pkg’ is the recommended and documented way to produce custom kernels on Debian systems.

Up to linux version 4.13 (see [], []), this would also produce firmware packages, flagged “arch=all” in the control file, but actually producing “arch=any” firmware *.deb. The changes file produced however would still list “all” in the Architecture field, making the reprepro “unsusedarch” check fail (and thusly, installation on mini-buildd will fail).

While this is definitely a bug in ‘make deb-pkg’ (and also not an issue 4.14 onwards or when you use it w/o producing a firmware package), the check is documented as “safe to ignore” in reprepro, so I think we should allow these cases to work.

[l1]https://github.com/torvalds/linux/commit/cc18abbe449aafc013831a8e0440afc336ae1cba
[l2]https://github.com/torvalds/linux/commit/5620a0d1aacd554ebebcff373e31107bb1ef7769
reindex()
check()
list(pattern, distribution, typ=None, list_max=50)
show(package)
migrate(package, src_distribution, dst_distribution, version=None)
remove(package, distribution, version=None)
install(changes, distribution)
install_dsc(dsc, distribution)