Hi, Am Dienstag, den 10.02.2009, 10:33 +0200 schrieb Kari Pahula: > I've been thinking about Haskell libraries' interface changing updates > and I'm starting to think that we're a bit out of luck with those. > The thing is, we'd need to bump the cabal version number when we make > such changes, or we'll risk breaking users' locally installed > libraries in non-obvious ways. > > As an example, libraries A and B are in Debian, B depends on A. A > user has libraries X and Y, where Y depends on X and X depends on B. > If A's interface changes, we can trigger B's rebuild and even use > package relationships to ensure that the user can only have matching > versions of A and B on his system. But we can't binNMU X and Y and > those are broken and it may not be obvious that both of them need to > be rebuilt. > > Having a distribution specific part of cabal version numbers could > work, a bit like the after dash part that Debian versions have. We > can't just bump the upstream version. Are you refering to bumping A’s cabal version, or both A’s and B’s? If you also mean bumping B’s version, this would break binNMUability, wouldn’t it? Unless one tries to do it in the build scripts, but that sounds overly complex and error prone. I woudn’t worry too much about locally installed library. People can just run "cabal rebuild-all" (or the manual equivalent until such a package exists). I even vaguely remember that someone planned to make cabal-install capable of detecting re-built distribution libraries and automatically re-building locally installed libraries as needed. This sounds like a more proper way of handlings this. > As it is, the first thing about interface changes would be "don't". > Wait until the next upstream version if you need them, preferrably > talk to them and get them there. Upstreams aren't scary, they could > make new minor releases if you ask nicely. Yes, I agree: This is a clean solution. > This would speak for using dependencies like (>= 1.2-3), (<< 1.2+), > too. ACK 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: Dies ist ein digital signierter Nachrichtenteil