Was ist der richtige Weg, um Wine für eine benutzerdefinierte PPA zu patchen?


9

Ich habe Wine manuell Patches zur Verwendung auf meinem eigenen Computer zugewiesen, möchte sie jedoch für meine Freunde und Verwandten in eine PPA einfügen.

Derzeit folge ich diesem Verfahren:

  1. Holen Sie sich die neueste Quelle von einem Upstream-PPA über apt-get source
  2. Verwenden Sie patchdiese Option , um meine inoffiziellen, nicht unterstützten Patches anzuwenden.
  3. Erstellen Sie ein Paket mit dpkg-buildpackage -rfakeroot -uc -b

Dies ist in Ordnung, um ein Paket zu erstellen, das auf meinem lokalen Computer ausgeführt wird. Jetzt möchte ich diesen benutzerdefinierten Build jedoch über eine PPA an andere verteilen.

Ist dieses Verfahren ausreichend oder gibt es ein korrekteres und / oder einfacher zu pflegendes Verfahren, das ich speziell für Wein befolgen sollte?


Diese Antwort auf eine andere Frage könnte einige nützliche Quellen liefern - ubuntu.stackexchange.com/questions/320/…
andol

Antworten:


16

Sie sind ziemlich nah an Ihren Beispielschritten, aber ich würde Folgendes vorschlagen:

  1. Holen Sie sich die Quellen mit apt-get source wineund cdin das neue Verzeichnis
  2. Finden Sie heraus, auf welcher Art von Patch-System das Weinpaket basiert : what-patch; In diesem Fall erfahren wir, dass das Weinpaket quiltfür das Patch-Management verwendet wird
  3. Da wir Quilt verwenden, fügen Sie der Quilt-Serie Ihre benutzerdefinierten Patches hinzu:
    QUILT_PATCHES = Debian / Patches-Quilt-Import <your-patchfile.patch>
    Wenn Sie mehrere Patches haben, führen Sie dies für jeden Patch in der Reihenfolge aus, in der Sie sie anwenden möchten.
  4. Fügen debian/changelogSie der Datei einen geeigneten Eintrag hinzu. Sie müssen die Versionsnummer ändern, um sicherzustellen, dass sich Ihre PPA-Version von der offiziellen Version unterscheidet. In der Regel sollten Sie die letzte Versionsnummer erhöhen und eine Tilde (~) gefolgt von Ihrer benutzerdefinierten Versionszeichenfolge (z ~jbowtie1. B. ) hinzufügen . Der dch -iBefehl kann auch dabei helfen.
  5. Erstellen Sie das Quellpaket:
    debuild -S
  6. Laden Sie Ihr Quellpaket auf das PPA-Buildsystem hoch:
    dput ppa: <your-ppa> ../wine*.changes
    Der Parameter <your-ppa> wird auf der Launchpad-Seite für die PPA angegeben, auf die Sie ihn hochladen möchten (Sie müssen dies vorher erstellen).

Normalerweise ist es eine gute Idee, vor dem Ausführen einen Test-Build durchzuführen. Mit dem pbuilderBefehl können Sie neu erstellen, was das PPA-Build-System mit Ihrem Paket tun würde (dh von einer Neuinstallation ausgehen, erforderliche Deps hinzufügen und dann erstellen).

In diesem Fall müssten Sie zuerst pbuilder einrichten (siehe https://wiki.ubuntu.com/PbuilderHowto ) und dann vor dem dput:

sudo pbuilder build ../*.dsc

Das ist ungefähr perfekt. Ist Schritt 3 anders, wenn ich Edit-Patch verwende, oder ist es besser, Quilt-Details zu lernen?
Jbowtie

Wenn Sie den Bearbeitungs-Patch verwenden, müssen Sie Ihren vorhandenen Patch als separaten Schritt anwenden. Aber das Ergebnis wird das gleiche sein, also ist es wirklich Ihr Anruf.
Jeremy Kerr

Verwenden debuild -S -saSie diese Option beim ersten Hochladen auf Ihre PPA. "-sa" hängt immer die ursprüngliche Quelle an.
blau

4

Das Ubuntu Packaging Guide enthält alle Informationen zum Packen für Ubuntu, einschließlich des Umgangs mit Patches.


Können Sie mich auf einen genaueren Abschnitt des Leitfadens verweisen? Ich kann den konzeptionellen Sprung von der Anleitung zum Verständnis, wie Weinpflaster speziell verpackt werden sollten, nicht ganz schaffen.
Jbowtie

1
Weinpflaster sind wie Pflaster in anderen Paketen. Sie sollten ein Patch-System wie Quilt verwenden, um die Patches hinzuzufügen. Auf diese Weise können Sie sie einfach aus den Paketen entfernen, wenn der Patch vorgelagert wurde. Kapitel 4 befasst sich mit den verschiedenen Patch-Systemen.
txwikinger


1

Jeremys Antwort ist direkt auf den Punkt.

Alternativ können Sie bzrdie Quelle, Patches und das Erstellen / Hochladen verwenden.

Siehe https://wiki.ubuntu.com/DistributedDevelopment , beginnend mit https://wiki.ubuntu.com/DistributedDevelopment/Documentation .
Während dies einige Schritte vereinfacht, z. B. das Zusammenführen für neue Upstream-Versionen (wenn Sie vorhaben, das ursprüngliche Ubuntu-Paket zu übertreffen), ist der ursprüngliche Ansatz "apt-get source" am Ende wahrscheinlich einfacher und einfacher.


-2

Ubuntu Tweak enthält eine PPA für Wein. Sobald diese in Ubuntu Tweak ausgewählt wurde, wird sie über regelmäßige Updates aktualisiert


Ich kenne die Wine-PPA, möchte aber eine eigene PPA erstellen, die einige benutzerdefinierte Patches enthält.
Jbowtie

-3

Von der Winehq-Website:

Öffnen Sie das Menü Softwarequellen unter System-> Administration-> Softwarequellen. Wählen Sie dann die Registerkarte Software von Drittanbietern und klicken Sie auf Hinzufügen.

Kopieren Sie dann die folgende Zeile und fügen Sie sie ein.

ppa: Ubuntu-Wein / ppa

Führen Sie dann das sudo apt-get-Update aus und installieren Sie anschließend den sudo apt-get-Wein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.