[Hackage] #577: an executable and library differing in capitalization use the same build dir on case-insensitive filesystems

#577: an executable and library differing in capitalization use the same build dir on case-insensitive filesystems ----------------------------+----------------------------------------------- Reporter: simonmic | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.6.0.1 Severity: normal | Keywords: Difficulty: unknown | Ghcversion: Platform: | ----------------------------+----------------------------------------------- Discussion from #darcs: {{{ [5:56pm] <Riastradh> While compiling the Darcs library, the build process creates a directory called $BUILDDIR/build/Darcs. While compiling the Darcs executable, it creates $BUILDDIR/build/darcs. On Mac OS X, these pathnames both name a common directory. [5:57pm] <kowey> yeah, that's mildly irritating [5:57pm] <kowey> I have to run dist/build/Darcs/darcs (tab-completion) [5:57pm] <Riastradh> Does this affect the output of the build? [5:57pm] <kowey> no apparent problems here [5:58pm] <Riastradh> OK. [5:58pm] <Riastradh> (You could, of course, create the directory with a lowercase name to begin with and then build.) [5:58pm] <Riastradh> (Also, some shells, such as zsh, will do case-insensitive completion.) [5:58pm] <kowey> I guess no other cabal package out there simultaneously has a library starting with Foo as a top level bit of namespace and an executable named foo [5:58pm] <gwern> Riastradh: bash of course can do case-insenistive completion if figured [5:58pm] <gwern> *configured [5:59pm] <gwern> kowey: xmonad? [5:59pm] <kowey> oh yeah! [5:59pm] <gwern> import XMonad.*... 'exec xmonad' [5:59pm] <gwern> and xmonad ain't the only example either [6:00pm] <gwern> yi, autoproc... anything doing the executable-library thing is likely to have that }}} -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/577 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#577: an executable and library differing in capitalization use the same build dir on case-insensitive filesystems ----------------------------+----------------------------------------------- Reporter: simonmic | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.6.0.1 Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: | Platform: ----------------------------+----------------------------------------------- Changes (by duncan): * difficulty: unknown => normal Comment: The problem of course is that the layout of dist looks like: {{{ ./dist/build/ <- library output goes here ./dist/build/foo/ <- executable 'foo' goes here }}} So the exe dirs appear within the library build tree. Thus if we have modules under the 'Foo' namespace then the clash with the executable. It can happen on case sensitive or insensitive file systems (since executable names are case sensitive) it's just more common with case insensitive ones. The solution will have to be to change the layout of the `./dist/build` tree. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/577#comment:1 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects
participants (1)
-
Hackage