You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, January 18th 2005, 8:20pm

patchen...wie denn?

hallo!

hier wird so selbstverständlich davon ausgegangen, dass jeder weiss, wie man einen patch installiert. kann mir das vielleicht trotzdem nochmal jemand erklären? ;-)

ich bin im vdr verzeichnis und würde gerne den epgsearch_progressbar_menu_whatson.c.diff anwenden.

help!
danke!
grüße aus dortmund
marc

lostinspc

Intermediate

Posts: 561

Location: Stuttgart

  • Send private message

2

Tuesday, January 18th 2005, 8:27pm

RE: patchen...wie denn?

cat epgsearch_progressbar_menu_whatson.c.dif | patch -p1 --dry-run

wenn ohne Fehler dann das --dry-run weglassen ....
SW: vdr-latest, softhddevice -git, nvidia 331.38 , arch x86_64
HW: 1x Cine C/T V6, 1x Satelco Budget DVB-C, Asus P5G41-M, 2 GB, Pentium 6300, Asus G210 passiv, 60 GB Samsung SSD 470, 3TB WD AV GP (WD30EURS) , Silverstonetek LaScala 10M, LG LM 669S, 1920x1080@50
VDR-User #81

Monroe

Professional

Posts: 868

Location: Schellerten bei Hildesheim bei Hannover

  • Send private message

3

Tuesday, January 18th 2005, 8:27pm

RE: patchen...wie denn?

Klar, weil wir davon ausgehen, dass jeder dir FAQs gelesen hat, oder bei sowas konsultiert.


Monroe
VDR Wiki - Jeder kann mitmachen :rtfm

ULF

Sage

Posts: 3,898

Location: Niedersachsen

  • Send private message

4

Tuesday, January 18th 2005, 8:33pm

Also nee was diese FAQ so alles enthalten:

http://www.vdrportal.de/faq/index.php?si…1&id=12&lang=de

Gruss Ulf
Antec Fusion Black, M3N78-VM, Athlon 4850e, 2xDVB-c, yavdr

5

Tuesday, January 18th 2005, 8:35pm

RE: patchen...wie denn?

mhh danke erstmal, jetzt bekomme ich folgende meldung...


vdr:/usr/local/src/VDR # cat epgsearch_progressbar_menu_whatson.c.diff | patch -p1 --dry-run
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- ./menu_whatson.c~putchar 2004-12-29 14:33:25.000000000 +0100
|+++ ./menu_whatson.c 2004-12-29 14:36:18.000000000 +0100
--------------------------
File to patch:




Quoted

Original von Monroe
Klar, weil wir davon ausgehen, dass jeder dir FAQs gelesen hat, oder bei sowas konsultiert.



habs versucht...leider gibt es kein globales faq wo drin steht, welches faq das richtige für das aktuelle problem ist. vertue ich mich? ;-)
grüße aus dortmund
marc

6

Tuesday, January 18th 2005, 8:38pm

Quoted

Original von ULF
Also nee was diese FAQ so alles enthalten:

http://www.vdrportal.de/faq/index.php?si…1&id=12&lang=de

Gruss Ulf



tatsächlich, stundenlang gesucht und diese wunderschöne faq nicht gefunden!
grüße aus dortmund
marc

7

Tuesday, January 18th 2005, 9:21pm

RE: patchen...wie denn?

Quoted

Original von 10mabo
mhh danke erstmal, jetzt bekomme ich folgende meldung...


Perhaps you used the wrong -p or --strip option?

habs versucht...leider gibt es kein globales faq wo drin steht, welches faq das richtige für das aktuelle problem ist. vertue ich mich? ;-)


Probiers doch mal mit -p0

8

Wednesday, January 19th 2005, 2:18am

oda ins richtige Verzeichnis wechseln :D
und patch < patch.diff

rudibert

Intermediate

Posts: 240

Location: gebürtig ganz im Norden, aber Wohnort ist Spanien

  • Send private message

9

Monday, February 21st 2005, 12:05pm

richtiges Verzeichnis?

...welches ist das richtige Verzeichnis?

...hab schon einiges selbst erarbeitet, aber das Patchen wird auf so abstraktem Niveau erläutert, daß ich echt nicht zum Erfolg komme.

Vielleicht nimmt sich mal jemand beherzt der WIKI Seite "Patchen" an und begibt sich auf das Niveau von jemandem, der nicht weiß was

Quoted

Hier habe ich durch den -p1 Parameter den Pfad "graphlcd-0.0.7" abgeschnitten. Dies wäre nicht nötig gewesen wenn ich den Patch im übergeordneten Verzeichniss aufgerufen hätte (auf die Verzeichnissnamen achten!)


konkret zu bedeuten hat. (¿Was bedeutet einen Pfad abschneiden und welche Folgen hat das?) Ich glaube ja, daß die "Erklärer" es gut und ernst meinen, aber ein Beispiel, das alles nur noch unverständlicher macht... :rolleyes:

Was müssen denn für Pakete installiert sein, damit man "patchen" kann.

PS: Ich bin am heulen, jaja ich weiß..:gemein
Rudibert........wenn doch nur alles so zuverlässig liefe, wie der VDR...
Kubuntu-32bit (vdr1.7.27 seit 11/2012), Asrock G31M-GS mit kabellosen Tastaturen, 4GB RAM, TT 1.6 + SkyStar2.3 — USV-Betrieb (ausgeschaltet ~5W, startbereit über acpi-wakeup)

This post has been edited 1 times, last edit by "rudibert" (Feb 21st 2005, 12:15pm)


Posts: 1,997

Location: Wolfsburg

Occupation: Anwendungsentwickler

  • Send private message

10

Monday, February 21st 2005, 12:29pm

RE: richtiges Verzeichnis?

Ich bleibe mal bei dem in der FAQ angefangenen Beispiel.

Dort steht in der diff-Datei:

|diff -uN graphlcd-0.0.7/global.h graphlcd-0.0.8beta/global.h
|--- graphlcd-0.0.7/global.h 2003-06-20 10:03:38.000000000 +0200
|+++ graphlcd-0.0.8beta/global.h 2003-11-08 15:28:57.000000000 +0100

das bedeutet, dass er versucht die datei graphlcd-0.0.7/global.h zu patchen.
Du mußt also in $VDRPFAD/PLUGINS/src sein, da sonst dieses Unterverzeichnis nicht gefunden wird. Heißt es bei dir anders, z.b. "graphlcd-07" dann findet er es nicht. Aus diesem Grund geht man meist immer in das Verzeichnis das gepatcht werden soll also dein "graphlcd-07" oder wie auch immer es heißt und nutzt den -p - Schalter, dieser bewirkt, dass die ersten Pfadangaben ignoriert werden.
Es braucht dich also nicht zu interessieren ob der Patchersteller es graphlcd-0.0.7 graphlcd oder graphlcd-entwicklung genannt hat, du sagst einfach "ignoriere einen Pfad: -p1"

rudibert

Intermediate

Posts: 240

Location: gebürtig ganz im Norden, aber Wohnort ist Spanien

  • Send private message

11

Monday, February 21st 2005, 12:57pm

ups schnell!

Danke erstmal, Torsten -> hat ein wenig zum Verständnis beigetragen.

.../plugins/src bedeutet ja wohl, daß ich die deb-src auch runterladen muß, oder anders gefragt: Patchen geht IMMER nur in den Sources? (Scripte müssten sich doch auch direkt patchen lassen, und wo ist dann das Standard Verzeichnis?):idee
Rudibert........wenn doch nur alles so zuverlässig liefe, wie der VDR...
Kubuntu-32bit (vdr1.7.27 seit 11/2012), Asrock G31M-GS mit kabellosen Tastaturen, 4GB RAM, TT 1.6 + SkyStar2.3 — USV-Betrieb (ausgeschaltet ~5W, startbereit über acpi-wakeup)

Posts: 1,997

Location: Wolfsburg

Occupation: Anwendungsentwickler

  • Send private message

12

Monday, February 21st 2005, 1:11pm

RE: ups schnell!

Rein technisch kannst du alles patchen, also auch kompeliertes Zeugs.
Allerdings wirst du das in der praxis quasi nie anfinden, denn durch die verschiedenen Systeme ergeben sich unterschiedliche Dateien wenn sie auch mit gleichem Sourcecode kompeliert werden, das liegt an verschiedenen gcc-versionen, verschiedenen Bibliotheken anderen Parametern etc.

Im vdr-bereich sind alles nur patches für die Sourcen (oder scripte) also alles was Ascii-Code ist.


Was genau meinst du mit Standartverzeichnis? Durch den Parameter -p[Zahl] kannst du es ja immer so hinbiegen, dass du einfach in das Verzeichnis gehst wo gepatcht wird, ob das nun
/usr/src/vdr/PLUGINS/src/graphlcd oder /tim/buk/tu/lcd-plugin/ ist ist ihm vollkommen egal.

mbc

Professional

Posts: 1,020

Location: NRW

  • Send private message

13

Monday, February 21st 2005, 1:44pm

Ist ja alles scön und gut ...

Aber ... es wird in der Faq nur gezeigt was man eintippen muß damit man patchen kann.

Was ist bei Hunks bzw. rejects ...

Ich habs selber beim NoEPG für 1.3.21 gehabt und hab versucht in der Wiki bzw. im Portal ne Lösung fürs manuelle patchen zu finden, bin aber nicht fündig geworden.

Kann nicht mal bitte jemand der etwas von der Sache versteht mal DEUTLICH an Beispielen erklären (bzw. FAQ oder Wiki) wir so ein diff-File aufgebaut ist, was es will und was es soll , wofür die einzelnen Zahlen stehen .... u.u.u.

Braucht ja kein Roman zu sein, kurze Beispiele die andeuten was gemeint ist reichen ja ... (vorher --> Befehl --> nachher).

Da man ja relativ viel patchen ""muss"" wäre das bestimmt für viele hilfreich ... vor allem wenns mal nicht auf Anhieb klappt, weil man schon 3 patches eingespielt hat und der 4te jetzt rumzickt ...

MFG
Marco
Leider momentan kein VDR

This post has been edited 1 times, last edit by "mbc" (Feb 21st 2005, 1:46pm)


rudibert

Intermediate

Posts: 240

Location: gebürtig ganz im Norden, aber Wohnort ist Spanien

  • Send private message

14

Monday, February 21st 2005, 5:24pm

..das könnte eine wirkliche Hilfe werden...

..verzeihung Torsten, aber ich hatte ja angedeutet, daß ich verwirrt bin durch die Erläuterungen:

Quoted

Hierbei anzumerken ist auch noch, dass es vollkommen egal ist wo die Datei liegt. Man muß sie also nicht immer ins aktuelle Verzeichnis hineinkopieren, sondern man gibt den Pfad einfach mit an.
Allgemein gilt also:
entpacker ParameterFürStandardausgabe pfad/patchdatei | patch -p1


Standardausgabe ist das Terminal --->gut soweit klar, aber worauf bezieht sich aktuelles Verzeichnis??????

Aktuell???
--->von heute? oder
--->da wo ich das letzte mal jemanden getroffen habe? :prost2 oder
--->"find / aktuell"? :rolleyes:

...is ehrlich nicht bös gemeint, aber mein Eindruck ist, daß sich das Patchen einigen Leuten nicht intuitiv erschließt.

