Đó là một câu hỏi rất rộng. Tôi sẽ cố gắng trả lời nhiều nhất có thể, nhưng chắc chắn đó không phải là hướng dẫn từng bước. Điều này là do không có thuật toán từng bước để tạo gói. Cách bạn sẽ thực hiện tùy thuộc vào nhiều yếu tố, chủ yếu dựa vào loại gói (ứng dụng, thư viện), cấu trúc nguồn và nhiều chi tiết.
May mắn thay, có một hướng dẫn kỹ lưỡng tại http://packaging.ubfox.com
Tôi sẽ cố gắng giúp bạn một chút với việc hiểu toàn bộ quá trình, vì vậy khi bạn sẽ quen thuộc hơn với nó. Hướng dẫn đóng gói bao gồm các tài nguyên để được trợ giúp thêm.
Trước hết bạn nên nhận ra rằng việc tạo một gói (tệp .deb) là một quá trình riêng biệt với việc tạo PPA. Tạo PPA là vấn đề truy cập vào hồ sơ của Launchpad của bạn và nhấp vào liên kết "Tạo PPA mới". Đó là tất cả. Nó được tạo ra, nó hoạt động, nhưng nó trống rỗng. Để tải lên một gói, trước tiên bạn phải tạo một gói. Nhưng hãy để tôi trả lời trước một số câu hỏi nhỏ của bạn.
- Ngôn ngữ lập trình KHÔNG quan trọng chút nào. Nó có thể là một ứng dụng C ++, tập lệnh Bash, Brainfuck Hello World, một tệp README duy nhất hoặc một bộ ảnh tuyệt vời. Các gói có thể chứa bất kỳ tập tin. Trong quá trình cài đặt, gói được trích xuất vào thư mục gốc ("/") của hệ thống tập tin của bạn. Bằng cách này, họ có thể đặt một số tệp vào thư mục nhị phân, thêm một số hình nền vào bộ mặc định của Gnome hoặc cung cấp cho người dùng tập lệnh Bash.
- Bạn KHÔNG cần thêm cái gì đó để nguồn. Nó phải là một thư mục cấp cao nhất có tên là "debian". Sẽ có một số tệp có chi tiết gói - chúng sẽ được sử dụng để xác định loại gói đó là gì, v.v.
- Phụ thuộc được liệt kê trong một trong các tệp này (trong số các chi tiết khác). Lấy chúng từ đâu? Chúng chỉ đơn giản là các gói khác mà ứng dụng của bạn sử dụng. Nhà phát triển ứng dụng S know biết các thư viện và tài nguyên mà chương trình của anh ta yêu cầu, vì vậy anh ta không gặp nhiều rắc rối với việc liệt kê chúng.
- Một số công cụ được sử dụng để xây dựng gói (pbuilder) có thể tự động điền vào các phụ thuộc, có thể bằng cách xác định ứng dụng của bạn yêu cầu gì trong quá trình biên dịch.
- Nó cũng được khuyến khích sử dụng AutoTools . Đó là điều khác bạn có thể cần thêm, nhưng có lẽ hầu hết mọi phần mềm đều sử dụng chúng. AutoTools là một tập hợp các chương trình cực kỳ hữu ích - automake, autoconf và autoscan để đặt tên cho một số. Khi bạn biên dịch và cài đặt một chương trình với ./có hình && make && hãy cài đặt nổi tiếng sau đó các autotool được sử dụng để tự động xử lý nguồn, để chuẩn bị các tài nguyên khác có trong nguồn để cài đặt và trích xuất kết quả của quá trình biên dịch đến nơi thích hợp (để trả lời câu hỏi của bạn: Bản dựng sẽ trích xuất đến NHIỀU nơi riêng biệt. các tệp nhị phân sẽ chuyển đến / usr / local / bin, các tài liệu tới / usr / local / share / docs, v.v. Ngoài ra, một tệp nhị phân từ một gói sẽ đi đến những nơi khác nhau, chuyển các nhị phân sang / usr / bin. Với cách bố trí thư mục phức tạp này? Sử dụng AutoTools - nó sẽ tự động quan tâm đến nó và đó là lý do tại sao chúng rất hữu ích).
Xây dựng gói .deb có thể trông như một quá trình thực sự phức tạp, nhưng nó không khó lắm. Tôi thực sự khuyên bạn nên hướng dẫn chính thức cho Ubuntu để tạo các gói: http://packaging.ubfox.com
Đó là LỚN, nhưng bạn sẽ thấy bạn có thể bỏ qua hầu hết các phần của văn bản đó (tùy thuộc vào gói bạn sẽ xây dựng). Về cơ bản, quy trình đóng gói bao gồm các phần này (tất cả đều được giải thích rõ ràng trong Hướng dẫn) :
- Ban đầu một số công cụ được sử dụng để xây dựng các gói.
- Lấy nguồn
- Tạo thư mục ./debian và điền nó với dữ liệu cần thiết
- Xây dựng gói với debuild [Điều đó sẽ tạo một tập hợp các tệp, bao gồm * .dsc, * _source.build, * _source.changes, chịu trách nhiệm về dữ liệu về gói và cách xử lý (bạn cũng sẽ có một nguồn .tar.gz)]
- Kiểm tra xem mọi thứ có hoạt động hay không bằng cách chạy pbuilder cục bộ (sẽ lấy tất cả các tệp được đề cập ở trên và thử kết hợp chúng thành gói .deb, bằng cách tự động xây dựng nguồn với sự trợ giúp của AutoTools - đó là lý do tại sao chúng rất quan trọng để đóng gói [nói thẳng thắn - không - bạn có thể hòa thuận mà không có chúng hoặc với một số lựa chọn thay thế, nhưng đó là cách tiếp cận dễ dàng nhất và khác có thể yêu cầu một số thiết lập nâng cao, vì bạn sẽ cần hướng dẫn cho người xây dựng cách xây dựng nguồn (sử dụng tệp ./debian/rules ) - nhưng không dành cho người mới bắt đầu] ) - nếu bạn chỉ muốn nhận gói .deb, đã xong.
Bây giờ bạn sẽ phải tải nó lên PPA, được giải thích trên trang trợ giúp này: https://help.launchpad.net/Packaging/PPA/Uploading
- Sử dụng dput để tải các tệp này lên Launchpad
- Launchpad sẽ chạy pbuilder trên máy tính của họ và tạo các gói trong môi trường sạch
- Cuối cùng, các gói sẽ xuất hiện trong PPA.
Như bạn thấy việc tạo PPA không đơn giản như vậy . Nhưng đừng sợ hãi , điều đó cũng không khó. Hơn nữa, tôi khuyên bạn không nên khuyến khích các nhà phát triển sử dụng PPA, vì có lẽ họ sẽ không lắng nghe bạn, vì họ sẽ cần phải thực hiện một số công việc bổ sung (và nếu họ muốn họ đã làm điều đó rồi), nhưng bạn có thể muốn cố gắng hỗ trợ các nhà phát triển Ubuntu và toàn bộ cộng đồng và cung cấp cho họ các gói bạn đã chuẩn bị :)
Tôi chúc bạn may mắn với việc tạo các gói, hy vọng bạn sẽ thấy câu trả lời của tôi hữu ích :)
Bạn của bạn, Rafał Cieślak