patch integrier-problem
-
- Einsteiger
- Beiträge: 312
- Registriert: Samstag 29. November 2003, 00:20
patch integrier-problem
habe folgendes problem: habe schön ordnungsgemäß das cvs ausgecheckt. kompilieren und alles klappt auch bisher. jetzt wollte ich allerdings noch einen patch in mein cvs-verzeichnis integrieren, was allerdings nicht bzw. nur zum teil klappt. wie muß ich da genau vorgehen?
habe bisher folgendes versucht: befinde mich in der konsole in dem verzeichnis, in dem die erste zu patchende datei laut der patch-datei liegt (mittels patch < datei-patch). das klappt dann auch.
sobald aber eine datei laut patch-datei gepatcht werden soll, die in einem anderen verzeichnis als die vorangegegangene liegt, wird der fehler 8 gemeldet und ich muß den pfad zur zu patchenden datei von hand eingeben.
also dachte ich mir, ich sollte mich lieber nur im hautpverzeichnis meines lokalen cvs befinden, im meinem fall /home/xxxx/tuxbox-cvs. dann kommt allerdings bei patch < datei.patch oder patch -p0 datei.patch sofort immer der fehler 8:datei nicht gefunden.
hab mir dann mal die datei.patch angeschaut und gesehen, daß die pfade dort /cvs/tuxbox/apps..... lauten statt wie bei mir /tuxbox-cvs/apps...
also dachte ich mir, patch mit dem parameter -p3 aufgerufen sollte helfen, da der pfad dann immer erst ab /apps... (ab da stimmt ja meine verzeichnisstruktur überein) berücksichtigt wird.
leider funktioniert das aber ebenfalls nicht, es erscheint wieder sofort fehler 8.
wo liegt hier mein (denk-)fehler?
in welchem verzeichnis sollte ich mich befinden?
in welchem verzeichnis sollte der patch liegen?
mit welchem parameter sollte patch aufgerufen werden, damit alle aufgeführten dateien in der datei.patch automatisch gepatcht werden?
bin momentan ein bißchen frustriert, bisher konnte ich alle auftauchenden cvs-probleme noch irgendwie selber lösen, aber hier bin ich jetzt schon seit stunden dran und komm einfach nicht weiter
umso dankbarer bin ich für jede hilfe
habe bisher folgendes versucht: befinde mich in der konsole in dem verzeichnis, in dem die erste zu patchende datei laut der patch-datei liegt (mittels patch < datei-patch). das klappt dann auch.
sobald aber eine datei laut patch-datei gepatcht werden soll, die in einem anderen verzeichnis als die vorangegegangene liegt, wird der fehler 8 gemeldet und ich muß den pfad zur zu patchenden datei von hand eingeben.
also dachte ich mir, ich sollte mich lieber nur im hautpverzeichnis meines lokalen cvs befinden, im meinem fall /home/xxxx/tuxbox-cvs. dann kommt allerdings bei patch < datei.patch oder patch -p0 datei.patch sofort immer der fehler 8:datei nicht gefunden.
hab mir dann mal die datei.patch angeschaut und gesehen, daß die pfade dort /cvs/tuxbox/apps..... lauten statt wie bei mir /tuxbox-cvs/apps...
also dachte ich mir, patch mit dem parameter -p3 aufgerufen sollte helfen, da der pfad dann immer erst ab /apps... (ab da stimmt ja meine verzeichnisstruktur überein) berücksichtigt wird.
leider funktioniert das aber ebenfalls nicht, es erscheint wieder sofort fehler 8.
wo liegt hier mein (denk-)fehler?
in welchem verzeichnis sollte ich mich befinden?
in welchem verzeichnis sollte der patch liegen?
mit welchem parameter sollte patch aufgerufen werden, damit alle aufgeführten dateien in der datei.patch automatisch gepatcht werden?
bin momentan ein bißchen frustriert, bisher konnte ich alle auftauchenden cvs-probleme noch irgendwie selber lösen, aber hier bin ich jetzt schon seit stunden dran und komm einfach nicht weiter
umso dankbarer bin ich für jede hilfe
-
- Developer
- Beiträge: 467
- Registriert: Dienstag 15. Juli 2003, 10:58
-
- Einsteiger
- Beiträge: 312
- Registriert: Samstag 29. November 2003, 00:20
ja eigentlich hab ich schon alles durch von -p0 bis -p8. bringt aber alles nix.
das diff ist das hier: http://home.arcor.de/houdini/dbox/neutr ... next.patch
wie gesagt, mein cvs verzeichnis ist /home/xxxx/tuxbox-cvs/
das diff ist das hier: http://home.arcor.de/houdini/dbox/neutr ... next.patch
wie gesagt, mein cvs verzeichnis ist /home/xxxx/tuxbox-cvs/
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Code: Alles auswählen
cd /home/xxxx/tuxbox-cvs/apps/tuxbox/neutrino
patch -p0 < /pfad/zu/neutrino-diff-now-next.patch
-
- Einsteiger
- Beiträge: 312
- Registriert: Samstag 29. November 2003, 00:20
-
- Einsteiger
- Beiträge: 312
- Registriert: Samstag 29. November 2003, 00:20
-
- Developer
- Beiträge: 279
- Registriert: Mittwoch 26. Juni 2002, 22:19
Du darfst nicht von dieser Zeile ausgehen:
sondern von diesen:
Code: Alles auswählen
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/daemons/sectionsd/SIevents.cpp,v
Code: Alles auswählen
--- daemons/sectionsd/SIevents.cpp 23 May 2007 16:39:55 -0000 1.34
+++ daemons/sectionsd/SIevents.cpp 26 Oct 2007 21:31:50 -0000
Gruß
Der Papst
Der Papst
-
- Einsteiger
- Beiträge: 312
- Registriert: Samstag 29. November 2003, 00:20
erstmal danke. hat mir alles sehr geholfen.
natürlich tauchen jetzt noch weitere fragen auf
wenn ich diesen patch in ein aktuelles cvs einspiele, taucht dabei jetzt öfter die meldung hunk failed at ... auf. ich denke mal weil sich seit veröffentlichung des patches ende oktober die dateien und versionen im cvs bereits wieder geändert haben.
kann ich das ignorieren, darf ich den patch jetzt gar nicht mehr einspielen oder wie gehe ich da jetzt vor??
nächste frage: wenn ich den patch eingespielt habe und danach irgendwann mal ein cvs-update mache, wird die vorher gepatchte datei komplett überschrieben oder nur die teile, die sich geändert haben? (sprich: muß ich nach jedem update den patch erneut einspielen?)
desweiteren: muß man nach einspielen eines patches oder nach update des cvs jedesmal wieder autogen und configure ausführen vor dem kompilieren oder nicht?
natürlich tauchen jetzt noch weitere fragen auf
wenn ich diesen patch in ein aktuelles cvs einspiele, taucht dabei jetzt öfter die meldung hunk failed at ... auf. ich denke mal weil sich seit veröffentlichung des patches ende oktober die dateien und versionen im cvs bereits wieder geändert haben.
kann ich das ignorieren, darf ich den patch jetzt gar nicht mehr einspielen oder wie gehe ich da jetzt vor??
nächste frage: wenn ich den patch eingespielt habe und danach irgendwann mal ein cvs-update mache, wird die vorher gepatchte datei komplett überschrieben oder nur die teile, die sich geändert haben? (sprich: muß ich nach jedem update den patch erneut einspielen?)
desweiteren: muß man nach einspielen eines patches oder nach update des cvs jedesmal wieder autogen und configure ausführen vor dem kompilieren oder nicht?
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Ignorieren kannst Du das nicht ohne Weiteres. Da wurde der Patch an der in hunk failed at... bezeichnten Zeile/Stelle nicht angewendet. Was da nicht gepatcht wurde, wird in eine *.rej-Datei abgelegt. Das musst du dann manuell auflösen. Das kommt vor, wenn du an der Stelle wo Du patchen willst schon eigene Änderungen drin hast oder wie Du sagst der Versionsstand überhaupt nicht zusammen passt.wenn ich diesen patch in ein aktuelles cvs einspiele, taucht dabei jetzt öfter die meldung hunk failed at ... auf. ich denke mal weil sich seit veröffentlichung des patches ende oktober die dateien und versionen im cvs bereits wieder geändert haben.
kann ich das ignorieren, darf ich den patch jetzt gar nicht mehr einspielen oder wie gehe ich da jetzt vor??
Das kommt immer drauf an was Du gepatcht hast. Am normalen Quellcode meist nicht. Wenn irgendwelche Sachen im configure oder make gepatcht wurden, dann eigentlich schon.desweiteren: muß man nach einspielen eines patches oder nach update des cvs jedesmal wieder autogen und configure ausführen vor dem kompilieren oder nicht?
Wenn alles glatt geht, mergt (vereinigt) cvs die Files. Sollte das nicht klappen, eben aus oben benannten Gründen, schmeißt dir cvs Konfliktwarnungen raus. Die muss man manuell auflösen.nächste frage: wenn ich den patch eingespielt habe und danach irgendwann mal ein cvs-update mache, wird die vorher gepatchte datei komplett überschrieben oder nur die teile, die sich geändert haben? (sprich: muß ich nach jedem update den patch erneut einspielen?)
-
- Einsteiger
- Beiträge: 312
- Registriert: Samstag 29. November 2003, 00:20
d.h. ich könnte theoretisch das cvs von dem datum auschecken, wo der patch noch gepasst hat, dann den patch einspielen und dann das cvs updaten auf den aktuellen stand? dann dürften doch keine konflikte auftauchen oder?dbt hat geschrieben:Wenn alles glatt geht, mergt (vereinigt) cvs die Files. Sollte das nicht klappen, eben aus oben benannten Gründen, schmeißt dir cvs Konfliktwarnungen raus. Die muss man manuell auflösen.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
-
- Einsteiger
- Beiträge: 312
- Registriert: Samstag 29. November 2003, 00:20
so ich hab das jetzt mal genauso gemacht wie geplant und das hat auch so funktioniert. also cvs bis zu nem bestimmten datum auschecken, patch einspielen und dann update des cvs auf aktuellen stand.
jetzt hab ich allerdings nen neues, schönes problem : und zwar scheint mein kompiliertes image auf dem stand des cvs zu sein, wie er nach datums-auschecken und patch einspielen war. so als wenn das cvs update nach dem einspielen des patches gar nicht stattgefunden hätte.
woran kann das liegen?
nächste frage: in meinen kompilierten neutrino images taucht bei mir im features menü bei den anderen plugins immer ganz oben ein bitrate viewer 1.3 auf. so wie ich gelesen habe, soll das ja eigentlich ein enigma plugin sein.....also wie kommt das in mein neutrino rein und wie bekomme ich es da weg?
jetzt hab ich allerdings nen neues, schönes problem : und zwar scheint mein kompiliertes image auf dem stand des cvs zu sein, wie er nach datums-auschecken und patch einspielen war. so als wenn das cvs update nach dem einspielen des patches gar nicht stattgefunden hätte.
woran kann das liegen?
nächste frage: in meinen kompilierten neutrino images taucht bei mir im features menü bei den anderen plugins immer ganz oben ein bitrate viewer 1.3 auf. so wie ich gelesen habe, soll das ja eigentlich ein enigma plugin sein.....also wie kommt das in mein neutrino rein und wie bekomme ich es da weg?
-
- Einsteiger
- Beiträge: 312
- Registriert: Samstag 29. November 2003, 00:20
dank an houdini!! wies aussieht ist mein zweites problem hiermit http://cvs.tuxbox.org/lists/tuxbox-cvs- ... 00093.htmlbehoben worden....
das erste hab ich damit gelöst, daß ich statt das cvs upzudaten nochmal komplett ausgecheckt hab. aber das kann ja auch keine dauerlösung sein...
hätte ich vielleicht die .deps neu machen müssen?
mit dem cvs-update hab ich aber eh probleme. immer wenn ich ein update mache klappt daraufhin das kompilieren nicht, es bricht immer mit nem fehler 2 ab. nur wenn ich komplett auschecke klappts. woran kann das liegen?
das erste hab ich damit gelöst, daß ich statt das cvs upzudaten nochmal komplett ausgecheckt hab. aber das kann ja auch keine dauerlösung sein...
hätte ich vielleicht die .deps neu machen müssen?
mit dem cvs-update hab ich aber eh probleme. immer wenn ich ein update mache klappt daraufhin das kompilieren nicht, es bricht immer mit nem fehler 2 ab. nur wenn ich komplett auschecke klappts. woran kann das liegen?
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
-
- Einsteiger
- Beiträge: 312
- Registriert: Samstag 29. November 2003, 00:20
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
ok, dann ist es nicht das, was ich vermutet hatte...JimPoison hat geschrieben:oldmake....
Ja. ESR's Essay on "how to ask smart questions" zu lesen wäre schon nicht schlecht ;-)stell ich zuviele dumme fragen?
Spaß beiseite: Ohne die Ausgabe, die zu deinem "error 2" führt, kann dir keiner helfen. Wenn du die dir genau anschaust, wirst du selber drauf kommen wo es hängt. Vermutlich paßt der Patch halt nicht mehr, du hattest Konflikte o.ä. und mußt jetzt den Code fixen.