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

Re: Support for dynamic libraries



Hi,

Am Mittwoch, den 17.03.2010, 11:55 -0400 schrieb Tyson Whitehead:
> On March 16, 2010 06:00:23 Joachim Breitner wrote:
> > But I’m not sure if the benefits are great: Dynamic libraires offer no
> > ABI stability, so each program will be uninstallable and will have to be
> > recompiled whenever any library changes.
> 
> I noticed that packages currently install into a "ghc-<ghcversion>" directory, 
> so there wouldn't actually be any file level conflict with having multiple 
> copies of a package installed for different versions of ghc.  Is there any 
> reason we are currently only putting ghc6 in the package name then?

Because if we’d put the whole ghc6 package name there, upon a ghc6
transition, even a minor one like 6.12.1 → 6.12.2
 * we could not binNMU the library package but would have to manually do
sourceful uploads of each package, adjusting the package name.
 * each upload would pass through NEW

So the cost involved would be just too much.

(AFAIK, the names of the packages must not be changed during a regular
build.)

> I adjusted my dyn patch to put the full version in the name in for just the 
> dyn package (e.g., "libghc6.12.1-mtl-dyn").  This should help with the need to 
> reinstall everything problem as it limits the scope to specific ghc version.  
> It also seems to makes sense for dynamic libraries as you most likely don't 
> want updating ghc to force you to reinstall a bunch of other binaries.
> 
> Or, perhaps, the dyn library should have the hash snippet in its name and in 
> the directory paths too.  This way binaries would never be forced to be 
> updated due to the library changing, and nothing would every break 
> unexpectedly.  Basically a Nix style thing (http://nixos.org).

This is what C libraries are doing with the ABI name in the library
package name. We could do this, once Haskell provides a similar level of
ABI compatibility that C does, even across new library versions. Until
then, changing the binary name with each upload of ghc6 or the library
just does not go well with the Debian packaging system – unfortunately.


But nevertheless I appreciate you starting this discussion and proposing
these alternatives. Maybe we will find a way somehow.

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: