[GHC] #12194: ghc-pkg, package database path containing a trailing slash, and ${pkgroot}
GHC
ghc-devs at haskell.org
Thu Jun 16 01:01:21 UTC 2016
#12194: ghc-pkg, package database path containing a trailing slash, and ${pkgroot}
-------------------------------------+-------------------------------------
Reporter: dudebout | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: ghc-pkg | Version: 8.0.1
Keywords: pkgroot | Operating System: Unknown/Multiple
Architecture: | Type of failure: Incorrect result
Unknown/Multiple | at runtime
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
When passing a package database to ghc-pkg via GHC_PACKAGE_PATH or
--package-db, ${pkgroot} does not get computed properly if the input path
contains a trailing slash.
Default behavior:
$ ghc-pkg describe base | grep pkgroot
pkgroot: "/usr/lib/ghc-7.10.2"
Correct behavior (no trailing slash):
$ ghc-pkg --package-db /usr/lib/ghc-7.10.2/package.conf.d describe
base | grep pkgroot
pkgroot: "/usr/lib/ghc-7.10.2"
$ GHC_PACKAGE_PATH=/usr/lib/ghc-7.10.2/package.conf.d ghc-pkg describe
base | grep pkgroot
pkgroot: "/usr/lib/ghc-7.10.2"
Incorrect behavior (with trailing slash):
$ ghc-pkg --package-db /usr/lib/ghc-7.10.2/package.conf.d/ describe
base | grep pkgroot
pkgroot: "/usr/lib/ghc-7.10.2/package.conf.d"
$ GHC_PACKAGE_PATH=/usr/lib/ghc-7.10.2/package.conf.d/ ghc-pkg
describe base | grep pkgroot
pkgroot: "/usr/lib/ghc-7.10.2/package.conf.d"
When this bug happens, ghc-pkg check complains about missing files for
packages using ${pkgroot}.
This bug happens because ${pkgroot} is computed using takeDirectory. It
should instead use (takeDirectory . dropTrailingPathSeparator)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12194>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list