Đây là lệnh dh_ocaml có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
dh_ocaml - tính toán các phụ thuộc của gói OCaml và cung cấp
SYNOPSIS
dh_ocaml [gỡ lỗi lựa chọn]
[--runtime-map=nhà phát triển:thời gian chạy,...]
[--no-bản đồ xác định=nhà phát triển:bỏ qua1,bỏ qua2]
[--tổng kiểm tra=str]
MÔ TẢ
dh_ocaml là một chương trình gỡ lỗi có nhiệm vụ điền ${ocaml:Provides} và
${ocaml:Depends} thay thế và thêm chúng vào các tệp subsvars.
dh_ocaml hoạt động trên ba loại gói nhị phân: những phần phát triển vận chuyển của OCaml
thư viện (thường được đặt tên là libXXX-ocaml-dev hoặc libXXXX-camlp4-dev), những thời gian chạy vận chuyển đó
dành cho các thư viện OCaml (ví dụ: plugin và thư viện chia sẻ, thường được đặt tên là libXXX-ocaml hoặc
libXXXX-camlp4) và những tệp thực thi không tùy chỉnh mã byte OCaml (ví dụ:
các tệp thực thi được giải thích bởi /usr/bin/ocamlrun).
Trên gói cụ thể, quy ước là XXX cho phát triển và XXX-base cho thời gian chạy (ví dụ:
ocaml-nox và ocaml-base-nox).
Trên các gói thư viện OCaml, dh_ocaml trước tiên sẽ xem xét các đối tượng OCaml được vận chuyển bởi
bưu kiện. Sau đó, dh_ocaml sử dụng chương trình thích hợp trên chúng để thu thập thông tin về
Các mô-đun OCaml được xác định và sử dụng bởi chúng. Thông tin về các đơn vị được xác định sẽ được sử dụng để
tự động tạo mục đăng ký OCaml md5sums cho gói phát triển và thời gian chạy,
ví dụ: /var/lib/ocaml/md5sums/libXXX-ocaml-dev.md5sums. Thông tin về đơn vị nhập khẩu
thay vào đó sẽ được sử dụng làm khóa trong sổ đăng ký OCaml md5sums để truy xuất phần phụ thuộc
thông tin cho gói. Những thông tin đó sau đó sẽ được sử dụng để điền vào
${ocaml:Depends} subsvars. Chúng cũng sẽ được sử dụng để điền vào biến con ${ocaml:Provides}
sẽ được thay thế bằng tên có dạng libXXX-ocaml-dev-NNNN, trong đó NNNN là một
tổng kiểm tra được tính toán từ các giao diện của các mô-đun do thư viện cung cấp.
Các tệp đối tượng (*.cm[ioax], *.cmx[as]) và các tệp thực thi được xử lý bởi ocamlobjinfo(1), nếu
có thể.
Các phần phụ thuộc được trích xuất từ sổ đăng ký md5sum của hệ thống, dh_ocaml sẽ thêm vào
${ocaml:Phụ thuộc}:
1. phụ thuộc từ libXXX-ocaml-dev sang libXXX-ocaml (phần thời gian chạy của thư viện), nếu
có gói libXXX-ocaml trong debian/control;
2. sự phụ thuộc từ libXXX-ocaml-dev vào các gói libYYYY-ocaml-dev-NNNN thích hợp;
3. phụ thuộc từ libXXX-ocaml vào các gói libYYYY-ocaml-NNNN thích hợp.
4. phụ thuộc từ XXXX vào các gói libYYYY-ocaml-NNNN thích hợp.
Đối với gói thời gian chạy ${ocaml:Provides} sẽ được đặt libXXXX-ocaml-NNNN và để phát triển
gói tới libXXX-ocaml-dev-NNNN.
Loại quan hệ tương tự được thiết lập giữa libXXXX-camlp4 và libXXXX-camlp4-dev
gói.
LỰA CHỌN
--tổng kiểm tra str
Tổng kiểm tra được nhà phát triển/thời gian chạy tự động tính toán từ giao diện được xuất
bưu kiện. Tổng kiểm tra này chỉ có thể hiển thị một phần thông tin về giao diện. TRONG
trong trường hợp này, tính toán tổng kiểm tra có thể được thay thế bằng một chuỗi khác cung cấp nhiều hơn
thông tin về sự phụ thuộc.
Thông thường, gói ocaml-nox/ocaml-base-nox không sử dụng tổng kiểm tra được tính toán nhưng
phiên bản OCaml.
--no-bản đồ xác định dev1:đơn vị1,đơn vị2,...
Bỏ qua một số đơn vị xuất của gói/thời gian chạy dev1. Tùy chọn này nên được sử dụng với
quan tâm. Đây là một trường hợp rất đặc biệt khi một thư viện gửi một bản thay thế cho
thư viện khác. Trong hầu hết trường hợp, nếu một thư viện gửi cùng một đơn vị thì nó sẽ như vậy
được coi là một lỗi.
Tùy chọn này có thể được lặp lại nhiều nếu cần để xác định bỏ qua cho tất cả quá trình phát triển
gói.
--runtime-map dev1:runtime1,dev2:runtime2,...
Mối liên hệ giữa phần phát triển của thư viện và thời gian chạy của chúng được đoán bởi
dh_ocaml theo chính sách đóng gói của OCaml. Vì vậy, libXXX-ocaml-dev là tên
của gói vận chuyển phần phát triển của thư viện XXX trong khi libXXX-ocaml, nếu
Any, là tên của gói vận chuyển thời gian chạy tương ứng. libXXXX-camlp4-dev
và các gói libXXXX-camlp4 được xử lý theo cách tương tự.
Sử dụng --runtime-map bạn có thể ghi đè tên gói phát triển cặp, thời gian chạy
tên gói hàng. Giá trị được chuyển tới --runtime-map không thừa nhận khoảng trắng và phải là dấu phẩy
danh sách các mục riêng biệt. Mỗi mục có thể là một tên gói duy nhất (nói rõ rằng
tên tương ứng với phần phát triển của thư viện) hoặc hai tên gói được phân tách
bằng dấu hai chấm (nói rằng phần đầu tiên tương ứng với phần phát triển của thư viện,
trong khi phần thứ hai là phần thời gian chạy đi kèm của nó).
Mọi gói không tuân theo libXXX-ocaml-dev/libXXX-ocaml,
libXXXX-camlp4-dev/libXXXX-camlp4 hoặc không được xác định trong bản đồ thời gian chạy là
được coi là gói nhị phân và sẽ chỉ được tìm kiếm mã byte.
Sử dụng dh_ocaml trực tuyến bằng dịch vụ onworks.net