summaryrefslogtreecommitdiff
path: root/fileattrs
diff options
context:
space:
mode:
authorOlaf Hering <olaf@aepfle.de>2020-02-15 17:32:22 +0100
committerPanu Matilainen <pmatilai@redhat.com>2020-03-10 12:03:42 +0200
commita6fe37c39b39acbcbd014dd1e6d5653ff84254a1 (patch)
tree54eafb2817b52b3674da2cb43cc71d1c0b1d28a9 /fileattrs
parentaa90b2e884b75047cae3284c9ccdf968389e3a4a (diff)
downloadrpm-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.attr7
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)$