Was ist der Grund für die Verwendung einer nicht numerischen Paketkomponente für die Version?

7

Im Ubuntu-Standard-Repository (und nicht nur im Ubuntu-Standard-Repository) sehen Sie eine Paketversion wie 2.2.14-5ubuntu8.12.

Warum geben die Betreuer eine so seltsame Version im zentralen Paket-Repository an ?

Welche Aufgaben würde die 2.2.14-42Version nicht lösen?

zerkms
quelle

Antworten:

9

Namespace:

  • 2.2.14 ist die Versionsnummer aus dem Upstream-Paket (von apache.org)
  • -5 ist die Debian-Paketversion
  • Darüber hinaus nimmt Ubuntu einige Änderungen vor, wobei jede Iteration die Versionsnummer erhöht. ubuntu8.12

Hätte Debian ein -6und Ubuntu gemacht, um es zu nehmen, hätten Sie ein 2.2.14-6in Ubuntu und wahrscheinlich ein 2.2.14-6ubuntu1und so weiter gehabt, und die Anzahl wäre größer gewesen, was wichtig ist, wenn Sie möchten, dass es als Upgrade von betrachtet wird apt.

Wenn Sie Änderungen selbst vornehmen möchten, möchten Sie wahrscheinlich Ihren eigenen Namespace hinzufügen: 2.2.14-5ubuntu8.12zerkms1

Sobald Ubuntu ein 2.2.14-5ubuntu8.13 oder 2.2.14-5ubuntu9 oder 2.2.14-6 veröffentlicht, ist dies ein Upgrade.

Stéphane Chazelas
quelle
8

Ein Teil der Versionszeichenfolge ist die "Upstream" -Version. Upstream bedeutet in Richtung der ursprünglichen Quelle und Downstream bedeutet in Richtung des Distributionspakets. Ich denke, im Allgemeinen gibt es dazwischen nichts, also gibt es im Grunde zwei Stufen (die Originalquelle und das kompilierte Distributionspaket).

Zum Beispiel ist bash-4.2.39 genau das. Die ursprüngliche Quelle für bash-4.2.39 ist genau dieselbe und stammt vom selben Ort, unabhängig davon, ob Sie Fedora, Ubuntu, Arch oder etwas anderes verwenden. Es gibt nur eine Quelle für bash-4.2.39. "4.2.39" wäre das, was ich als Upstream-Versionsnummer bezeichnet habe.

Diese eine Quelle kann jedoch auf verschiedene Arten kompiliert werden (abgesehen von der Systemarchitektur). Dies ist sicherlich der Fall für Bash. Dies ist eine Entscheidung der nachgeschalteten Packager, die möglicherweise auch Dinge (z. B. eine Konfiguration) enthalten, die nicht in der ursprünglichen Quelle enthalten sind. Zu diesem Zeitpunkt kann es deutliche Unterschiede zwischen der für Ubuntu verpackten Bash 4.2.39 und der Bash 4.2.39 für Fedora geben (und Unterschiede zwischen Versionen derselben Distribution). Dies wird hauptsächlich durch den letzten Teil der Versionszeichenfolge angezeigt - "ubuntu8.12" oder was auch immer. Außerdem ist es wichtig, für welche Distribution und Distribution-Version das Paket kompiliert wurde, da es mit anderen Paketen (gemeinsam genutzten Bibliotheken) übereinstimmt, die für dieses Paket erforderlich sind. Selbst wenn für Ubuntu 10 und 12 eine Bash 4.2.39 verfügbar ist, sind diese möglicherweise nicht austauschbar.

Sachen wie '-42' deuten auf eine zusätzliche Versionierung durch die Distribution hin. Dies kann mit Konfigurationsunterschieden, dem Patchen von Distributionen usw. zu tun haben. In diesem Fall kann dieselbe '-42'-Version in mehreren Repositorys für mehrere Versionen der Distribution (und deren Ableitungen) verwendet werden.

Dies ergibt eine eindeutige Versionszeichenfolge, die die ursprüngliche Quellversion , die Paketversion und die spezifische Distribution + Distribution-Version angibt .

Goldlöckchen
quelle