[Hackage] #529: sdist creation code currently doesn't work with Solaris's tar

#529: sdist creation code currently doesn't work with Solaris's tar ----------------------------+----------------------------------------------- Reporter: igloo | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.6.0.1 Severity: normal | Keywords: Difficulty: unknown | Ghcversion: Platform: | ----------------------------+----------------------------------------------- Cabal's sdist creation code currently doesn't work on Solaris. The code (in Cabal's Distribution/Simple/SrcDist.hs) is: {{{ let tarBallFilePath = targetPref > tarBallName pkg_descr <.> "tar.gz" rawSystemProgram verbosity tarProg ["-C", tmpDir, "-czf", tarBallFilePath, tarBallName pkg_descr] return tarBallFilePath }}} but it looks like we need this instead: {{{ let tarFilePath = targetPref > tarBallName pkg_descr <.> "tar" tarBallFilePath = tarFilePath <.> "gz" rawSystemProgram verbosity tarProg ["-cf", tarFilePath, "-C", tmpDir, tarBallName pkg_descr] rawSystemProgram verbosity gzipProg [tarFilePath] removeFile tarFilePath return tarBallFilePath }}} Note that we don't actually tell gzip where to put the output, but I can't see a way to do so without messing with stdout. See http://hackage.haskell.org/trac/ghc/ticket/3106 for more details on the problems. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/529 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#529: sdist creation code currently doesn't work with Solaris's tar ----------------------------+----------------------------------------------- Reporter: igloo | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.6.0.1 Severity: normal | Resolution: Keywords: | Difficulty: unknown Ghcversion: | Platform: ----------------------------+----------------------------------------------- Comment (by bos): Running gtar on a Solaris box would also do the trick, as would constructing a pipeline from tar to gzip. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/529#comment:1 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#529: sdist creation code currently doesn't work with Solaris's tar ----------------------------+----------------------------------------------- Reporter: igloo | Owner: Type: defect | Status: closed Priority: normal | Milestone: Component: Cabal library | Version: 1.6.0.1 Severity: normal | Resolution: wontfix Keywords: | Difficulty: unknown Ghcversion: | Platform: ----------------------------+----------------------------------------------- Changes (by duncan): * status: new => closed * resolution: => wontfix Comment: Personally I have no plan to fix this. The `cabal sdist` works fine on all platforms because it uses Haskell tar code rather than any external tar program. The sdist command doesn't really belong in the Cabal lib anyway. It's not something you need to be able to build a package. It's a command line feature for developers and as such belongs in the cabal command line prog. If we need some per-package sdist hook in the Cabal lib it should be for preparing a source tree ready to be tarred up, it does not need to construct the actual tarball. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/529#comment:2 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects
participants (1)
-
Hackage