2017-12-04 35 views
5

Nếu tôi có tệp debian/control với các mục nhập Build-DependsDepends.Cách cài đặt Bản dựng phụ thuộc của Debian và Phụ thuộc

Làm cách nào để cài đặt cả hai bộ phụ thuộc?

Hiện tại, tôi đang sử dụng lệnh sau để tạo gói sơ khai phụ thuộc vào Build-Depends nhưng không phải là Depends.

$ mk-build-deps --build-dep \ 
&& dpkg -i *.deb \ 
|| apt-get update && apt-get install --fix-broken --yes \ 

Trả lời

3

Giả sử đây là một gói phần mềm tiêu chuẩn trong kho apt của bạn, bạn sẽ có thể chỉ đơn giản là chạy

apt-get build-dep PACKAGE [PACKAGE…] 

Nói chung, giải pháp tốt nhất là tìm một gói với các phụ thuộc cùng (tốt hơn, một phiên bản giống hệt nhau nhưng khác nhau của cùng một gói) và chỉ build-dep nó. Điều này giải quyết 99 +% những vấn đề này trong kinh nghiệm của tôi.


Tôi không biết mk-build-deps ở tất cả, nhưng bạn có thể chạy này để xem những gì phụ thuộc được gọi ra trong một file debian/control:

echo $(sed -re '/^(Build-)?Depends:/,/^[^ ]/!d;//d' \ 
      -e 's/^ //;s/[^a-z0-9-].*$//;/^$/d' PACKAGE/debian/control) 

(này xem xét các tập tin điều khiển Debian cho dựng- Tùy thuộc và phụ thuộc vào dòng và chỉ trình bày các phụ thuộc được liệt kê, không bao gồm bất kỳ biến nào (mà tôi cho là đã được bao gồm trong các lần truy cập khác từ tệp). , /^$/d xóa các dòng bị làm trống bởi thay thế trước đó , xóa phiên bản, các mục tùy chọn, biến và dấu phẩy.)

Thay thế echo bằng apt-get install nếu bạn muốn, nhưng bạn có thể cần phải cắt bớt các mục bạn đang tìm kiếm để tùy chỉnh và/hoặc cài đặt thủ công trước.

Sau đó, bạn sẽ có thời gian dễ dàng hơn với dpkg -i *.deb. Vui lòng thử apt-get install --fix-broken bất kỳ lúc nào nếu bạn bị kẹt.

+0

Tôi cho rằng tôi không thể sử dụng 'apt-get build-dep' trên tệp' debian/control'? Các gói phần mềm đã phải tồn tại? –

+0

'apt-get build-dep PACKAGE' sẽ cài đặt các phụ thuộc xây dựng cho phiên bản mới nhất (bao gồm cả không ổn định) của PACKAGE như được lưu giữ trong bất kỳ kho lưu trữ nào của bạn, chứ không phải cục bộ. Nó không yêu cầu phải cài đặt PACKAGE. Nếu bạn cần phân tích cú pháp tệp 'debian/control' vì bạn không thể tìm thấy một gói đủ tương tự trong các kho lưu trữ của mình, hãy sử dụng nửa sau câu trả lời của tôi. –

Các vấn đề liên quan