Ubuntu: Was machen sie mit den Vanillequellen?

1373
user5210

Korrigiere mich, wenn ich falsch liege

Soweit ich weiß, ändern Distributionen wie Debian / Ubuntu / Fedora normalerweise den Vanille-Quellcode, bevor ein Paket erstellt wird. Was ist der Grund für diese Änderungen? Gibt es ein Problem mit der Originalquelle? Wie kann ich die Liste der Änderungen und den Grund für diese Änderungen an einem bestimmten Paket erhalten?

Danke für die Hilfe!

12

3 Antworten auf die Frage

18
liori
apt-get source package 

Sie erhalten zwei oder drei Dateien: "Original" - Tarball (manchmal geändert, aber selten ... die einzige Änderung ist häufig der Dateiname) - mit dem Namen * .orig.tar.gz ändert sich das Debian-Format in Form von * .diff .gz-Datei und einige Metadaten. Manchmal fehlt die Datei .diff.gz: Dies bedeutet, dass das Paket nur für debian / ubuntu erstellt wird, um einige sehr spezifische Distro-Arbeiten zu erledigen ... wie beispielsweise dakdas Hochladen von Debian-Archiven. Der gesamte Code befindet sich dann im ursprünglichen Tarball.

Die Gründe dafür sind vielfältig: Beheben von Fehlern für Software (wenn der Upstream dies nicht tut), Anpassung der Software an Debian (z. B. Anpassung der Dateipfade). Debian möchte, dass alle Pakete dem FileSystem Hierarchy Standard entsprechen . Dies ist eine sehr häufige Anpassung.

Das ursprüngliche Archiv ist manchmal nicht dasselbe wie das Upstream-Objekt, das aufgrund von Verpackungsproblemen erstellt wurde. Ich erinnere mich an ein Programm, das in mehreren Tarballs verteilt wurde, während sie nur eine ausführbare Datei generierten - der Debian-Betreuer entschied sich, ein eigenes "Original" -Tarball zu erstellen, das aus Teer-Upstream-Tarballs besteht. Der andere Grund ist, dass der Debian-Betreuer manchmal beschließt, dem Paket eine Binärdatei hinzuzufügen. Es ist schwierig, Binärdateien in die .diff.gz-Datei einzufügen, sodass der ursprüngliche Tarball geändert wird (dies ist in der Dokumentation des Pakets normalerweise eindeutig beschrieben).

Manchmal (sehr selten) ist die Lizenzierung das Problem. Es kommt vor, dass der Upstream die Auswirkungen einiger Lizenzen nicht versteht oder verstehen möchte. Debian möchte, dass alle Lizenzierungsprobleme gelöst werden. Es kommt daher vor, dass die Debian-Patches bestimmte Aufgaben ausführen oder dass der ursprüngliche Tarball aus nicht ordnungsgemäß verteilten Dateien entfernt wird.

Es kommt auch vor, dass einige Inhalte lizenziert sind, sodass Sie sie verwenden können, aber nicht weitergeben. In der Regel (zB für msttcorefonts, flashplugin-nonfree) das Debian - Paket ist nur eine Art von einem Installateur für ein Paket, und nicht den ursprünglichen Inhalt ist in der Verpackung.

pineDas Paket ist auch interessant, weil die Lizenz das Verteilen kompilierter Formulare verbietet. Daher gibt es kein pineBinärpaket, aber es gibt ein pineQuellpaket. Sie können es mit dem obigen Befehl herunterladen und für sich selbst in ein Debian-Paket kompilieren.

Pine wird jetzt als Alpin entwickelt, um die ursprünglichen Lizenzprobleme zu umgehen - http://www.washington.edu/pine/ theotherreceive vor 15 Jahren 0
Noch immer befindet sich das `Pine'-Paket im Repository. Nun, auf diese Weise werden Lizenzprobleme schwieriger. liori vor 15 Jahren 0
2
Kim

Die Gründe dafür sind wahrscheinlich so vielfältig wie es Betreuer und Pakete gibt. Ich denke, sie modifizieren die Software normalerweise so, dass sie sich besser in andere Software in der Distribution integriert oder Funktionen hinzufügt, die nicht in der "offiziellen" Version enthalten sind.

Sie können die Quellen (und die Ubuntu-spezifischen Unterschiede) abrufen, indem Sie sudo apt-get source PACKAGENAMEin die Befehlszeile eingeben . Es werden die Vanilla-Quellen und die Unterschiede des Pakets in das aktuelle Verzeichnis heruntergeladen. Sie enthalten normalerweise auch einige Kommentare in der Quelle.

1
Ryan Thompson

Denk darüber so. Wenn Sie das Programm vom ursprünglichen Quell-Tarball über installiert ./configure; make; make installhaben, müssen Sie noch etwas tun. Sie müssen Menüeinträge vornehmen, Konfigurationsdateien einrichten und so. Sie könnten geben ./configureein --prefix. Die Änderungen der Distributor sind oft nichts anderes als die Automatisierung dieser alltäglichen Aufgaben.