Quy ước đặt tên gói Debian?


12

Tất cả đều rất khó hiểu. Có nhiều ví dụ khác nhau, ví dụ:

<package-name>_<epoch>:<upstream-version>-<debian.version>-<architecture>.deb

nguồn: tên tập tin gói debian

phần 5.6.12 Version hoặc Sổ Tay Chính Sách Debian cũng liên quan đến gói filename thực tế quá? Hoặc chỉ đến các trường trong tệp điều khiển?

Trong chủ đề wiki này về các định dạng kho lưu trữ, nó thực sự không nói gì về các quy ước, giống như trong hướng dẫn thực hành tốt nhất dành cho nhà phát triển .

Có lẽ tôi chỉ đang tìm kiếm điều sai, xin vui lòng giúp tôi và cho tôi biết nơi tìm các quy ước tên gói Debian. Tôi đặc biệt tò mò nơi đặt tên mã Debian. Tôi muốn làm một cái gì đó như thế này:

<package-name>_<version>.<revision>-<debiancodename>_<architecture>.deb

nơi <debiancodename>chỉ là squeezehoặc wheezy.


Phần của chính sách chỉ đề cập đến tệp thay đổi. Chỉ cần đổi tên debvà điều chỉnh .changestệp
Ulrich Dangel

có nghĩa là không có quy ước nào về tên tệp cho tệp .deb?
Preexo

1
@prexo có nhưng không có định nghĩa chính thức. Và nếu bạn muốn điều chỉnh tên tệp, chỉ cần đổi tên deb và điều chỉnh tệp thay đổi. Nếu bạn không tải lên, việc đổi tên tệp
gỡ lỗi

cảm ơn! vâng tôi không tải lên để vấn đề được giải quyết kinda;) làm cho một câu trả lời với điều đó và có thể về cách nghiêm ngặt các quy ước đang có và tôi sẽ chấp nhận nó như một câu trả lời :)
Preexo

Câu trả lời:


11

Tôi hiểu rằng bạn muốn phân phối / triển khai một gói cho nhiều bản phân phối dựa trên Debian.

Trong thế giới Debian / Ubuntu, bạn không nên cung cấp .debtệp riêng lẻ để tải xuống và cài đặt. Thay vào đó bạn nên cung cấp một kho lưu trữ APT. (trong thế giới Fedora / Red Hat / CentOS, tôi sẽ đưa ra một lời khuyên tương tự để cung cấp kho lưu trữ YUM). Không chỉ giải quyết vấn đề về cách đặt tên tệp deb, mà kho lưu trữ là một cách hiệu quả để cung cấp phiên bản mới hơn của gói của bạn, bao gồm sửa lỗi và cập nhật bảo mật. Tạo kho lưu trữ APT nằm ngoài mục đích của trang / câu hỏi này, chỉ cần tìm kiếm "cách thiết lập kho lưu trữ apt"

Bây giờ trở lại câu hỏi của bạn: "quy ước đặt tên gói":

Khi bạn tạo gói với dpkg-buildpackage, gói sẽ được đặt tên theo cách tiêu chuẩn. Trích dẫn trang chủ dpkg-name :

Tên gói đầy đủ bao gồm kiểu gói_version_arch architecture.package như được chỉ định trong tệp điều khiển của gói.

package_version_architecture.package-type

Chính sách Debian nơi thích hợp để biết cú pháp của các tệp điều khiển: tên (cho cả gói Nguồn và gói nhị phân), phiên bản , kiến trúc , loại gói .

Không có quy định nào để nêu rõ sự phân phối, bởi vì đây không phải là cách mọi thứ diễn ra.

Nếu bạn cần biên dịch cùng một phiên bản của một gói cho nhiều bản phân phối , bạn sẽ thay đổi versiontrường (trong tệp debian/changelogdebian/controltệp). Một số người sử dụng tên phân phối trong trường phiên bản. ví dụ openssl :

0.9.8o-4squeeze14 
1.0.1e-2+deb7u14
1.0.1k-1 

Nếu đó là những gì bạn muốn làm, hãy chắc chắn để đọc debian-chính sách về debian_revisiontrong phiên bản .

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.