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

Re: register packages via triggers



On Sun, Apr 05, 2009 at 01:27:15PM -0500, John Goerzen wrote:
> On Sun, Apr 05, 2009 at 01:48:04PM +0300, Kari Pahula wrote:
> > Things would get easier if we didn't even try to preserve local
> > changes to the global package registry.  I'm leaning towards doing
> > that, since it's easy to use multiple local packages.conf files,
> > instead.
> 
> Would this mean that the local root user wouldn't be able to install
> packages from Hackage?

No.  Well, I think this is mainly a usability issue.

The thing is, ghc is capable of accepting multiple -package-conf
arguments, allowing splitting the cabal registry into multiple files.
I think it would be easier from a maintenance POV to have all Debian
Haskell libraries register themselves to one file that doesn't contain
anything outside of dpkg's view.

It wouldn't necessarily need to be the global config file, though.
/usr/bin/ghc is a wrapper calling
 exec /usr/lib/ghc-6.10.1/ghc -B/usr/lib/ghc-6.10.1/. -dynload wrapped ${1+"$@"}
and it would be possible to add
 -package-conf /var/lib/ghc6/packages.conf.debian
(or something like that) to that.  I'm not sure about all the border
cases that that would entail.  Alternatively, I could patch ghc itself
to treat multiple files as global config file.

Even as it is, I'd recommend using something like
 ghc-pkg --package-conf=/usr/local/lib/ghc6/packages.conf
for any local system-wide cabal package installs, not ghc-pkg --global.

I could still just write triggers to update the global packages.conf
file, trying to work with any user made changes to it.  It's not that
much more complex and I can't guarantee against a root breaking the
system, anyway.


Reply to: