diff options
author | Olaf Hering <olaf@aepfle.de> | 2020-02-15 17:32:22 +0100 |
---|---|---|
committer | Panu Matilainen <pmatilai@redhat.com> | 2020-03-10 12:03:42 +0200 |
commit | a6fe37c39b39acbcbd014dd1e6d5653ff84254a1 (patch) | |
tree | 54eafb2817b52b3674da2cb43cc71d1c0b1d28a9 /fileattrs | |
parent | aa90b2e884b75047cae3284c9ccdf968389e3a4a (diff) | |
download | rpm-a6fe37c39b39acbcbd014dd1e6d5653ff84254a1.tar.gz |
update OCaml requires/provides to cover also cmx
Dependencies between OCaml files containing native code are also tracked
by hashes, just like their bytecode counter parts.
OCaml native code files end with cmx, the relevent info is in cmx, cmxa
and cmxs files. Unlike all other OCaml files, cmxs files have ELF format.
OCaml has two variants of dependency tracking:
Interfaces, which are already tracked via "ocaml(MODULE) = HASH"
They are included in cmi, cma, cmo, cmx, cmxa and cmxs files.
Implementations, which are now tracked via "ocamlx(MODULE) = HASH"
They are included in cmx, cmxa and cmxs files.
Just like Interfaces can be excluded from the dependency list with the
option -i MODULE, Implementations are excluded with the option -x MODULE.
Previously the final rpm package also got an extra dependency to the
used ocaml runtime version. This is not strictly required because the
hashes are unique. Therefore this dependency is no longer created. The
option -c, which excluded this dependency, is still recognized.
Fixes #913
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Diffstat (limited to 'fileattrs')
-rw-r--r-- | fileattrs/ocaml.attr | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fileattrs/ocaml.attr b/fileattrs/ocaml.attr index 5fd087077..ad698b5fa 100644 --- a/fileattrs/ocaml.attr +++ b/fileattrs/ocaml.attr @@ -1,3 +1,4 @@ -%__ocaml_provides %{_rpmconfigdir}/ocaml-find-provides.sh -%__ocaml_requires %{_rpmconfigdir}/ocaml-find-requires.sh -%__ocaml_magic ^(Objective caml|OCaml) .*$ +%__ocaml_provides %{_rpmconfigdir}/ocamldeps.sh --provides +%__ocaml_requires %{_rpmconfigdir}/ocamldeps.sh --requires +%__ocaml_magic ^(ELF|Objective caml|OCaml) .*$ +%__ocaml_path .(cma|cmi|cmo|cmx|cmxa|cmxs)$ |