[devel] rpm-build-ocaml [3]

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Апр 2 10:47:45 MSD 2008


Я сделал почти всё, что хотел сделать с окамлем и его зависимостями.
Резюмирую.

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).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080402/71277f3b/attachment-0002.bin>


Подробная информация о списке рассылки Devel