#2441: Ghc-pkg cannot unregister/expose/hide packages in non-first package
databases
-------------------------------+--------------------------------------------
    Reporter:  batterseapower  |       Owner:              
        Type:  bug             |      Status:  new         
    Priority:  normal          |   Component:  Build System
     Version:  6.9             |    Severity:  normal      
    Keywords:                  |    Testcase:              
Architecture:  Unknown         |          Os:  Unknown     
-------------------------------+--------------------------------------------
 I was in this situation:

 {{{
 $ ghc-pkg list
 /usr/local/lib/ghc-6.8.2/package.conf:
     Cabal-1.2.3.0, Cabal-1.5.1, Finance-Quote-Yahoo-0.4.1,
     GLUT-2.1.1.1, HTTP-3001.0.4, HTTP-Simple-0.1, HUnit-1.2.0.0,
     OpenAL-1.3.1.1, QuickCheck-1.1.0.0, array-0.1.0.0, base-3.0.1.0,
     binary-0.4.1, bytestring-0.9.0.1, cgi-3001.1.5.1,
     containers-0.1.0.1, directory-1.0.0.0, fgl-5.4.1.1,
     filepath-1.1.0.0, (ghc-6.8.2), haskell-src-1.0.1.1,
     haskell98-1.0.1.0, hpc-0.5.0.0, html-1.0.1.1, hxt-7.4, mtl-1.1.0.0,
     network-2.1.0.0, old-locale-1.0.0.0, old-time-1.0.0.0,
     packedstring-0.1.0.0, parallel-1.0.0.0, parsec-2.1.0.0,
     plugins-1.0, plugins-1.1, pretty-1.0.0.0, process-1.0.0.0,
     random-1.0.0.0, readline-1.0.1.0, regex-base-0.72.0.1,
     regex-compat-0.71.0.1, regex-posix-0.72.0.2, rts-1.0, stm-2.1.1.0,
     template-haskell-2.2.0.0, time-1.1.2.0, unix-2.3.0.0,
     xhtml-3000.0.2.1, zlib-0.4.0.4
 /Users/mbolingbroke/.ghc/i386-darwin-6.8.2/package.conf:
     Cabal-1.4.0.0, GLUT-2.1.1.1, HDBC-1.1.4, MaybeT-0.1.1,
     MonadRandom-0.1.1, OpenGL-2.2.1.1, Stream-0.2.3, arrows-0.4,
     category-extras-0.53.4, haddock-2.1.0
 }}}

 And from there I can do this:
 {{{
 $ ../../../../ghc.plugins/utils/ghc-pkg/ghc-pkg-inplace describe pan-
 plugin-annotations
 name: pan-plugin-annotations
 version: 1.0
 license: BSD3
 copyright: (c) Sean Seefried 2008
 maintainer: [EMAIL PROTECTED]
 stability: stable
 homepage:
 ...
 }}}

 But not this!
 {{{
 $ ../../../../ghc.plugins/utils/ghc-pkg/ghc-pkg-inplace expose pan-plugin-
 annotations-1.0
 ghc-pkg-inplace: cannot find package pan-plugin-annotations-1.0
 }}}

 Or this:
 {{{
 $ ../../../../ghc.plugins/utils/ghc-pkg/ghc-pkg-inplace hide pan-plugin-
 annotations-1.0
 ghc-pkg-inplace: cannot find package pan-plugin-annotations-1.0
 }}}

 The reason is that ghc-pkgs modifyPackage function only looks in the FIRST
 package database in the list. In my opinion, it should look in all
 databases and either:

 1. Perform the modification requested by the user to the first database
 that contains the relevant package

 2. Show a smart error message indicating to the user that they need to use
 some flags to bring that package to the front of the package stack if they
 want to do that, rather than just saying "not found"

 I've attached a patch that implements behaviour 1.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2441>
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

Reply via email to