Làm cách nào để tải lên gói có phụ thuộc vào PPA của tôi?


13

Tôi đã thực hiện một gói cho PPA của tôi và tải nó lên. Nó được xây dựng mà không có bất kỳ vấn đề.

Sau đó, tôi thực hiện một gói khác phụ thuộc vào đầu tiên và tải nó lên. Nó thất bại vì không thể tìm thấy các tập tin trong gói đầu tiên. Điều này khiến tôi tin rằng gói đầu tiên thậm chí không được cài đặt.

Làm thế nào tôi có thể chắc chắn rằng gói đầu tiên được cài đặt trước khi nó cố gắng xây dựng gói thứ hai?

Tệp điều khiển cho gói đầu tiên (libjsoncpp):

Nguồn: jsoncpp
Ưu tiên: thêm
Người bảo trì: Nathan Osman 
Bản dựng phụ thuộc: bản sửa lỗi (> = 7)
Phiên bản tiêu chuẩn: 3.8.3
Mục: libs
Trang chủ: http://jsoncpp.sf.net

Gói: jsoncpp-dev
Mục: libdevel
Kiến trúc: bất kỳ
Phụ thuộc: libjsoncpp (= $ {binary: Phiên bản})
Mô tả: Thư viện phân tích cú pháp JSON cho C ++
 jsoncpp là một thư viện C ++ giúp bạn dễ dàng
 đọc / ghi dữ liệu JSON.
 .
 Gói này chứa các công cụ phát triển cần thiết
 để tạo các ứng dụng sử dụng jsoncpp.

Gói: libjsoncpp
Mục: libs
Kiến trúc: bất kỳ
Phụ thuộc: $ {shlibs: Phụ thuộc}, $ {misc: Phụ thuộc}
Mô tả: Thư viện phân tích cú pháp JSON cho C ++
 jsoncpp là một thư viện C ++ giúp bạn dễ dàng
 đọc / ghi dữ liệu JSON.

Tệp điều khiển cho lần thứ hai (libsopp):

Nguồn: sopp
Ưu tiên: thêm
Người bảo trì: Nathan Osman 
Bản dựng phụ thuộc: bản sửa lỗi (> = 7)
Phiên bản tiêu chuẩn: 3.8.3
Mục: libs
Trang chủ: http://stackoverflow.quickmediasolutions.com

Gói: sopp-dev
Mục: libdevel
Kiến trúc: bất kỳ
Phụ thuộc: libsopp (= $ {binary: Phiên bản}), jsoncpp-dev
Mô tả: Thư viện C ++ để giao tiếp với các trang web StackExchange.
 vì vậy ++ là thư viện C ++ bao bọc chức năng của StackOverflow
 API. Nó cung cấp quyền truy cập vào tất cả các trang web StackExchange.
 .
 Gói này chứa các tệp phát triển cần thiết để viết phần mềm
 sử dụng như vậy ++.

Gói: libsopp
Mục: libs
Kiến trúc: bất kỳ
Phụ thuộc: $ {shlibs: Phụ thuộc}, $ {misc: Phụ thuộc}, libjsoncpp
Mô tả: Thư viện C ++ để giao tiếp với các trang web StackExchange.
 vì vậy ++ là thư viện C ++ bao bọc chức năng của StackOverflow
 API. Nó cung cấp quyền truy cập vào tất cả các trang web StackExchange.

Cả hai gói trong cùng một PPA?
Jeremy Kerr

@Jeremy: Vâng, đúng vậy.
Nathan Osman

Có phải gói thứ hai cần gói đầu tiên để xây dựng? (tức là gói * -dev của thư viện mà nó sử dụng)
txwikinger

@txwikinger: Vâng, đúng vậy. Bạn có cần phải xem các tập tin kiểm soát?
Nathan Osman

@txwikinger: Nvm. Tôi đã thêm chúng.
Nathan Osman

Câu trả lời:


10

Gói thứ hai (sopp) của bạn cần xác định rằng nó cần gói đầu tiên để xây dựng ; sự phụ thuộc mà bạn đã chỉ định (với Depends:) sẽ chỉ xử lý cài đặt.

Để thêm phụ thuộc bản dựng, hãy thêm phần này vào phần trên cùng ( Source:) của tệp điều khiển của bạn:

Bản dựng-phụ thuộc: jsoncpp-dev

Sau đó, bạn có thể thả jsoncpp khỏi Dependsdòng, vì shlibs:Dependsmacro sẽ tự hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.