2010-01-28 29 views
6

Làm cách nào tôi có thể bao gồm tương tác thỏa thuận cấp phép trong tệp .deb? Câu hỏi Linux support for click-thru licenses chỉ hỏi nếu nó có thể, nhưng không phải như thế nào. Ngoài ra, tôi không chắc chắn nếu license info of a deb package thực sự là một cái gì đó có thể sử dụng ...Bao gồm thỏa thuận cấp phép trong tệp .deb

Tôi biết có thể bao gồm văn bản như một phần của mô tả gói, nhưng tôi muốn có nó tương tự như Windows MSI trình cài đặt.

Lưu ý rằng tôi không muốn có giấy phép bật lên lần đầu tiên ứng dụng chạy.

Tôi đang sử dụng dpkg-deb để tạo tệp .deb trên Ubuntu 8.10.

+0

Giải pháp tương tự tôi đang tìm RPM http://stackoverflow.com/questions/2132828/adding-license-agreement-in-rpm-package – Adil

Trả lời

7

Đặt câu hỏi trong tập lệnh preinst cho gói của bạn và nếu họ trả lời sai (hoặc không trả lời), hãy thoát tập lệnh có mã lỗi và gói sẽ không được cài đặt.

Cách thông thường để đặt câu hỏi của người dùng trong khi cài đặt gói là với debconf. Có các lựa chọn thay thế cho debconf, bao gồm chỉ sử dụng bash read nội trang dựng sẵn. Debconf chỉ làm cho nó dễ dàng cho bạn. Có một hướng dẫn tại http://www.fifi.org/doc/debconf-doc/tutorial.html

+0

Tôi cho rằng không có cách nào để làm GUI này một cách khôn ngoan? (Tôi sẽ sẵn sàng chấp nhận câu trả lời của bạn như là câu trả lời, bất kể.) Preinst script là ... –

+2

debconf có thể được cấu hình để sử dụng nhiều giao diện người dùng, bao gồm một giao diện đồ họa. Nhưng cấu hình đó được thực hiện bởi người quản trị hệ thống độc lập với bất kỳ gói nào, do đó bạn không thể kiểm soát được nếu bạn sử dụng debconf. Nhưng tôi nghĩ debconf cung cấp trải nghiệm người dùng tốt hơn bởi vì nó cho phép người dùng kiểm soát cách họ xem câu hỏi. –

+0

Điều này có thể hoạt động, tuy nhiên có một vài điều cần lưu ý. Đầu vào người dùng yêu cầu là một vi phạm Chính sách Debian, vì vậy bạn có thể muốn xem xét debconf. Debconf sẽ không yêu cầu đầu vào, nó có thể được chạy trong một chế độ không đầu nên nó không yêu cầu đầu vào. Nếu bạn không cài đặt được, bạn phải kiểm tra xem gói có thể dễ dàng bị xóa mà không phải hoàn thành quá trình cài đặt, nếu không bạn hoàn toàn có thể nhầm lẫn dpkg và không có gì sẽ cài đặt/xóa – AntonPiatek

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