(initial content) |
|||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= SOP for updating GHC in Fedora = | = SOP for updating GHC in Fedora = | ||
'' | ''This is a draft and work in progress.'' | ||
Updating GHC to a new version is | Updating GHC to a new version is a heavy operation and should be done with due care and consideration. | ||
You probably also need to be a provenpackager or at least have commit access to | You probably also need to be a provenpackager or at least have commit access to most of the haskell-sig packages and/or coordinate with haskell-sig contributors. | ||
Note further that the current stable haskell-platform release dictates the current stable version of ghc. | Note further that the current stable haskell-platform release dictates the current stable version of ghc. | ||
Line 11: | Line 11: | ||
For a branched release a version update and all consequent rebuilds of ghc-* etc needs to be done in a separate buildroot dist-fX-ghc to avoid disruption and repo breakage. | For a branched release a version update and all consequent rebuilds of ghc-* etc needs to be done in a separate buildroot dist-fX-ghc to avoid disruption and repo breakage. | ||
== Steps == | |||
*# | |||
Sketch of steps for bootstrapping new ghc version into fedora. | |||
Needs some updating to be current. | |||
# Build the new ghc version (in dist-fX-ghc if it is for a branched release) | |||
# Wait for the buildroot to update: | |||
#* for rawhide: <code>koji wait-repo dist-fX-build --build=ghc-ver-rel</code> | |||
#* for dist-fX-ghc: need to check the newRepo createrepo.log by hand. | |||
# Build hscolour with bootstrapping enabled against the new ghc | |||
# Wait for it to appear in the buildroot as above. | |||
# Rebuild the new ghc version against ''itself'' to fix the ABI (note particularly the ghc API lib seems particularly ABI sensitive) | |||
# Wait for the buildroot for the new ghc build. | |||
# Chain-build ghc-transformers and ghc-mtl | |||
# Wait for the buildroot. | |||
# Chain-build haskell-platform stack (use [http://git.fedorahosted.org/git/?p=haskell-sig.git;a=tree;f=rebuild haskell-sig/rebuild] rebuild.sh) | |||
# Wait for the buildroot. | |||
# Rebuild ghc-mtl (maybe also ghc-utf8-string) | |||
# : |
Latest revision as of 09:20, 9 September 2013
SOP for updating GHC in Fedora
This is a draft and work in progress.
Updating GHC to a new version is a heavy operation and should be done with due care and consideration. You probably also need to be a provenpackager or at least have commit access to most of the haskell-sig packages and/or coordinate with haskell-sig contributors. Note further that the current stable haskell-platform release dictates the current stable version of ghc.
Generally we do not update ghc version in stable releases without a good reason because of the large overhead of rebuilding everything.
For a branched release a version update and all consequent rebuilds of ghc-* etc needs to be done in a separate buildroot dist-fX-ghc to avoid disruption and repo breakage.
Steps
Sketch of steps for bootstrapping new ghc version into fedora. Needs some updating to be current.
- Build the new ghc version (in dist-fX-ghc if it is for a branched release)
- Wait for the buildroot to update:
- for rawhide:
koji wait-repo dist-fX-build --build=ghc-ver-rel
- for dist-fX-ghc: need to check the newRepo createrepo.log by hand.
- for rawhide:
- Build hscolour with bootstrapping enabled against the new ghc
- Wait for it to appear in the buildroot as above.
- Rebuild the new ghc version against itself to fix the ABI (note particularly the ghc API lib seems particularly ABI sensitive)
- Wait for the buildroot for the new ghc build.
- Chain-build ghc-transformers and ghc-mtl
- Wait for the buildroot.
- Chain-build haskell-platform stack (use haskell-sig/rebuild rebuild.sh)
- Wait for the buildroot.
- Rebuild ghc-mtl (maybe also ghc-utf8-string)
- :