[Hackage] #289: symlink binaries into ~/bin

Hackage trac at galois.com
Sun Aug 3 14:53:39 EDT 2008

#289: symlink binaries into ~/bin
  Reporter:  duncan              |        Owner:                     
      Type:  enhancement         |       Status:  new                
  Priority:  normal              |    Milestone:  Cabal-1.4          
 Component:  cabal-install tool  |      Version:                     
  Severity:  normal              |   Resolution:                     
  Keywords:                      |   Difficulty:  very easy (<1 hour)
Ghcversion:  6.8.2               |     Platform:                     
Comment (by duncan):

 Replying to [comment:8 igloo]:
 > For what it's worth, I agree with what I think Isaac is saying: Cabal
 should not put things in `~/bin` unless I explicitly tell it to.
 > Anything under `~/.cabal/` is fine, so for example you could put things
 in `~/.cabal/bin/` and recommend that I add that to my path.

 For distros that put `~/.bin` on the `$PATH` I think we're failing unless
 we can make things just work. For systems not set up that way we'll have
 to ask or tell the user what to do.

 Remember most Ubuntu users don't even know what a `$PATH` is let along how
 to change one. Ubuntu sets things up such that if the `~/bin` dir exists
 then it gets put on the `$PATH` however it doesn't create the dir by
 default for new accounts. For Fedora it's apparently always on the `$PATH`
 even if it does not exist.

 So when we first set up the user's default `~/.cabal/config` we should
 check if `~/bin` is on the `$PATH`. If not we should tell the user that
 they need to take some action to make the executables available (either to
 put `~/bin` or `~/.cabal/bin` on the `$PATH`).

 It should also print out what configuration its chosen the first time you
 run it, when it creates `~/.cabal/config` so people know what it's going
 to do and what file to edit.

 I know you think we should never touch `~/bin` at all, but I think not
 working by default for standard distro setups is not a good option.

 I rather suspect we'll have to do different things on different platforms.
 For example OSX does not help us with per-user bin dirs at all, though it
 does have `/usr/local/bin` and cabal-install can use a sudo style command,
 so perhaps that's a sensible default on OSX.

 I'll try and get this issue of defaults discussed on some mailing list.

Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/289#comment:9>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects

More information about the cabal-devel mailing list