ocamlx() deps changed by mass rebuild

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



OCaml dependencies encode a MD5 hash across the code in the library. eg:

  $ ocamlobjinfo /usr/lib64/ocaml/unix.cma | grep Unix
  Unit name: Unix
     e6d191b089c68976347fa6524bb28048	Unix

This is encoded into the Fedora dependency, which is necessary because
the OCaml compiler checks the hash and will complain (fail to compile
code) if the hash between libraries is not in agreement:

  $ rpm -q --provides ocaml | grep 'ocaml(Unix)'
  ocaml(Unix) = e6d191b089c68976347fa6524bb28048

Note this hash applies to OCaml bytecode libraries, which we don't
really use in Fedora, but it was convenient to encode this since it
doesn't change except if the source code of the library changes.

So far so good ...

However Fedora recently-ish started also generating a hash for native
code OCaml libraries.  The change was actually made in RPM here:

  https://github.com/rpm-software-management/rpm/issues/913

In theory these hashes are also supposed to be stable - eg. a simple
rebuild of the package should not change the hash.  Unfortunately for
some reason that I don't understand they were changed in the mass
rebuild.  eg. compare ocamlx(Dynlink) between:

https://koji.fedoraproject.org/koji/rpminfo?rpmID=23061389 (before)
https://koji.fedoraproject.org/koji/rpminfo?rpmID=24866739 (after rebuild)

Notice that ocaml(Dynlink) (bytecode) is the same, but ocamlx(Dynlink)
(native code) changed.

I tried to reproduce this locally, by recompiling ocaml and changing
the release number, upgrading gcc, and a few other things, but I
couldn't get the dependencies to change at all.

So ... I don't know.

It's a bit of a mess at the moment, and some, possibly many, ocaml-*
packages in Rawhide may be uninstallable.

We're expecting that ocaml 4.12.0 will be released very soon - perhaps
as soon as later this week - and I will do a mass rebuild of all the
OCaml packages which will as a side effect fix this.

In the meantime I will rebuild packages on demand if people encounter
problems (in fact, already started that, see
https://bugzilla.redhat.com/show_bug.cgi?id=1923853)

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux