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 .