Wenn ich mit dpkg etwas installiere, kann ich mich auf / befinden und muß selbstverständlich den Pfad zum Installationsfile angeben, aber ich muß ihm nicht sagen, wohin das Paket installiert werden muß, oder "p-sonstwas eingeben" um Verzeichnisse abzuschneiden. So entfällt auch die Sorge durchs abschneiden etwas zu patchen, was gar nicht zu patchen wäre wegen falscher Version.

Beispiel: Ich würde gern VDRADMIN dahingehend patchen, daß er EPG_DIRECT beherrscht, aber es gibt nur einen Patch für 0.94. Da ich mit meinem 0.96 nach einigen Einstellungen nun aber ganz zufrieden bin, möchte ich nicht wieder auf die vorherige Version zurück...nur für den Patch! Also wie komme ich jetzt zu der Sicherheit, daß der Patch auch bei 0.96 keinen Schaden anrichtet, und auf welches Verzeichnis muß mein cat-Befehl zeigen, wenn ich alle meine Patches in

Quoted

/usr/src/<verzeichnisnamedespatches>

sammle.

Zum Verständnis des Unverständnisses:
VDRADMIN hat ja einige Verzeichnisse in denen sich etwas befindet, oder die es in seinem perl-sript text in variablen beschreibt oder aufruft--->aktuelles Verzeichnis ist also für den leidgeplagten Patchunkundigen der Horror:vader

..in der Hoffnung auf Gnade, Selbstbeherrschung und Nachsicht verbleibt..:angst
Rudibert........wenn doch nur alles so zuverlässig liefe, wie der VDR...
Kubuntu-32bit (vdr1.7.27 seit 11/2012), Asrock G31M-GS mit kabellosen Tastaturen, 4GB RAM, TT 1.6 + SkyStar2.3 — USV-Betrieb (ausgeschaltet ~5W, startbereit über acpi-wakeup)

This post has been edited 4 times, last edit by "rudibert" (Feb 22nd 2005, 10:21am)


Posts: 1,997

Location: Wolfsburg

Occupation: Anwendungsentwickler

  • Send private message

15

Monday, February 21st 2005, 5:48pm

aktuelles verzeichnis ist das in dem du dich gerade befindest. "pwd" gibt dir das aus.

rudibert

Intermediate

Posts: 240

Location: gebürtig ganz im Norden, aber Wohnort ist Spanien

  • Send private message

16

Monday, February 21st 2005, 6:41pm

print work directory...gut das war mir bekannt, schweift aber dolle von der Fragestellung ab :(
Rudibert........wenn doch nur alles so zuverlässig liefe, wie der VDR...
Kubuntu-32bit (vdr1.7.27 seit 11/2012), Asrock G31M-GS mit kabellosen Tastaturen, 4GB RAM, TT 1.6 + SkyStar2.3 — USV-Betrieb (ausgeschaltet ~5W, startbereit über acpi-wakeup)

This post has been edited 3 times, last edit by "rudibert" (Feb 22nd 2005, 10:22am)


Posts: 1,997

Location: Wolfsburg

Occupation: Anwendungsentwickler

  • Send private message

17

Monday, February 21st 2005, 7:15pm

Ok Marco,
ich habe es einmal versucht, aber nicht schlagen wenn es daneben oder unverständlich ist.
--
Patchen für Dummies
(in Anlehnung an die bekannte Buchreihe)

Was ist ein Patch?
Ein Patch (oder auch diff-Datei genann) ist nichts anderes als eine Differenzmenge zwischen 2 Dateien. Im vdr-Bereich sind diese Dateien zu 99,99% Textdateien wie z.B. Scripte oder Quellcodes.
Da man bei unterschieden ja auch dokumentieren muß was wo unterschiedlich ist enthält die Datei ein paar Steuerinformationen, so reicht es nicht zu sagen "Datei 10 wurde gelöscht" wenn man gar nicht dazu sagt ob in der alten oder in der neuen Datei, apropos Datei, der Patch enthält außerdem eine Information um welche Datei es überhaupt geht.

Wie ist ein Patch aufgebaut?

Nehmen wir an wir haben eine fiktive Datei D1:

Source code

1
2
3
4
5
Zeile 1
Zeile 2
Zeile 3
Zeile 4
Zeile 5


Und fiktive Datei D2:

Source code

1
2
3
4
5
Zeile 1
Zeile 2
Zeile 3 neu
Zeile 4
Zeile 5


dann ergäbe das eine Patchdatei mit dem Inhalt:

Source code

1
2
3
4
5
6
7
8
9
--- D1  2005-02-21 18:44:01.000000000 +0100
+++ D2  2005-02-21 18:44:40.000000000 +0100
@@ -1,5 +1,5 @@
 Zeile 1
 Zeile 2
-Zeile 3
+Zeile 3 neu
 Zeile 4
 Zeile 5


Als erstes gibt es nformationen welche Datein betroffen sind, die ausgangsdatei (--- -Zeile) und die Zieldatei (+++ -Zeile).
Außerdem gibt es eine Angabe "@@ -1,5 +1,5 @@" dieses heißt soviel wie "irgendwo bei der 5. Zeile ist was unterschiedlich" das patchprogramm weiß also später in welche Zeile es erst einmal springen muß.
Weiterhin gibt es nun Zeilen mit + und mit -, das ist ... genau ... das was getan wird. Es wird nach einer Zeile mit dem inhalt "Zeile 3" gesucht und diese gelöscht, dann wird eine Zeile mit dem Inhalt "Zeile 3 neu" eingefügt.

Das Patchprogramm bekommt also nun Informationen wo was wodurch ersetzt werden soll.

Soviel zur Information was eigentlich ein Patch ist und wie er aufgebaut ist.

Nun geht es weiter.

Wie liegt ein Patch vor?

Ein Patch kann auf mehrere Arten vorliegen.
a) als gepackte Datei
b) als ungepackte Datei
c) als Archiv mit mehreren gepackten Dateien

Beispiele:

a) patch.gz, patch.diff.gz, patch.diff.bz2
b) patch.diff, patch.patch
c) patch.tgz, patch.tar.bz2, patch.zip

Die Namen sind frei wählbar, man erkennt aber meist sehr schnell worum es sich handelt, mehr Informationen dazu gibt es gleich noch.

Bitte was? "mehrere gepackte Dateien"? Was das sein soll? Die Erklärung ist ganz einfach. Stellt euch vor ihr wollt ein Programm mit 100 Dateien patchen und jeder patch wäre eine einzelne Datei. Beim Patchrstellen würdet ihr irre werden und der der die Patches einspielen muß ebenfalls.
Daher kommen Patches öfters in der Variante c) vor, da sind dann intern mehrere Patch-Dateien enthalten, aber für das einspielen ändert das gar nix, man merkt davon nicht einmal etwas.

Wie spielt man einen Patch ein?

Kurz:
Man übergibt ihn an das Programm "patch".

Ausführlich:
Das Programm "patch" dient zum einspielen der Patches, dazu muß man dem Programm sagen wo der Patch zu finden ist, also z.B.:
torsten@torstenpc:/tmp > patch < /irgendwo/in/dem/verzeichnisbaum/liegt/diese/datei.diff
schon legt er los.
Er versucht nun im aktuellen Verzeichnis, in diesem Fall also "/tmp" eine Datei namens D1 zu finden um sie zu patchen (ich nehme die Beispiele von oben weiterhin).
Bei mir geht das, denn ich habe die Datei dort angelegt, doch würde ich mich im verzeichnis "/freigabe" befinden, dann gäbe es einen fehler:

Source code

1
2
3
4
5
6
7
8
9
torsten@torstenpc:/freigabe > patch < /tmp/patch.diff
can't find file to patch at input line 3
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|--- D1 2005-02-21 18:44:01.000000000 +0100
|+++ D2 2005-02-21 18:44:40.000000000 +0100
-------------------------
File to patch:

Gesundheit.
Die entscheidenden Informationen stehen hier:
can't find file to patch at input line 3
er kann eine Datei aus dem Patch nicht finden. Dieses ist meist ein Zeichen dafür, dass man sich in einem falschen Verzeichnis befindet.
Doch es kann auch etwas anderes sein, er deutet es schon an:
Perhaps you should have used the -p or --strip option?
Was soll das heißen?
Die Erklärung ist auch hier sehr einfach wenn man es einmal verstanden hat :)

Nehmen wir an meine Dateien sind über viele Unterverzeichnisse verteilt, dann würde ich ja kirre werden, wenn ich in jedes Unterverzeichnis gehen müßte um die zu analyiseren. Daher versteht die Patchdatei auch Verzeichnisse, nun könnte meine Datei anfangen mit:
|--- tmp/D1 2005-02-21 18:44:01.000000000 +0100
|+++ tmp/D2 2005-02-21 18:44:40.000000000 +0100
Er würde also die Dateien IMMER im Unterverzeichnis "./tmp" suchen, aktuell also in /freigabe/tmp.
Es geht zu schnell, ich merks :)
Situation:
Ich bin in: /freigabe
der Patch sucht in: ./tmp
der Patch sucht nach: D1
Also sucht der Patch nach /freigabe/tmp/D1
Diese Datei habe ich gar nicht, es gibt bei mit in /freigabe noch nicht einmal ein Unterverzeichnis names "tmp", allerdings habe ich meine Datei schon nach "/freigabe" kopiert.
Ich bin in: /freigabe
der Patch sucht in: ./tmp
der Patch sucht nach: D1
Ich habe: /freigabe/D1

Ich kann also:
a) ein Verzeichnis tmp anlegen und die Datei reinkopieren
b) dem Patcher sagen: "Hey du depp, ignoriere einfach mal dein erstes Verzeichnis"

Man wird a) nie machen, denn b) ist die Lösung der Wahl, genau das ist der "-p1" Parameter.
-p1 schneidet ein Verzeichnis weg -p2 zwei Verzeichnisse etc.

Ich kann also in /freigabe bleiben und meinen patch mit:
patch -p1 < /tmp/patch.diff
einspielen.

Nun ein paat Worte zu den Archiven also den Patchvorkommen a) und c) von oben.
Statt "patch < /tmp/patch" könnte ich auch schreiben "cat /tmp/patch.diff|patch" also den Inhalt an patch "pipen", das ist technisch quasi dasselbe in diesem Fall.
Das Programm "patch" kann nur ascii-Dateien also entpackte verstehen. Man kann nun
a) die Archive auspacken und einzeln patchen
b) einem Programm diese Arbeit machen lassen
Naja :) Keine Worte oder?
Nehmen wir b), das geht ganze einfach.
Für die gängigen Formate wie "tgz/tar.gz" und "gz" und auch "bz2" gibt es cat-Ableger, diese heißen einfach:
zcat, bzcat
einfach das entsprechende benutzen:
zcat /tmp/patch.diff.gz|patch
fertig.

Was kann beim Patchen passieren?
Eigentlich "nur" 3 Dinge.
a) nix :)
b) Hunks
c) Rejects

Passiert nix, dann ist alles ok, der Patchvorgang schaut etwa so aus:
torsten@torstenpc:/tmp > patch < patch.diff
patching file D1
torsten@torstenpc:/tmp >

fertig.

Hunks sind kleine Mißstände, die Patch aber korrigierenkann, sie sehen so aus:
torsten@torstenpc:/tmp > patch < patch.diff
patching file D1
Hunk #1 succeeded at 2 (offset 1 line).
torsten@torstenpc:/tmp >

Das heißt nix anderes als dass er einen Hunk hatte (#Nummer zählt er hoch) und zwar mußte er eine Patchzeile um 1 Zeile verschieben.
Was war passiert?
Meine D1 war nichtmehr so wie oben, sondern war nun:

Source code

1
2
3
4
5
6
Zeile 0
Zeile 1
Zeile 2
Zeile 3
Zeile 4
Zeile 5

also eine Zeile mehr in der Gegend wo er patchen muß, er hat sich also gewundert und nochmal genauer hingeschaut, hat seine "Zeile 3" gefunden die er ersetzen soll und munter weitergemacht.
Hunks sind im normalfall genauso wie "nix" solange alles läuft einfach ignorieren, sie treten sehr schnell auf sobald mal irgendwo eine Dokumentarzeile eingefügt wurde oder ähnliches.

Kommen wir zu den Rejects.
Unsere neue Datei D1:

Source code

1
2
3
4
Zeile 1
Zeile 2
Zeile 4
Zeile 5

Unsere Zeile "Zeile 3" fehlt also, genau das wo er patchen soll:
das schaut so aus:

torsten@torstenpc:/tmp > patch < patch.diff
patching file D1
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file D1.rej

igitt.
Aber er sagt ja: "saving rejects to file D1.rej"
Also schauen wir da mal rein:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
***************
*** 1,5 ****
  Zeile 1
  Zeile 2
- Zeile 3
  Zeile 4
  Zeile 5
--- 1,5 ----
  Zeile 1
  Zeile 2
+ Zeile 3 neu
  Zeile 4
  Zeile 5

nix neues, er sagt nur noch einmal was er machen sollte, nämlich "Zeile 3" löschen und durch "Zeile 3 neu" ersetzen, gibts nur nichtmehr, also bringt er einen Fehler.

In diesem Fall muß man fachlich tätig werden, man muß schauen was hier geändert wurde, denn es könnte ja auch etwas anderes sein, nämlich sowas:

Unsere neue Datei D1:

Source code

1
2
3
4
5
Zeile 1
Zeile 2
Zeile 3 alt
Zeile 4
Zeile 5

also statt "Zeile 3" der String "Zeile 3 alt" auch das findet er nicht, die Fehlermeldung ist absolut dieselbe wie oben, man muß also im Detail schauen was hier los ist. In den meisten fällen wurden nur Leerzeichen eingefügt (er würde bei " Zeile 3" auch abbrechen) oder es wurden Parameter in den Methoden geändert, oder halt sogar der komplette block neu geschrieben. Wie gesagt, pautschalisieren kann man hier nicht, da muß man genauer reinschauen was da los ist. Man kann sich da aber mit ein wenig Zeit gut einlesen, denn man weiß ja nun wo was wodurch ersetzt werden soll.

Ich hoffe das hilft ein wenig durch das Land der Patches durchzublicken...

mbc

Professional

Posts: 1,020

Location: NRW

  • Send private message

18

Monday, February 21st 2005, 7:30pm

!!! D A N K E !!!

Jauuu .... danke Thorsten ...

Ich muß mir zwar erstmal nen Tee machen um das ganze in Ruhe durchzulesen, aber vom überfliegen her ist es GENAU SO wie ich es mir als "noobfreundliche Erklärung" vorstelle ...

Eine wirklich sehr gute Beschreibung, ich denke mal nicht das da noch Fragen offen bleiben.

Das mit den BEispieldateien hate ich hier auch schon in einem anderen Thread gefunden (war glaube ich auch von Dir), aber ne "verständliche" Erklärung gabs da nicht zu ... von daher war der Thread nicht sehr hilfreich ...

Ich hoffe dieser hier kommt in die FAQ ...

So kann jeder auch mal selber eben nen diff schreiben ... ich habs wie gesagt beim noepg-patch machen müsen, weil der original nicht funktionierte ...

BTW ...

Quoted

@@ -1,5 +1,5 @@


Was bedeutet denn da dann die "1," ??
"-" und "+" sind klar und die "5" gibt in etwas die Zeile an, nur was macht die "1," ??

Das wäre noch so ausm stehgreif jetzt noch unklar für mich ... Ist das ne Art Nummerierung (wenn da mehrere Stellen gepatched werden), oder nur einfach die Anzahl der Zeilen die "betroffen" sind ?

MFG und VIELEN DANK nochmals für die mehr als Ausführliche Erklärung.

Wenn mehr Leute so Noob-freundlich schreiben würden, würden sich wohl mehr Anfänger damit beschäftigen, weil man wenisgteens versteht was man da liest und dann macht es auch Spaß mal etwas zu probieren.

Marco
Leider momentan kein VDR

This post has been edited 1 times, last edit by "mbc" (Feb 21st 2005, 7:34pm)


rudibert

Intermediate

Posts: 240

Location: gebürtig ganz im Norden, aber Wohnort ist Spanien

  • Send private message

19

Monday, February 21st 2005, 8:54pm

holladiewaldfee..

...Hut ab!!!! und ganz tief runter zum Diener machen:hat3

:respekt :respekt :respekt :respekt


stimme MBC vorbehaltlos zu:

DAS sollte archiviert werden; zum ganz leicht wiederfinden und als leuchtendes:cylon Beispiel :engel1 :applaus

..wer uns Rabauken derart ernst nimmt, der gehört wirklich geknuddelt:streichel

...Hoffe Du hast da jemanden dafür, Torsten #Hihihi:lachen1

PS:@mbc,mein Tip ist, das die erste Zahl sagt, von wo aus er los zählen soll, und die Zweite gibt den Zeilenumfang an (Zeilenumfang, oh mann :rolleyes:, aber mir fällt kein besseres Wort ein) Wenn der zu ändernde script Teil also bei Zeile 287 losgeht und der zu ändernde Teil sich in den nächsten 6 Zeilen abspieltl: -287,6 +287,6.
Es können sich in den nächsten 6 Zeilen aber auch 14 Zeilen ändern, wenn nämlich neue dazukommen (wie meistens!!)
---> dann heißts: -287,6 +287,14 - so kann man sicher stellen, daß auch wirklich der richtige Sriptteil geändert wird und nicht eine Zeile die zufällig gleich anfängt, aber dann ganz anders weitergeht.
Rudibert........wenn doch nur alles so zuverlässig liefe, wie der VDR...
Kubuntu-32bit (vdr1.7.27 seit 11/2012), Asrock G31M-GS mit kabellosen Tastaturen, 4GB RAM, TT 1.6 + SkyStar2.3 — USV-Betrieb (ausgeschaltet ~5W, startbereit über acpi-wakeup)

This post has been edited 8 times, last edit by "rudibert" (Feb 24th 2005, 7:58pm)


schluzkrapfn

Intermediate

Posts: 422

Location: /tmp

Occupation: ADAC Stauberater (wo steht sichs am besten)

  • Send private message

20

Monday, February 21st 2005, 9:12pm

RE: holladiewaldfee..

:) So stell ich mir ein Portal vor, echt suppa.
Hatte mich gedanklich schon von hier verabschiedet, nach dem zu jedem Problem das man als Neubi hat und sich die Augen schon mal rot gelesen hat erstmal :suche als Antwort bekommt, ignoriert wird oder ein paar dumpfbackige Antworten :gaga bekommt.
Auch wenns mich grad nicht betrifft, der Thread ist mal wieder Gold wert (Ich lass das mit dem patchen da bei mir die Verschrottungrate dadurch sehr hoch ist) :D
Aber nach dem Thread könnt ich mich glatt mal weider trauen....

Gebt mir einen Patch:ghost
Mei Syschteem: Pundit-R ctvdr 6.0 Nexus 2.1 Nova-SE 250GB