
A question for the group: Where should cabal-install's various files go?
Note: None of the cabal-install files is dependent on a particular version of Cabal or GHC, so the files do not need to be stored in versioned-directories (e.g. Cabal-1.1.5 or Cabal-1.1.5/ghc-6.4.2).
Files: server.list - one line config file with the Hackage server location, basically never modified; package.list - the listing of packages available on the Hackage server; packages/ - the directory in which all of the downloaded packages are stored.
Options: 1) Proper: /etc/server.list, /var/local/lib/cabal-install/package.list, /var/local/lib/cabal-install/packages/. A bit dogmatic and I'm not sure how it maps onto non-*nix systems, but it's the Right Thing to do on *nix. 2) Easy: everything goes in $lib-prefix/cabal-install. Isn't the prettiest solution, but it's functional. Maps onto Windows well. Users will never directly see or use these files, so $lib-prefix/cabal-install. (GHC does this with its package.conf.) 3) [other suggestions?]
I think that Isaac prefers Option 1 because it's the proper way to do things; I prefer Option 2 because it's a pretty good solution even if it isn't *nixy.
Opinions? Arguments? Suggestions?
- Alson

Alson Kemp
A question for the group: Where should cabal-install's various files go?
Note: None of the cabal-install files is dependent on a particular version of Cabal or GHC, so the files do not need to be stored in versioned-directories (e.g. Cabal-1.1.5 or Cabal-1.1.5/ghc-6.4.2).
Files: server.list - one line config file with the Hackage server location, basically never modified; package.list - the listing of packages available on the Hackage server; packages/ - the directory in which all of the downloaded packages are stored.
Options: 1) Proper: /etc/server.list,
Definitely!
/var/local/lib/cabal-install/package.list, /var/local/lib/cabal-install/packages/. A bit dogmatic and I'm not sure how it maps onto non-*nix systems, but it's the Right Thing to do on *nix.
I don't know about /var/local. There's nothing in that directory on my Debian system. /var/lib maybe, or /var/cache.
2) Easy: everything goes in $lib-prefix/cabal-install. Isn't the prettiest solution, but it's functional. Maps onto Windows well. Users will never directly see or use these files, so $lib-prefix/cabal-install. (GHC does this with its package.conf.)
I think that'll be broken for Debian which doesn't want random files in /usr/lib changing that much. peace, isaac

Hi
On 5/22/06, Isaac Jones
Alson Kemp
writes: A question for the group: Where should cabal-install's various files go?
Here's my Windows-user-opinions. I am not sure they follow any real guidelines, if there are such for packaging systems in Windows.
Files: server.list - one line config file with the Hackage server location, basically never modified; package.list - the listing of packages available on the Hackage server; packages/ - the directory in which all of the downloaded packages are stored.
Options: 1) Proper: /etc/server.list,
Definitely!
On Windows, registry or file next to executable. Registry path HKCU\Software\Cabal\Cabal-install\ od HKLM\Software\Cabal\Cabal-install\ depending mode: user-only vs Administrator (or however rights go).
/var/local/lib/cabal-install/package.list, /var/local/lib/cabal-install/packages/. A bit dogmatic and I'm not sure how it maps onto non-*nix systems, but it's the Right Thing to do on *nix.
I don't know about /var/local. There's nothing in that directory on my Debian system. /var/lib maybe, or /var/cache.
In Windows, this would is a question user answer when during install. Path should be stored in registry or file next to executable.
2) Easy: everything goes in $lib-prefix/cabal-install. Isn't the prettiest solution, but it's functional. Maps onto Windows well. Users will never directly see or use these files, so $lib-prefix/cabal-install. (GHC does this with its package.conf.)
I think that'll be broken for Debian which doesn't want random files in /usr/lib changing that much.
I'd think this would be ok for most Windows users, but it's sort of unorganised. HTH, --Esa
participants (3)
-
Alson Kemp
-
Esa Ilari Vuokko
-
Isaac Jones