patches einspielen? wie?

bababong

Neuer User
Mitglied seit
19 Sep 2007
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
hallo alle zusammen,

ich habe folgendes problem, ich habe ein tracticket gefunden
das mir zur lösung meines problems helfen sollte. Und zwar sind dort einige Patches drin die ich gerne einspielen würde. diese patches hab ich aus dem trac
im original format runtergeladen und hab diese in mein freetz-trunk ordner kopiert. wenn ich nun patch -p0 < bla.patch kommt folgender fehler:
patch unexpectedly ends in middle of line
patch: **** Only garbage was found in the patch input.

hier noch der link zum ticket:
http://trac.freetz.org/ticket/273

sorry das ich so ne doofe frage stell, aber ich hab schon im wiki geguckt, gegooglet ... und ich find einfach keine lösung.

danke schonmal

bababong
 
Ich gehe schlicht davon aus, dass du dir zwar den Patch runtergeladen hast, aber irgendwie nicht den Link unten auf der Seite genutzt hast, um diesen zu speichern. Erst draufklicken, dann nach unten scrollen, dann speichern.
 
doch doch, ich hab immer den original format link benutzt...
oder kann es vielleicht daran liegen das ich colinux verwende ??
aber ich kann mir fast nich vorstellen das ne einfache textersetzung bei colinux
nich funktioniert wo doch so viele weitaus komplexere sachen tadellos funktionieren

leider versteh ich die syntax nich sonst würd ich das von hand machen :(

edit:
kann es sein das ich die patches vllt in irgend einen bestimmten ordner kopieren muss?
es gibt ja einen patches unterordner
 
Nein, musst du nicht. Poste doch bitte einfach mal die ersten Zeilen des PAtchfiles hier in Codetags, ja? Oder häng den kompletten Patch an.
 
so hier mal der kleinste:

Code:
Index: make/linux/Config.ohio-4mb_26.04.57
===================================================================
--- make/linux/Config.ohio-4mb_26.04.57	(revision 2650)
+++ make/linux/Config.ohio-4mb_26.04.57	(working copy)
@@ -585,7 +585,7 @@
 # CONFIG_MIPS_AVALANCHE_USB is not set
 CONFIG_AVM_CPMAC=y
 CONFIG_AVM_CPMAC_NUM_RX_BUFFERS=128
-# CONFIG_AVM_CPMAC_SWITCH is not set
+CONFIG_AVM_CPMAC_SWITCH=y
 
 #
 # Ethernet (1000 Mbit)
Index: make/linux/Config.ohio-4mb_26.04.49
===================================================================
--- make/linux/Config.ohio-4mb_26.04.49	(revision 2650)
+++ make/linux/Config.ohio-4mb_26.04.49	(working copy)
@@ -587,7 +587,7 @@
 CONFIG_MIPS_AVALANCHE_USB_DEBUG=0
 CONFIG_AVM_CPMAC=y
 CONFIG_AVM_CPMAC_NUM_RX_BUFFERS=128
-# CONFIG_AVM_CPMAC_SWITCH is not set
+CONFIG_AVM_CPMAC_SWITCH=y
 
 #
 # Ethernet (1000 Mbit)
 
Der Patch sieht ganz normal aus. Das Einzige was noch möglich ist, sind falsche Zeilenenden. Ich habe aber nicht ausprobiert, ob die zu so einer Fehlermeldung führen würden oder nur dazu, daß die zu patchende Datei nicht gefunden wird.
Du kannst mal file verwenden, um das zu prüfen
Code:
file bla.patch

Zur Bedeutung der Datei (ist vermutlich irgendwo ausführlicher erklärt, evtl. "man diff" oder nach "unified diff" suchen):
Zuerst steht der Name der Datei, die geändert werden soll. In diesem Fall sowohl nach "Index:" als auch nach "+++".
Danach kommt eine Anweisung, wie die Datei geändert werden soll:
Code:
@@ -[B]585[/B],7 +[B]585[/B],7 @@
[B]585[/B]/[B]585[/B] # CONFIG_MIPS_AVALANCHE_USB is not set
586/586 CONFIG_AVM_CPMAC=y
587/587 CONFIG_AVM_CPMAC_NUM_RX_BUFFERS=128
588/   -# CONFIG_AVM_CPMAC_SWITCH is not set
   /588+CONFIG_AVM_CPMAC_SWITCH=y
589/589 
590/590 #
591/591 # Ethernet (1000 Mbit)
Ich habe hier zusätzlich die Zeilennummern davor geschrieben. Die Zeilennummer steht hinter dem "@@", danach wie viele Zeilen es sind, jeweils für die alte und neue Fassung der Datei.
Die Zeilen mit Leerzeichen davor sind unverändert. die mit Minus davor ist die alte Version, die mit Plus ist die neue Version.

Konkret bedeutet es also, daß in der Datei make/linux/Config.ohio-4mb_26.04.57 die Zeile 588 von "# CONFIG_AVM_CPMAC_SWITCH is not set" auf "CONFIG_AVM_CPMAC_SWITCH=y" geändert werden soll.
 
ok vielen dank schonmal,
aber ich hab gerade gesehen das der eine patch 200 zeilen lang is und wenn ich das von hand mach, bau ich da glaub mehr fehler ein als ich gut mach ...

file bringt bei allen patches folgenden output, kann leider nich viel damit anfangen
Code:
$ file 5140_kernel.patch
5140_kernel.patch: RCS/CVS diff output text

kann man die patches nicht auch mit diff einspielen??

ich versteh das nich, wo da der fehler sein soll
ich probiers mal auf nem vserver wo native linux läuft und kein colinux ...
mal gucken ob da auch son fehler kommt
 
diff und patch sind die umgekerhten seiten der medaille. Also: NEin, nichts einspielen mit diff.

Um RalfFrield's Theroie mit den Zeilenumbrüchen zu testen, Speicher die Datei noch einmal mit "Ziel Speichern unter" (oder wie auch immer das in deinem Browser heisst) (solltest du die sachen aus dem Browser rauskopiert haben) und "beharke" sie noch einmal mit dem Tool "dos2unix"
Code:
dos2unix bla.patch
und versuch es noch einmal.
 
hmm ok habs konvertiert, und nun macht patch garnichts mehr ...
läuft schon seit 10min und kein output
aber das war wohl das problem, vielen dank ...

und nun warum hängts? :(

edit:
ich glaub daran lags doch nich ...
hab gerade mit notepad++ zeilenumbruch code angeguckt
und der is wie bei linux (LF)
und nich wie bei windows (CRLF)

ah ich vollpfosten, jetzte hatte ich das "<" vergessen, also lags doch an den zeilenumbrüchen, mir is gerade eingefallen das ich sie heut mittag nochmal neu runtergeladen hab und zwar vom linux aus und nich per windows

VIELEN VIELEN DANK :)

aber leider bringen die patches jetzt an sich fehler ....

$ patch -p0 < 5140_kernel.patch
patching file make/linux/Config.ohio-4mb_26.04.57
Hunk #1 FAILED at 584.
Hunk #2 succeeded at 725 with fuzz 2 (offset -87 lines).
1 out of 2 hunks FAILED -- saving rejects to file make/linux/Config.ohio-4mb_26.04.57.rej

naja mal gucken, falls jemand ne idee hat, ich wäre sehr dankbar
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,827
Beiträge
2,219,005
Mitglieder
371,520
Neuestes Mitglied
fredl_2
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.