[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

New binNMU scheduling script



Hi,

for quite a while I have been scheduling binNMUs according to the
pkg-haskell-debcheck.hs program (which is a Haskell reimplementation of
pkg-haskell-debcheck.py written by me in 2009, which is inspired by
debian-ocaml-status.py written by Stefano Zacchiroli), but I wasn’t
really satisfied. It would give false positive and did useless stuff
(like calculating depwaits, which we do not need anymore due to
dose-debcheck support in wanna-build).

I always meant to replace it by something cleaner and more tailored to
our use case with ABI-hash-encoded virtual packages. But then I didn’t
want to re-invent the wheel, so I first wanted to talk to the Ocaml guys
and ask if they happen to have such a tool already.

Today, I did that, and they do not. So I created the wheel I imagined.

It reads the packages file (from sid + buildd-sid) and figures out what
packages need to be binNMUed. It then checks with wanna-build to see
which were already scheduled, or where there are failing builds¹, and
filters them out.

The result is ready to be copy’n’pasted into wb on wuiet (if you have
the proper permission). To make the current status easily checkable I am
running the program every four hours on paradis and you can check the
status at
https://people.debian.org/~nomeata/binNMUs-haskell.txt
If there are commands that are not commented out, then feel free to
nudge me to schedule them. If I’m not available, ask release@debian.org
to run (the equivalent of)
$ GET https://people.debian.org/~nomeata/binNMUs-haskell.txt | wb


I also took the liberty of running it with a hopefully correct virtual
package detection regex for Ocaml; the result (which is at this moment
more interesting than the Haskell result) is at
https://people.debian.org/~nomeata/binNMUs-ocaml.txt
@Mehdi: Is this correct? Is it clear what it says? Is it useful?


To run locally,
$ git clone git+ssh://git.debian.org/git/pkg-haskell/tools
and compile with
$ ghc --make binNMUs
and run with 
$ ./binNMUs --help
(yes, it really has proper command line flags with help – another
improvement over the old one).


I hope this reduces the bus factor in the Debian Haskell Group, and make
it a bit more transparent about what is going on. I also hope that it
will identify transition issues (such as freebsd-buildds running out of
diskspace) quicker.


Greetings from Portland,
Joachim

¹ If I had that a few weeks earlier, I would have finished the current
transition by then.

PS: The script is relatively slow. According to a profile run, most of
the time is spent in parsing the dependency relations, where I use the
“debian” Haskell package. If someone feels like optimizing code: That
would be useful. Maybe it can be made more lazy. As I am extracting only
the package name, and no version ranges or dependency restrictions, we
could skip some work here.

-- 
Joachim "nomeata" Breitner
Debian Developer
  nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: F0FBF51F
  JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: