Mengapa beberapa paket memiliki nomor tambahan sebelum titik dua di bagian depan string versi mereka?

29

Saya baru saja memperhatikan bahwa Wine (dan sejumlah paket lain) telah mengubah skema versi mereka menjadi seperti:

1:1.6.2-0ubuntu3

Aku mengerti segala sesuatu setelah itu 1:... Tapi apa yang 1:merujuk?

Sepertinya tidak mencerminkan versi utama. Melihat daftar pemutakhiran yang tertunda, ada beberapa versi seperti: 2:4.1.3...dan ada banyak paket tanpa #:awalan.

Apa yang sedang terjadi?

Oli
sumber
tampaknya khusus untuk Ubuntu, packages.debian.org/sid/wine tidak memiliki awalan ini
Sylvain Pineau
Ini baru untuk Wine di Ubuntu juga (per 14.04) tetapi paket lain seperti python3-uno( di Ubuntu dan di Debian ) memiliki awalan secara konsisten.
Oli
Memang, saya sudah menemukan jawabannya pada superuser
Sylvain Pineau
@ Oli Ini bukan hal baru untuk anggur, itu selalu ada di sana, tetapi karena nilainya 0selalu sampai 14,04, itu dihilangkan untuk ditulis dalam string versi. Jadi, Anda bisa memikirkan banyak paket tanpa #:awalan karena mengandung fakta 0:. Lihat jawaban yang telah Anda terima untuk memahami dengan lebih baik.
Radu Rădeanu

Jawaban:

26

Dari 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.

Jadi, angka tambahan itu (dalam kasus Anda 1) mengacu pada komponen zaman yang dapat dihilangkan dalam kasus 0 yang diasumsikan . Jadi, jika Anda melihat string versi yang terlihat seperti 1.6.2-0ubuntu3Anda dapat berpikir bahwa itu terlihat seperti itu 0:1.6.2-0ubuntu3. Bagaimana hal ini membantu dan bagaimana hal ini terjadi: Hal ini disediakan untuk memungkinkan kesalahan dalam jumlah versi dari versi yang lebih lama dari suatu paket, dan juga skema penomoran versi paket sebelumnya, harus ditinggalkan . Untuk lebih memahami, perhatikan paragraf penjelasan berikut dari Manual Kebijakan Debian - Kontrol file dan bidangnya :

Ketika membandingkan dua nomor versi, pertama epoch masing-masing dibandingkan, kemudian upstream_version jika epoch sama, dan kemudian debian_revision jika upstream_version juga sama. zaman dibandingkan secara numerik.

Dan:

Perhatikan bahwa tujuan zaman adalah untuk memungkinkan kita meninggalkan kesalahan dalam penomoran versi, dan untuk mengatasi situasi di mana skema penomoran versi berubah. Ini tidak dimaksudkan untuk mengatasi nomor versi yang berisi untaian huruf yang tidak dapat ditafsirkan oleh sistem manajemen paket (seperti ALPHAatau pre-), atau dengan pemesanan konyol.

Radu Rădeanu
sumber
14

Ini adalah zamannya. Itu menimpa versi dalam menentukan yang mana dari dua paket yang lebih baru:

Dari deb-versionhalaman manual:

   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.

Sumber

Sylvain Pineau
sumber