[Hackage] #543: cabal requires root privileges in order to modify
files in /usr/lib/ghc-6.8.2
Hackage
trac at galois.com
Sun Apr 19 17:50:43 EDT 2009
#543: cabal requires root privileges in order to modify files in
/usr/lib/ghc-6.8.2
----------------------------+-----------------------------------------------
Reporter: nr | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: Cabal library | Version: 1.6.0.1
Severity: normal | Keywords: ghc package.conf
Difficulty: unknown | Ghcversion: 6.8.2
Platform: Linux |
----------------------------+-----------------------------------------------
cabal requires root privileges in order to modify files in
/usr/lib/ghc-6.8.2. I'm reporting this as a defect in the tool, since it
was told to install in /usr/local/cabal, and it seems unreasonable that
cabal should require root privileges when these are not required for
installing into its target directory.
I am less well informed about the Linux Filesystem Standard, but I believe
that files in /usr/lib are supposed to be immutable. If I'm correct,
cabal is violating that standard in a major way. If you must have a
mutable {{{package.conf}}}, put it in {{{/var/lib/ghc-6.8.2}}}, and make
it group writable by a suitable group (which you may need to create).
I'm cc-ing ghc-devel on this one because the two groups will probably have
to cooperate.
{{{
: nr at homedog 5548 ; cabal install graphmod
Resolving dependencies...
Downloading dotgen-0.2...
Configuring dotgen-0.2...
Preprocessing library dotgen-0.2...
Building dotgen-0.2...
[1 of 1] Compiling Text.Dot ( Text/Dot.hs, dist/build/Text/Dot.o )
/usr/bin/ar: creating dist/build/libHSdotgen-0.2.a
Installing library in /usr/local/cabal/lib/dotgen-0.2/ghc-6.8.2
Registering dotgen-0.2...
Reading package info from "dist/installed-pkg-config" ... done.
Unable to rename "/usr/lib/ghc-6.8.2/package.conf" to
"/usr/lib/ghc-6.8.2/package.conf.old"
Saving old package config file... ghc-pkg.bin:
/usr/lib/ghc-6.8.2/package.conf: renameFile: permission denied (Permission
denied)
Downloading haskell-lexer-1.0...
Configuring haskell-lexer-1.0...
Preprocessing library haskell-lexer-1.0...
Building haskell-lexer-1.0...
[1 of 6] Compiling Language.Haskell.Lexer.Position (
Language/Haskell/Lexer/Position.hs,
dist/build/Language/Haskell/Lexer/Position.o )
Language/Haskell/Lexer/Position.hs:25:4:
Warning: Pattern match(es) are overlapped
In a case alternative: '\n' -> ...
[2 of 6] Compiling Language.Haskell.Lexer.Tokens (
Language/Haskell/Lexer/Tokens.hs,
dist/build/Language/Haskell/Lexer/Tokens.o )
[3 of 6] Compiling Language.Haskell.Lexer.Utils (
Language/Haskell/Lexer/Utils.hs, dist/build/Language/Haskell/Lexer/Utils.o
)
[4 of 6] Compiling Language.Haskell.Lexer.Lex (
Language/Haskell/Lexer/Lex.hs, dist/build/Language/Haskell/Lexer/Lex.o )
[5 of 6] Compiling Language.Haskell.Lexer.Layout (
Language/Haskell/Lexer/Layout.hs,
dist/build/Language/Haskell/Lexer/Layout.o )
[6 of 6] Compiling Language.Haskell.Lexer ( Language/Haskell/Lexer.hs,
dist/build/Language/Haskell/Lexer.o )
/usr/bin/ar: creating dist/build/libHShaskell-lexer-1.0.a
Installing library in /usr/local/cabal/lib/haskell-lexer-1.0/ghc-6.8.2
Registering haskell-lexer-1.0...
Reading package info from "dist/installed-pkg-config" ... done.
Unable to rename "/usr/lib/ghc-6.8.2/package.conf" to
"/usr/lib/ghc-6.8.2/package.conf.old"
Saving old package config file... ghc-pkg.bin:
/usr/lib/ghc-6.8.2/package.conf: renameFile: permission denied (Permission
denied)
cabal: Error: some packages failed to install:
dotgen-0.2 failed during the final install step. The exception was:
exit: ExitFailure 1
graphmod-1.1.3 depends on haskell-lexer-1.0 which failed to install.
haskell-lexer-1.0 failed during the final install step. The exception was:
exit: ExitFailure 1
: nr at homedog 5549 ;
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/543>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects
More information about the cabal-devel
mailing list