Чому деякі пакети мають додаткові цифри перед двокрапкою на передній частині рядка їх версії?


29

Я щойно помітив, що Wine (та ряд інших пакунків) перенесли свою схему версій на щось на кшталт:

1:1.6.2-0ubuntu3

Я все розумію , після1: ... Але що робить 1:мова?

Схоже, це не відображає основної версії. Переглядаючи список оновлених оновлень, є такі версії, як: 2:4.1.3...і є безліч пакетів без #:префікса.

Що відбувається?


це , здається, специфічно Ubuntu, packages.debian.org/sid/wine не має префікс
Сільвен Pineau

Він також новий для Wine в Ubuntu (станом на 14.04), але інші пакети, такі як python3-uno( в Ubuntu та Debian ), мають префікс послідовно.
Олі

Дійсно, я знайшов відповідь на суперпользователя
Сільвен Піно

@Oli Він не новий для вина, він завжди був там, але оскільки його значення було 0весь час до 14.04, його було пропущено, щоб він був записаний у рядку версії. Отже, ви можете придумати всі ці пакунки без #:префікса, оскільки вони містять насправді 0:. Дивіться відповіді, які ви отримали, щоб краще зрозуміти.
Radu Rădeanu

Відповіді:


26

Від 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.

Отже, це додаткове число (у вашому випадку 1) стосується компонента епохи, який може бути опущений, у випадку, коли передбачається 0 . І так, якщо ви бачите рядок версії, яка виглядає так, 1.6.2-0ubuntu3ви можете подумати, що насправді це виглядає 0:1.6.2-0ubuntu3. Наскільки це корисно і як це відбувається: надається, щоб дозволити залишити помилки в номерах версій старих версій пакета, а також попередні схеми нумерації версій пакету . Щоб краще зрозуміти, ознайомтеся детальніше з наступними пояснювальними параграфами з Посібника з політик Debian - Керуйте файлами та їх полями :

При порівнянні двох номерів версій, спочатку епоха кожного порівнюється, то upstream_version , якщо епоха дорівнює, а потім debian_revision , якщо upstream_version також дорівнює. епоха порівнюється чисельно.

І:

Зауважимо, що мета епох полягає в тому, щоб ми могли залишити після себе помилки в нумерації версій і впоратися з ситуаціями, коли змінюється схема нумерації версій. Він не покликаний впоратися з номерами версій, що містять рядки літер, які система управління пакунками не може інтерпретувати (наприклад, ALPHAабо pre-), або з дурними замовленнями.


14

Це епоха. Він переосмислює версію, визначаючи, який із двох пакетів є новішим:

На deb-versionчоловіковій сторінці:

   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.

Джерело

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.