#4884: registerPackage fails with multiple command line --package-conf= flags
-----------------------+----------------------------------------------------
Reporter: r6 | Owner:
Type: bug | Status: new
Priority: normal | Component: ghc-pkg
Version: 6.12.3 | Keywords:
Testcase: | Blockedby:
Os: Linux | Blocking:
Architecture: x86 | Failure: Incorrect result at runtime
-----------------------+----------------------------------------------------
in registerPackage the database to operate on is filtered, whereas the
databases to validate are *truncated*. The trucation can be seen in the
code:
let truncated_stack = dropWhile ((/= to_modify).location) db_stack
-- truncate the stack for validation, because we don't allow
-- packages lower in the stack to refer to those higher up.
validatePackageConfig pkg truncated_stack auto_ghci_libs update force
notice the use of dropWhile instead of filter. The problem is that if I
want to update a package with a command with multiple --package-conf=
parameters, then these parameters get ignored during validation and if the
package being installed depends on the packages in these databases, the
installation will fail (unless --force is used). For example if you run
the command
ghc-pkg --package-conf=myPkg1 --package-conf=myPkg2 --package-
conf=myPkg3 --global --user update newPkg.conf
then the command will fail with the error ""something" doesn't exist (use
--force to override)" if newPkg.conf depends on something in on of myPkgs.
In fact, with the above command, the truncated_stack consists of only two
packages: [the-user-pkg,the-global-pkg].
I think the fix is to use a filter instead of dropWhile, but maybe there
is some purpose behind using dropWhile. In any case a bug does exist
because the above ghc-pkg command should succeed.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4884>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs