haskell / haskell/cabal

Behaviour of postCopy and postInstall hook is confusing

Open
#709 3 comments 0 reactions 0 assignees View on GitHub
Cabal: other type: bug
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

(Imported from [Trac #718](http://hackage.haskell.org/trac/hackage/ticket/718), reported by guest on 2010-07-24)

While working on the Bluetile cabal package ( [http://hackage.haskell.org/package/bluetile](http://hackage.haskell.org/package/bluetile) ) I used Cabal's hook system to install executables to the libexec directory.

It took me a while to figure out that the postCopy hook is _the only hook_ to run when you invoke 'cabal copy' and the postInstall hook is _the only hook_ to run when you invoke 'cabal install'.

This is both confusing and unfortunate.
Since the Cabal documentation elsewhere states that 'cabal install' is just "register + copy" one would assume that upon 'cabal install' the postCopy hook runs as well.

Now I had to write two hooks, both for postCopy and for postInstall, to make it work for users that run 'cabal install' as well as cases where 'cabal copy' is used (for example by distributions, while preparing their packages).

This can probably not be fixed without breaking a bunch of Cabal packages, so maybe some kind of warning or big note in the documentation would help in the meantime.

Best regards!
Jan

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.