Tại sao một số gói có số phụ trước dấu hai chấm ở phía trước chuỗi phiên bản của chúng?


29

Tôi vừa nhận thấy rằng Wine (và một số gói khác) đã chuyển sơ đồ phiên bản của chúng sang một cái gì đó như:

1:1.6.2-0ubuntu3

Tôi hiểu tất cả mọi thứ sau khi các 1:... Nhưng những gì hiện các 1:tham khảo?

Nó dường như không phản ánh phiên bản chính. Nhìn vào danh sách các bản nâng cấp đang chờ xử lý, có các phiên bản như: 2:4.1.3...và có rất nhiều gói không có #:tiền tố.

Chuyện gì đang xảy ra vậy?


nó có vẻ là Ubuntu cụ thể, packages.debian.org/sid/wine không có tiền tố này
Sylvain Pineau

Nó cũng mới đối với Wine trong Ubuntu (kể từ 14.04) nhưng các gói khác như python3-uno( trong Ubuntu trong Debian ) luôn có tiền tố.
Oli

Thật vậy, tôi đã tìm thấy câu trả lời trên superuser
Sylvain Pineau

@Oli Nó không phải là mới đối với rượu vang, nó luôn ở đó, nhưng vì giá trị của nó luôn luôn 0cho đến ngày 14.04, nên nó đã bị bỏ qua để được viết trong chuỗi phiên bản. Vì vậy, bạn có thể nghĩ rằng tất cả các gói đó không có #:tiền tố như trên thực tế 0:. Xem câu trả lời mà bạn đã nhận được để hiểu rõ hơn.
Radu Rădeanu

Câu trả lời:


26

Từ man deb-version:

NAME
       deb-version - Debian package version number format

SYNOPSIS
       [epoch:]upstream-version[-debian-revision]

DESCRIPTION
       Version  numbers as used for Debian binary and source packages
       consist of three components. These are:

       epoch  This is a single (generally  small)  unsigned  integer.
              It  may  be omitted, in which case zero is assumed.  If
              it is omitted then the upstream-version may not contain
              any colons.

              It is provided to allow mistakes in the version numbers
              of older versions of a package, and  also  a  package's
              previous version numbering schemes, to be left behind.

Vì vậy, số phụ đó (trong trường hợp của bạn 1) đề cập đến thành phần epoch có thể được bỏ qua trong trường hợp 0 ​​được giả sử . Và vì vậy, nếu bạn thấy một chuỗi phiên bản trông giống như 1.6.2-0ubuntu3bạn có thể nghĩ rằng trên thực tế nó trông như thế 0:1.6.2-0ubuntu3. Điều này hữu ích như thế nào và điều này diễn ra như thế nào: Nó được cung cấp để cho phép các lỗi trong số phiên bản của các phiên bản cũ hơn của gói, và cả các sơ đồ đánh số phiên bản trước của gói, bị bỏ lại . Để hiểu rõ hơn, hãy xem kỹ các đoạn giải thích sau từ Hướng dẫn chính sách Debian - Các tệp điều khiển và các trường của chúng :

Khi so sánh hai số phiên bản, đầu tiên epoch của mỗi số được so sánh, sau đó upstream_version nếu epoch bằng nhau, và sau đó debian numvision nếu upstream_version cũng bằng nhau. kỷ nguyên được so sánh bằng số.

Và:

Lưu ý rằng mục đích của các kỷ nguyên là cho phép chúng ta bỏ lại những sai lầm trong việc đánh số phiên bản và để đối phó với các tình huống trong đó sơ đồ đánh số phiên bản thay đổi. Nó không có ý định đối phó với các số phiên bản có chứa các chuỗi chữ cái mà hệ thống quản lý gói không thể giải thích (chẳng hạn như ALPHAhoặc pre-) hoặc với các thứ tự ngớ ngẩn.


14

Đây là kỷ nguyên. Nó ghi đè phiên bản trong việc xác định gói nào trong hai gói mới hơn:

Từ deb-versiontrang người đàn ông:

   epoch  This is a single (generally small) unsigned integer.  It may  be
          omitted,  in  which case zero is assumed.  If it is omitted then
          the upstream-version may not contain any colons.

          It is provided to allow mistakes in the version numbers of older
          versions  of  a  package,  and also a package's previous version
          numbering schemes, to be left behind.

Nguồ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.