View previous topic :: View next topic |
Author |
Message |
ChrisJumper Advocate
Joined: 12 Mar 2005 Posts: 2390 Location: Germany
|
Posted: Tue Jan 29, 2019 9:06 pm Post subject: Wie benutzt man Patch richtig? |
|
|
Hallo lieber Leser,
ich hab da ein paar Fragen:
1. Wie kann ich mit Patch ein Abbild erzeugen das die Unterschiede aufweist?
2. Wie ist das bei Gentoo, wenn ein E-Build mehrere Patches nutzt? die Angaben zur Zeile und Position sind ja immer relativ zum vorherigen Patch.
3. Wenn ich ein Ebuild mit den vier Schritten
1) ebuild X.ebuild unpack
2) ebuild X.ebuild compile
3) ebuild X.ebuild install
4) ebuild X.ebuild qmerge
kompiliere und installieren. Wie sieht das dann aus mit den Patches die das Ebuild machen möchten?
Nach dem entpacken kann ich doch entsprechende Patches anwenden und Dateien durch bearbeitete Kopien ersetzen.
Wann genau werden die gepatched? Zwischen Schritt 1 und 2 oder vor Schritt 2?
Mein Problem ist die Patch-Reihenfolge, weil nachdem ich Patch Y angewendet hab könnte es ja sein das Patch Nummer 1 im Ebuild nicht mehr die richtigen Zeilen hat zum Abgleich.
Wie sollte ich ordentlich vorgehen?
Aktuell ist es mir zu Aufwendig dafür ein git-branch anzulegen wo ich diese Quelle synchronisiere, auch wen ich da wohl nicht darum herum komme. Trotzdem könnten die Sync-Zeiten ja zu unterschiedlichen Patch-Lines-Relationen führen? Daher nimmt man vielleicht immer die zu letzten Stable?
Ich hab jetzt halt den Patch von Google zu ghostscript-gpl-9.26 versucht rückwirkend zu erstellen. Was soweit ging, es kompiliert ohne Fehler. Sicher ob es hilft weiß ich erst am Wochenende wenn ich versuche den Exploit zu testen.
Zudem hab ich einige Zeilen geändert, weil diese ebenfalls im Developer Patch verändert waren. Es könnte sein das sich diese auf ghostscript Entwickler-Version beziehen. Das ganze schaut ein wenig wie eine Dauerbaustelle aus und als würde es im Grunde einer längere Überarbeitung benötigen.
Gleichzeitig ist das Integrieren von Schrifttypen und entsprechende parsen, als auch die Bereitstellung von Abwärtskompatiblität wohl ein größeres Unterfangen und ich bin mir fast sicher das es hier in Zukunft noch öfter zu Security Patches kommen wird.
Aktuell verteile ich den Patch indem ich die Dateien austausche die von dem Patch betroffen waren und es damit erneut kompiliere. Habe aber die Vermutung das andere Patches zu älteren Problemen vielleicht fehl schlagen und dadurch neue Sicherheitslücken öffnen.
Gerne würde ich in Zukunft aber den Entwicklern dadurch ein wenig Arbeit abnehmen, natürlich nur wenn die Qualität stimmt. Aber um diese überhaupt zu erreichen muss ich leider erst mal einige Fragen stellen.
Doch weil immer noch kein Patch zu ghostscript-gpl erschienen ist, denke ich ist Hilfe erwünscht.
Viele Grüße
ChrisJumper |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5186
|
Posted: Tue Jan 29, 2019 10:04 pm Post subject: |
|
|
wiso verwendest du nicht das "user patch" feature von portage (https://wiki.gentoo.org/wiki//etc/portage/patches)?
AFAIK werden diese Patches applied nachdem alle patches aus dem ebuild applied wurden. _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
ChrisJumper Advocate
Joined: 12 Mar 2005 Posts: 2390 Location: Germany
|
Posted: Wed Jan 30, 2019 3:06 pm Post subject: |
|
|
Ah danke für den Hinweis firefly.
Ich wollte ja durch eine Änderung ein Patch erstellen, nicht einen einfach nur anwenden.
Patches im Gentoo Wiki erklärt es ganz gut. Das mit Git kam mir immer ein wenig vor wie mit Kanonen auf Spatzen schießen, aber es ist wohl die einfachste Art einen Patch zu erstellen.
Ich hatte es jetzt in einem Separaten Verzeichnis gemacht und hatte die Illusion ich könnte via diff $Ordner-A $Ordner-B Abcde.patch den Patch erstellen.
Aber ich war mir auch nicht sicher welcher Status da genommen wird.
Mir ist halt nur aufgefallen das zum "Bug in PostScript trifft GhostScript und damit viele andere Programme" bei Verwendung von Ghoastscript 9.26 noch kein Patch existierte.
Anscheinend bewegt sich da auch nicht so viel: app-text/ghostscript-gpl vulnerability CVE-2019-6116
Der Bug Reporter schrieb:
Quote: | There are six patches in total from the announcement, but two of them don't seem to apply cleanly on top of ghostscript-9.26. |
Zuerst dachte ich, warte mal ein wenig, weil irgendwann vielleicht einfach eine neue Version von Ghostscript kommt aber hier haben wir seit fünf Tagen stille. Wie schon beim Android-Set als auch hier versuche ich halt mich eher weniger zu Beteiligen weil ich bestimmt Anfängerfehler mache oder wie schon beschrieben mir dafür mal ein Stable-System aufsetzen wollte an dem ich das auch ordentlich testen kann.
Eben so damit ein Beitrag in Zukunft auch eine Erleichterung oder Hilfe wäre. Weil ich jetzt aber für mich diesen Patch erstellt habe und probiere wollte ich das auf jeden Fall auch teilen oder zur Diskussion stellen. Weil sich nur so Dinge verbessern. |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5186
|
Posted: Wed Jan 30, 2019 3:30 pm Post subject: |
|
|
Ok, verstanden.
Der eine weg wäre, wie du schon geschrieben hast, das über git.
Aber wenn es nur "schnell" lokal gehen soll sollte folgendes funktionieren (grob skizziert):
1) ebuild X.ebuild unpack (hier sollten auch alle patches aus dem ebuild selbst angewendet werden)
2) source folder kopieren (z.b. mit endung .orig)
3) im original sourcen die Änderungen vornehmen
4) mit diff -u <original source dir> <changed source dir> > patch.patch ein patch file erzeugen _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|