Я сделал почти всё, что хотел сделать с окамлем и его зависимостями. Резюмирую. 1) Зависимости между байткод-юнитами окамля будут осуществляться через виртуальные зависимости вида ocaml-cmi(...) = V-hash 2) Зависимости между native-юнитами окамля будут осуществляться через виртуальные зависимости вида ocaml-cmx(...) = V-hash Суффиксы -cmi и -cmx выбраны after asmcomp/compilenv.ml: 42 mutable ui_imports_cmi: (string * Digest.t) list; (* Interfaces imported *) 43 mutable ui_imports_cmx: (string * Digest.t) list; (* Infos imported *) 3) Зависимости на ELF-плагины, подгружаемые из байткода, будут осуществляться через виртуальные зависимости вида ocaml-dll(...) 4) Для "!#/usr/bin/ocamlrun" байткода будет выставляться зависимость вида ocaml-runtime = V 5) Линковочные зависимости на сишные *-devel пакеты выставляются автоматически. Пример 1. $ /usr/lib/rpm/ocaml.req -v /usr/lib/ocaml/dbm.cmxa ocaml-cmi(Dbm) = 3.10-6AB42DFA ocaml-cmi(Pervasives) = 3.10-8BA3D1FA ocaml-cmi(Callback) = 3.10-E5CA1FB5 ocaml-cmx(Callback) = 3.10-A3F42724 ocaml-cmx(Pervasives) = 3.10-B5D0210C ocaml.req: /usr/lib/ocaml/dbm.cmxa: -ldb -> /usr/lib/libdb.so -> libdb4.4-devel libdb4.4-devel ocaml.req: /usr/lib/ocaml/dbm.cmxa: -lmldbm -> /usr/lib/ocaml/libmldbm.a -> ocaml ocaml $ Пример 2. $ /usr/lib/rpm/ocaml.req /usr/bin/ocamlbrowser ocaml-runtime = 3.10 ocaml-dll(unix) ocaml-dll(str) ocaml-dll(labltk) $ Я локально пересобрал несколько пакетов и убедился, что зависимости проставляются правильно, и анметов нету. Специалисты по окамлю благоволят смотреть gear-репозитарии /people/at/packages/rpm-build-ocaml.git /people/at/packages/ocaml.git Если квалифицированных мнений не поступт, то завтра я залью всё это в incoming и буду уповать на высшие инстанции! (Минимальные набор пакетов, который я собираюсь залить -- rpm-build-ocaml, ocaml, and findlib, in that order).