[Hackage] #598: Bogus build failures on HackageDB
Hackage
trac at galois.com
Mon Jan 11 10:02:23 EST 2010
#598: Bogus build failures on HackageDB
--------------------------------+-------------------------------------------
Reporter: mboes | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: hackageDB website | Version:
Severity: normal | Resolution:
Keywords: | Difficulty: unknown
Ghcversion: | Platform:
--------------------------------+-------------------------------------------
Comment (by mokus):
I'm getting extremely frustrated by situations very much like this one.
the bytestring-0.9.1.5 update was particularly nasty and caused bogus
failures in every package I uploaded for a couple months, to the point
where i added hacks to one project's cabal file for the sole purpose of
making it build on the hackage server. It really should not be possible
for a _._._.x version bump to wreak this kind of havoc.
More recently, I uploaded a new version of my 'random-fu' package and it
failed due to some problem which prevented the non-negative package from
linking. I have not looked into it just yet, but it looks like another of
the same issues - essentially bitrot in the ghc-pkg database on whatever
system does the hackage builds. This is getting out of hand, in my
opinion.
I propose a few alternative solutions, varying in directness and
complexity:
1) all packages be rebuilt occasionally (say, monthly) from a clean
Haskell-Platform install (preferably also updating the info on the web for
packages that successfully rebuild)
2) keep stats on reverse-dependency build failures, use a pagerank-
like tool to propagate those stats up the graph, and rebuild packages and
their dependencies when scores start to plummet (which presumably would
have happened to bytestring shortly after 0.9.1.5 was uploaded and huge
numbers of projects referencing it would not build)
3) Just build *every* upload in its own clean package.conf environment
as a fallback (instead of or in addition to the preferred-versions
fallback), rebuilding all the package's dependencies as well like "cabal
install" does.
That last should be fairly simple to implement and would make a lot of
sense to me, especially given that I think most users do something of the
kind in their own pre-upload testing. I know I do anyway.
I would personally be satisfied if I could just get the haddock
documentation to appear on the package archive page when the build fails.
People can and will skim the package documentation and try building a
package themselves if the package sounds interesting to them, but they're
extremely unlikely to build the documentation just so that they can
discover whether the package is interesting to them.
--
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/598#comment:2>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects
More information about the cabal-devel
mailing list