Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Wie benutzt man Patch richtig?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2390
Location: Germany

PostPosted: Tue Jan 29, 2019 9:06 pm    Post subject: Wie benutzt man Patch richtig? Reply with quote

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
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5186

PostPosted: Tue Jan 29, 2019 10:04 pm    Post subject: Reply with quote

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
View user's profile Send private message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2390
Location: Germany

PostPosted: Wed Jan 30, 2019 3:06 pm    Post subject: Reply with quote

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
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5186

PostPosted: Wed Jan 30, 2019 3:30 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
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