.titleBar { margin-bottom: 5px!important; }

patches einspielen? wie?

Dieses Thema im Forum "Freetz" wurde erstellt von bababong, 30 Okt. 2008.

  1. bababong

    bababong Neuer User

    Registriert seit:
    19 Sep. 2007
    Beiträge:
    28
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
     
  2. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    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.
     
  3. bababong

    bababong Neuer User

    Registriert seit:
    19 Sep. 2007
    Beiträge:
    28
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  4. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    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.
     
  5. bababong

    bababong Neuer User

    Registriert seit:
    19 Sep. 2007
    Beiträge:
    28
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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)
    
     
  6. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  7. bababong

    bababong Neuer User

    Registriert seit:
    19 Sep. 2007
    Beiträge:
    28
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  8. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    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.
     
  9. bababong

    bababong Neuer User

    Registriert seit:
    19 Sep. 2007
    Beiträge:
    28
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #9 bababong, 30 Okt. 2008
    Zuletzt bearbeitet: 30 Okt. 2008
    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