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

Upload impact test cabal file



Hi,

I noticed that it would be really cool if we had a tool that, given some
planned change to the set of Haskell packages in Deban would predict all
problems that require further uploads, i.e. other packages not building
any more. This way, say while packaging a new library foo which requires
upgrading bar, we would know (without manually checking or trying) what
else would break, and if baz breaks, whether upgrading it as well would
work.

But such a tool exists: cabal-install! So I created a dummy cabal
package depending on _all_ packages in Debian, in the version existing
in Debian. You can find it in the tool darcs repo and on
http://anonscm.debian.org/darcs/pkg-haskell/tools/all-packages/all-packages.cabal

By running 
$ cabal install --dry-run
in that directory cabal will verify the mentioned packages in their
respective version can be installed together.

So now, before adding foo and upgrading bar, I enter these changes in
the cabal file and see what breaks. Great!

So the policy should be that the version in the file as commited should
be the version in Debian, or the version in the repos if they were
upgraded, but could not yet be built (waiting for some binNMU to happen
or some sponsor to get active).

Some packages are known to be broken (e.g. Agda – Iain, didn’t you want
to upgrade that in December?), others got their dependencies patched,
which of course Cabal does not know about. These are commented out.
Hence the file also serves as a good TODO list.

My remaining worry is how to keep the file up to date. If everyone pays
attention to it when upgrading libraries or adding package and does it
manually, no problem. But I fear that this will not happen, so we should
have a tool that compares the file with the archive and our repos and
tells us about discrepancies. Any suggestions (or working code) here?

Greetings,
Joachim

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

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


Reply to: