#543 exception to untag ghc-7.0.1-3.fc15 from dist-f15
Closed None Opened 13 years ago by petersen.

= Proposal topic =

Untagging ghc-7.0.1-3.fc15 from rawhide

= Overview =

For as yet unknown reasons a (re)build of ghc a week ago
caused all of ghc's library ABI hashes to change. I am still
investigating the underlying cause, in the meantime
to avoid further ongoing dependency breakage in
the daily rawhide report and to avoid further delays
to Haskell package reviews and builds, I would to request
an exception from FESCo to untag the build with the
changed ABI hashes until we understand what caused them to change.

= Problem space =

The changes in the ABI hashes of the core Haskell libraries that ship
with ghc means that all the Haskell libraries in Rawhide are currently
broken wrt the latest ghc build.

= Solution Overview =

Untagging the latest build so that previous build
with correct tags returns to rawhide.

= Active Ingredients =

Release Engineering

= Owners =
Jens Petersen


I'm a little leery of untagging something that's been there for a week. How many things have been rebuilt to work with the new version?

Additional questions:

  1. What are the chances that someone has this installed?

  2. Is it possible to build the old version with an epoch, or does that break too?

Replying to [comment:1 notting]:

I'm a little leery of untagging something that's been there for a week. How many things have been rebuilt to work with the new version?

Nothing, except couple of new packages I think, since I was looking into the problem.

Replying to [comment:2 notting]:

  1. What are the chances that someone has this installed?

The chances that at least one other person has this installed somewhere are pretty high. ;o)
(Of course it is not currently possible to install any library built with the previous build.)

<Shrug/> :) ghc-7.0.2 will out soon anyway.

  1. Is it possible to build the old version with an epoch, or does that break too?

No plan to do that. There is nothing wrong with 7.0.1 (that 7.0.2 won't fix anyway).
The ABI change is for 7.0.1 builds, so can't be solved with a epoch,
hence my temporary request to untag the current build.

Anyway I have concluded discussions with upstream: ghc's ABI hash assignment
is still not 100% deterministic in some cases. It seems at least for the upgrade
from 6.12.3 to 7.0.1, ABI is affected by whether ghc-7.0.1 itself is built with
ghc-6.12.3 or ghc-7.0.1, and that is what caused the breakage:

  • ghc-7.0.1-2.fc15 was build with ghc-6.12.3
  • ghc-7.0.1-3.fc15 was built with ghc-7.0.1

(In particular changes in ABI argument ordering in the core libs seem to be the reason.)

All the libraries in rawhide were rebuilt in December with ghc-7.0.1-2.fc15.
The new ghc-7.0.1-3.fc15 build this month built against it then changed
the ABI of the core libraries causing the dependency breakage we now
see in rawhide.

Ideally it should not happen but it is possible and did this time anyway.
Not sure if we have just been lucky in the past with avoiding this problem
by rebuilding ghc version upgrades early on, or maybe larger changes to ghc in
this major version upgrade lead to the problem this time.
Upstream says ABI stability has actually been improved with recent releases.
In future I will make sure I rebuild ghc with the same version before starting
to rebuild the rest of the Haskell packages.

I am still happy to move ghc-7.0.1-3.fc15 to dist-f15-ghc and do the
rebuilding there, but if FESCo believes this is detrimental to Fedora
development processes then no problem to do all the 85+ package rebuilds
in dist-f15 - of course the rebuilding will take some time and will leave
the rawhide dependency breakage around even longer. Also 7.0.2 will probably
be released soon, and will require rebuilding all the packages again...
(but that will be done in dist-f15-ghc of course).

Honestly I believe this is a kind of problem that should be resolved
quickly between rel-eng and Haskell SIG, but just my 2c of feedback.

Honestly I believe this is a kind of problem that should be resolved quickly
between rel-eng and Haskell SIG, but just my 2c of feedback.

+1, I really don't see why untagging is a FESCo matter.

Ah well majority of the rebuilding is now done in dist-f15:
still minor leaf/singletons to rebuild still.

So I am closing this request.

Login to comment on this ticket.

Metadata