Side tag 'f36-build-side-46495' (id 46495) created. Use 'fedpkg build --target=f36-build-side-46495' to use it. Use 'koji wait-repo f36-build-side-46495' to wait for the build repo to be generated.
Don't use it yet! I'm going to build a base set of packages into there (just ocaml, ocaml-findlib and their direct dependencies).
Once that's done I'll let you know and then we can work on updating packages in dist-git, and then continuing the rebuild to cover all the ocaml-* packages.
Rich.
On Mon, Oct 04, 2021 at 04:43:00PM +0100, Richard W.M. Jones wrote:
Side tag 'f36-build-side-46495' (id 46495) created. Use 'fedpkg build --target=f36-build-side-46495' to use it. Use 'koji wait-repo f36-build-side-46495' to wait for the build repo to be generated.
Don't use it yet! I'm going to build a base set of packages into there (just ocaml, ocaml-findlib and their direct dependencies).
Done this now. So if you have packages that you want to upgrade, commit the changes into dist-git rawhide branch, DON'T build it in regular Rawhide, you can optionally do the build in the side tag (see above).
I'll update this thread as I upgrade packages that I'm aware of.
Rich.
On Mon, Oct 4, 2021 at 11:18 AM Richard W.M. Jones rjones@redhat.com wrote:
Done this now. So if you have packages that you want to upgrade, commit the changes into dist-git rawhide branch, DON'T build it in regular Rawhide, you can optionally do the build in the side tag (see above).
I'll update this thread as I upgrade packages that I'm aware of.
Great! I've updated ocaml-fmt and ocaml-menhir in dist-git without builds. Those are the only 2 I'm aware of that need updating.
On Mon, Oct 04, 2021 at 06:18:04PM +0100, Richard W.M. Jones wrote:
On Mon, Oct 04, 2021 at 04:43:00PM +0100, Richard W.M. Jones wrote:
Side tag 'f36-build-side-46495' (id 46495) created. Use 'fedpkg build --target=f36-build-side-46495' to use it. Use 'koji wait-repo f36-build-side-46495' to wait for the build repo to be generated.
Don't use it yet! I'm going to build a base set of packages into there (just ocaml, ocaml-findlib and their direct dependencies).
Done this now. So if you have packages that you want to upgrade, commit the changes into dist-git rawhide branch, DON'T build it in regular Rawhide, you can optionally do the build in the side tag (see above).
I'll update this thread as I upgrade packages that I'm aware of.
Upgraded in dist-git:
ocaml-num (1.4) ocaml-lwt (5.4.2) ocaml-re (1.10.3) ocaml-labltk (8.06.11)
Rich.
Update on the build status tonight:
- I've done many packages, see: https://koji.fedoraproject.org/koji/userinfo?buildStart=0&userID=458&...
- It will fail because of earlier build failures and I will restart the script again tomorrow. The script will pick up where it left off.
- ocaml-camlp5 needs to be rebased, and needs some fiddling to make it work with 4.13.1. There are several packages which won't rebuild until that is done: gappalib-coq, haxe, ocaml-lablgtk3, why3, and any dependencies of those.
Git repo with the rebuild script: http://git.annexia.org/?p=fedora-ocaml-rebuild.git;a=summary
Rich.
I think we're done now. I will issue the Bodhi update in a few minutes.
Some highlights:
- Some packages using dune now require that ocaml-result-devel is installed at runtime (but it's not pulled in by default). I don't know exactly why, but see for example: https://src.fedoraproject.org/rpms/ocaml-parmap/c/ff9d11b089d8f43fa26d88d55e...
- New packages ocaml-parmap and ocaml-camlbz2. If there are other new packages, then I didn't spot them because they are not dependencies.
- I removed the dependency from ocaml-menhir -> ocaml-odoc which was only needed for building docs but brought in a giant chain of build dependencies (and menhir is a very core package). https://src.fedoraproject.org/rpms/ocaml-menhir/c/a0b14fbf2e8ab4b3a51240b768...
- Coq and related packages seemed to build fine on s390x.
I believe that all packages got rebuilt in the end, but I had to hack a few, especially https://src.fedoraproject.org/rpms/ocaml-merlin/commits/rawhide I have also filed a few bugs upstream. See comments in individual packages.
Overall it's not the worst but also not the best OCaml upgrade that I've done.
Rich.
https://bodhi.fedoraproject.org/updates/FEDORA-2021-37d56e6b48
On Tue, Oct 5, 2021 at 1:35 PM Richard W.M. Jones rjones@redhat.com wrote:
I think we're done now. I will issue the Bodhi update in a few minutes.
Great! Thanks for doing all that work.
- Some packages using dune now require that ocaml-result-devel is installed at runtime (but it's not pulled in by default). I don't know exactly why, but see for example: https://src.fedoraproject.org/rpms/ocaml-parmap/c/ff9d11b089d8f43fa26d88d55e...
Ah, yes, dune-configurator requires result. From dune-configurator.opam:
depends: [ "dune" {>= "2.9"} "ocaml" {>= "4.03.0"} "result" "csexp" {>= "1.3.0"} "odoc" {with-doc} ]
Most packages don't need dune-configurator. Those that do BR: ocaml-dune-devel instead of just ocam-dune. Thoughts on how to address this:
- Leave things the way they are, since you already worked around the issue. - Add "Requires: ocaml-result-devel%{?_isa}" to the ocaml-dune-devel package. The result package needs dune to build, but it doesn't need dune-configurator, so that will *probably* work. - Patch dune to remove the need for ocaml-result. That package is trivial for OCaml >= 4.03, so we could patch it to just use the standard library Result type. I used to do that for ocaml-csexp, which is needed to build dune, until upstream released a version without a dependency on result.
- Coq and related packages seemed to build fine on s390x.
That is excellent news.
I believe that all packages got rebuilt in the end, but I had to hack a few, especially https://src.fedoraproject.org/rpms/ocaml-merlin/commits/rawhide I have also filed a few bugs upstream. See comments in individual packages.
Wow, sorry you had to deal with that. I'll keep an eye on merlin upstream.
Overall it's not the worst but also not the best OCaml upgrade that I've done.
Thanks again!
On Tue, Oct 05, 2021 at 02:14:34PM -0600, Jerry James wrote:
On Tue, Oct 5, 2021 at 1:35 PM Richard W.M. Jones rjones@redhat.com wrote:
I think we're done now. I will issue the Bodhi update in a few minutes.
Great! Thanks for doing all that work.
- Some packages using dune now require that ocaml-result-devel is installed at runtime (but it's not pulled in by default). I don't know exactly why, but see for example: https://src.fedoraproject.org/rpms/ocaml-parmap/c/ff9d11b089d8f43fa26d88d55e...
Ah, yes, dune-configurator requires result. From dune-configurator.opam:
depends: [ "dune" {>= "2.9"} "ocaml" {>= "4.03.0"} "result" "csexp" {>= "1.3.0"} "odoc" {with-doc} ]
Most packages don't need dune-configurator. Those that do BR: ocaml-dune-devel instead of just ocam-dune. Thoughts on how to address this:
- Leave things the way they are, since you already worked around the issue.
- Add "Requires: ocaml-result-devel%{?_isa}" to the ocaml-dune-devel
package. The result package needs dune to build, but it doesn't need dune-configurator, so that will *probably* work.
- Patch dune to remove the need for ocaml-result. That package is
trivial for OCaml >= 4.03, so we could patch it to just use the standard library Result type. I used to do that for ocaml-csexp, which is needed to build dune, until upstream released a version without a dependency on result.
I'm not sure which is best. It's fixed at the moment though so I guess we can leave it and see if more packages need this in future.
Rich.
- Coq and related packages seemed to build fine on s390x.
That is excellent news.
I believe that all packages got rebuilt in the end, but I had to hack a few, especially https://src.fedoraproject.org/rpms/ocaml-merlin/commits/rawhide I have also filed a few bugs upstream. See comments in individual packages.
Wow, sorry you had to deal with that. I'll keep an eye on merlin upstream.
Overall it's not the worst but also not the best OCaml upgrade that I've done.
Thanks again!
Jerry James http://www.jamezone.org/
ocaml-devel@lists.fedoraproject.org