Lamko Geplaatst: 28 september 2008 Geplaatst: 28 september 2008 Often I see people talk about how to apply a patch file. These files are sometimes called diff files after the program used to create them. To create one someone took two copies of a source tree and created the DIFFerecnes between them (sometimes they take smaller pieces and diff them). In reality they are the differences in two pieces of text that are used to compile the program(s). In other words its not like an update program you get. When you go to the patch file there are some lines at the top that will indicate how much you need to adjust to apply the patch. Also keep in mind what revisions the patch is for, but surprisingly that isn't as important as you would think. From these you need two switches. These are -p and -F. the switch -p indicates how much of the original lines you need to strip (how deep the file is). To give you an example lets say my mythtv source is in /usr/src/mythtv and I want to apply this patch: Code: Index: libs/libmythtv/eitscanner.cpp =================================================================== --- libs/libmythtv/eitscanner.cpp.orig 2006-09-29 09:37:12.000000000 -0700 +++ libs/libmythtv/eitscanner.cpp 2006-09-29 16:09:15.000000000 -0700 This indicates the patch will change the file libs/libmythtv/eitscanner.cpp. It aslo tells me it was created from the file libs/libmythtv/eitscanner.cpp.orig. To apply this patch copy the file to the /usr/src/mythv directroy and use -p0 (strip nothing) As another example (the patch coincidently is nearly the same): Code: diff -ruN mythtv.14471.orig/libs/libmythtv/eitscanner.cpp mythtv.14471/libs/libm ythtv/eitscanner.cpp --- mythtv.14471.orig/libs/libmythtv/eitscanner.cpp 2007-09-09 19:02:56.0000 00000 -0500 +++ mythtv.14471/libs/libmythtv/eitscanner.cpp 2007-09-09 19:15:01.000000000 -0 500 In this I can see the file mythtv.14471/libs/libmythtv/eitscanner.cpp is being changed. On my box I do not have a mythtv.14471 directory so I need to strip this part off. I need to strip off the first part (mythtv.14471) and not the second. (-p1) Next you need to know of the patch you have differs enough from what revision you have checked out. For the above sample you may be patching a file with changes that differ from lines because the file has changes in the repository (the file you have is different from that file). Each patch section looks like this: Code: @@ -216,7 +216,7 @@ } void EITScanner::StartActiveScan(TVRec *_rec, uint max_seconds_per_source, - bool _ignore_source) + bool _ignore_source, bool limit_transports) { rec = _rec; ignore_source = _ignore_source; Each of the chunks start and end with @@. This particular chunk is change 7 lines (some versions of diff omit this) in the original file at line 216. The + part repents where the the changed in the changed file. So you could look at the original at line 216 and see the part above that has no + on it. The rest of the lines are used to locate the position of the changes. This particular change will change the line: bool _ignore_source) to: bool _ignore_source, bool limit_transports) The lines around it are the way the patch programs finds the lines. You can effect that detection with the -F switch. It means how many non matching lines can I ignore. For most patches you find here you can simply apply them with a -p switch e.g. patch -p0 < whatever.diff For some others, depending on how far they are out of sync with the original you need to add -F e.g. patch -p0 -F3 <whatever.diff If the patch works you should see tings like: patching file libs/libmythtv/mpeg/dvbstreamdata.cpp Hunk #1 succeeded at 138 (offset -1 lines). (this is from a different patch then above but the general idea is the it succeeded). If you try to apply a patch to a file that has already been patched the patch program will detect this and give you an warning: Reversed (or previously applied) patch detected! Assume -R? [n] This means the patch program already found the lines and saw that it was patched. It is asking if you want to revert the patch (back it out). Answering y here would undo the patch. Answering n would do nothing. If the file does not patch correctly you will end up with lines like this: 4 out of 4 hunks ignored -- saving rejects to file libs/libmythtv/mpeg/dvbstreamdata.cpp.rej This means 4 chunks failed and its non patched parts went to the file libs/libmythtv/mpeg/dvbstreamdata.cpp.rej If this happens you have two choices. Either look at the changes that failed and attempt to patch it by hand or wait until an updated patch comes out. Two ways to patch: Manually: Edit the source file (usually ***.c), using vi or nano or similar text editor. Change each line by hand. Automatically: Create a file with the changes in the same directory as the source file to be patched and name it patch.diff. This file will have blank spaces on lines that will not be changed, - for lines to be deleted, and + for lines to be added. Type the following command to perform a test: Code: patch -p1 -l < patch.diff --dry-run If everything works, drop the "--dry-run" command flag to do it for real. If not, try changing the -p1 option to -p0 or deleting it entirely. (This tells linux how many steps back in the directory tree to look for the file, and it depends on how your .diff file is formatted). I found all this for myself on google in a few seconds, btw. Try "how patch diff linux" ff wat gekopieerd en geplakt. In t kort komt het er op neer dat je de verkeerde patch gebruikt. Twee mogelijkheden een patch die geschikt is voor jouw driverversie of de "oude" driver versie opsporen. Mythbuntu 12.04 Celeron 220 op Mini-ITX D201GLY2, 1 GB Ram,2x1,5 TB HDD, Digitenne op TerraTec Cinergy, CCcam
Spiderman1974 Geplaatst: 28 september 2008 Geplaatst: 28 september 2008 Origineel bericht van: Lamko In t kort komt het er op neer dat je de verkeerde patch gebruikt. Twee mogelijkheden een patch die geschikt is voor jouw driverversie of de "oude" driver versie opsporen. Dit verhaal gaat mij boven de pet, wellicht dat er iemand is die mij hiermee kan helpen om de kaart aan de praat te krijgen? Spiderman DM800HD ~ OpenPLi DM7000 ~ OpenPLi DM500C ~ OpenPLi WafeFrontier T55 13* - 19,2* - 23,5* - 28,2*
Lamko Geplaatst: 28 september 2008 Geplaatst: 28 september 2008 Ik d8 zal wel moeilijk zijn om de oude driver versie weer te vinden maar hij staat er gewoon bij : De commando regel hg clone moet je niet uitvoeren. hg clone http://jusst.de/hg/multiproto Maar je moet wget de oude driver versie pakken en dan wget http://jusst.de/hg/multiproto/archive/fbcc9fa65f56.tar.bz2 Deze versie uitpakken tar -xvjf fbcc9fa65f56.tar.bz2 # Note these are patches against multiproto changeset 9036 # (http://jusst.de/hg/multiproto/archive/fbcc9fa65f56.tar.bz2) En dan de rest zo uitvoeren als je eerst ook gedaan hebt Ik had dat verhaal er neergezet zodat je kon begrijpen hoe patchen werkt. Maar je moet nog even wat langer met linux werken wil je dat allemaal begrijpen. Veel succes zo moet het je wel lukken Mythbuntu 12.04 Celeron 220 op Mini-ITX D201GLY2, 1 GB Ram,2x1,5 TB HDD, Digitenne op TerraTec Cinergy, CCcam
Spiderman1974 Geplaatst: 28 september 2008 Geplaatst: 28 september 2008 Origineel bericht van: Lamko Ik d8 zal wel moeilijk zijn om de oude driver versie weer te vinden maar hij staat er gewoon bij : De commando regel hg clone moet je niet uitvoeren. hg clone http://jusst.de/hg/multiproto Maar je moet wget de oude driver versie pakken en dan wget http://jusst.de/hg/multiproto/archive/fbcc9fa65f56.tar.bz2 Deze versie uitpakken tar -xvjf fbcc9fa65f56.tar.bz2 # Note these are patches against multiproto changeset 9036 # (http://jusst.de/hg/multiproto/archive/fbcc9fa65f56.tar.bz2) En dan de rest zo uitvoeren als je eerst ook gedaan hebt Ik had dat verhaal er neergezet zodat je kon begrijpen hoe patchen werkt. Maar je moet nog even wat langer met linux werken wil je dat allemaal begrijpen. Veel succes zo moet het je wel lukken @Lamko Zoals het er nu uitgelegd staat begrijp ik het ook, ik zal het morgen eens gaan testen. Dat ik meer met Linux moet werken om dit allemaal onder de knie te krijgen daar ben ik mij ook van bewust en zal er zeker ook meer aan doen. Maar goed, door hier vragen te stellen en met jullie antwoorden aan de slag te gaan is ook weer leerzaam, op die manier maak ik steeds stapjes voorwaards Spiderman DM800HD ~ OpenPLi DM7000 ~ OpenPLi DM500C ~ OpenPLi WafeFrontier T55 13* - 19,2* - 23,5* - 28,2*
Niels Wagenaar Geplaatst: 29 september 2008 Auteur Geplaatst: 29 september 2008 Dit heeft ook niet zo zeer met Linux te maken, maar meer vanwege door Multiproto. Multiproto is de uitbreiding van de originele video4linux (v4l) onderdeel binnen de Linux kernel. Probleem alleen is, het is ondertussen al 2,5 jaar in ontwikkeling en is - naar mijn mening - nog steeds te veel WIP. De patches die op de linux-dvb mailinglist worden gepost, kunnen na verloop van tijd in één keer niet meer werken. Dit is mijn grootste probleem met Multiproto. Gelukkig(?) voor ons zijn er ook andere die problemen ervaren met Multiproto. Deze personen zijn daarom een alternatief gestart (S2API) en de mensen achter v4l hebben aangekondigd om S2API op te nemen binnen de v4l source-tree. De laatste paar dagen ben ik bezig geweest om de huidige (beta)code van S2API te doorlopen en VDR aan te passen hiervoor. Hier gaat voor mij enorm veel tijd in zitten en dit is ook de reden waarom ik niet veel online ben op sat4all Mvg, Niels Wagenaar Woonkamer : Xubuntu 8.04 met VDR 1.7.4 en WinTV NOVA-HD-S2 icm Reel Extension HD. Slaapkamer : Een MediaMVP icm de vompserver v0.30 VDR plugin.
Spiderman1974 Geplaatst: 29 september 2008 Geplaatst: 29 september 2008 Origineel bericht van: Lamko Ik d8 zal wel moeilijk zijn om de oude driver versie weer te vinden maar hij staat er gewoon bij : De commando regel hg clone moet je niet uitvoeren. hg clone http://jusst.de/hg/multiproto Maar je moet wget de oude driver versie pakken en dan wget http://jusst.de/hg/multiproto/archive/fbcc9fa65f56.tar.bz2 Deze versie uitpakken tar -xvjf fbcc9fa65f56.tar.bz2 # Note these are patches against multiproto changeset 9036 # (http://jusst.de/hg/multiproto/archive/fbcc9fa65f56.tar.bz2) En dan de rest zo uitvoeren als je eerst ook gedaan hebt Ik had dat verhaal er neergezet zodat je kon begrijpen hoe patchen werkt. Maar je moet nog even wat langer met linux werken wil je dat allemaal begrijpen. Veel succes zo moet het je wel lukken Ik krijg het niet voor elkaar, zou mij iemand hiermee willen helpen? DM800HD ~ OpenPLi DM7000 ~ OpenPLi DM500C ~ OpenPLi WafeFrontier T55 13* - 19,2* - 23,5* - 28,2*
Lamko Geplaatst: 29 september 2008 Geplaatst: 29 september 2008 ja hoor zeg t maar of pm als je dat liever hebt Mythbuntu 12.04 Celeron 220 op Mini-ITX D201GLY2, 1 GB Ram,2x1,5 TB HDD, Digitenne op TerraTec Cinergy, CCcam
Roobert Geplaatst: 29 september 2008 Geplaatst: 29 september 2008 Neen niet PM wij willen ook volgen. VU+ Duo, veruit het beste wat ik de laatste jaren gekocht heb. ET9000 uiteraard met OpenPli
Spiderman1974 Geplaatst: 29 september 2008 Geplaatst: 29 september 2008 Origineel bericht van: Lamko ja hoor zeg t maar of pm als je dat liever hebt @Lamko, Bedankt voor je aanbod, maar Niels heeft het vanavond al met suc6 opgelost. Maar tocht bedankt dat je wilde helpen :-)Spiderman DM800HD ~ OpenPLi DM7000 ~ OpenPLi DM500C ~ OpenPLi WafeFrontier T55 13* - 19,2* - 23,5* - 28,2*
patje1 Geplaatst: 29 september 2008 Geplaatst: 29 september 2008 Hallo, Ik volg dit draadje met zeer veel interesse en ben ook van plan om een htpc te bouwen. Ik zie in de wiki Niels dat je een blu-ray dvd gebruikt. Is het ook mogelijk om blu-ray disks met dit systeem te bekijken? Patje. Dreambox DM500HD met 1 TB externe hardeschijf en een DM600 met 120GB harde schijf op een wavefrontier met astra 1,2 en 3.
Spiderman1974 Geplaatst: 30 september 2008 Geplaatst: 30 september 2008 Bij het compileren (make) van vdr krijg ik de volgende errors, iemand een idee hoe dit op te lossen: Code: root@vdr-productie:/usr/local/src/vdr-1.7.0# makeg++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE -DVIDEODIR=\"/media/video\" -DCONFDIR=\"/etc/vdr\" -DPLUGINDIR=\"/usr/lib/vdr/plugins\" -DLOCDIR=\"/usr/share/locale\" -I/usr/include/freetype2 -I/usr/local/src/3650/multiproto/linux/include dvbdevice.cdvbdevice.c: In member function âbool cDvbTuner::SetFrontend()â:dvbdevice.c:254: error: cannot convert âfe_spectral_inversion_tâ to âdvbfe_inversionâ in assignmentdvbdevice.c:273: error: cannot convert âfe_spectral_inversion_tâ to âdvbfe_inversionâ in assignmentdvbdevice.c:284: error: cannot convert âfe_spectral_inversion_tâ to âdvbfe_inversionâ in assignmentmake: *** [dvbdevice.o] Error 1 Spiderman DM800HD ~ OpenPLi DM7000 ~ OpenPLi DM500C ~ OpenPLi WafeFrontier T55 13* - 19,2* - 23,5* - 28,2*
Lamko Geplaatst: 30 september 2008 Geplaatst: 30 september 2008 Wat heeft Niels met je gedaan ? Want het lijkt er op dat jouw vdr versie jouw dvb module niet leuk vindt of je hebt de dvb dir verkeerd opgegeven hier -I/usr/local/src/3650/multiproto/linux/include dvbdevice.c dvbdevice.c: In member function âbool cDvbTuner::SetFrontend()â: Mythbuntu 12.04 Celeron 220 op Mini-ITX D201GLY2, 1 GB Ram,2x1,5 TB HDD, Digitenne op TerraTec Cinergy, CCcam
Spiderman1974 Geplaatst: 30 september 2008 Geplaatst: 30 september 2008 Origineel bericht van: Lamko Wat heeft Niels met je gedaan ? Want het lijkt er op dat jouw vdr versie jouw dvb module niet leuk vindt of je hebt de dvb dir verkeerd opgegeven hier -I/usr/local/src/3650/multiproto/linux/include dvbdevice.c dvbdevice.c: In member function âbool cDvbTuner::SetFrontend()â: Zie PM!! DM800HD ~ OpenPLi DM7000 ~ OpenPLi DM500C ~ OpenPLi WafeFrontier T55 13* - 19,2* - 23,5* - 28,2*
Lamko Geplaatst: 30 september 2008 Geplaatst: 30 september 2008 Vdr multipro en jouw kaart: http://www.linuxtv.org/pipermail/linux-dvb/2008-March/025050.html Hier worden veel oudere versies gebruikt van multipro en vdr, die combinatie werkt. Ik weet niet hoe het zit met nieuwere versies en ook kan ik niet veel succesverhalen vinden op het internet. D'r moet waarschijnlijk nog wat in de vdrcode aangepast worden maar ik ben geen coder dus hier houdt het voor mij op. Mythbuntu 12.04 Celeron 220 op Mini-ITX D201GLY2, 1 GB Ram,2x1,5 TB HDD, Digitenne op TerraTec Cinergy, CCcam
Hans Houwaard Geplaatst: 2 oktober 2008 Geplaatst: 2 oktober 2008 Origineel bericht van: satire Hans(ch) hoe is jouw beeld? als het allemaal goed is heb je dan wat driverinfo? Ik heb nog geen beeld, want de hardware is nog niet geleverd. De processor was slecht leverbaar, deze is omgewisseld met een die iets langzamer geklokt is. Dit duurde wat extra dagen om geassembleerd te krijgen. Als het goed is wordt hij vandaag opgestuurd en heb ik de spullen morgen. Voor de drivers staat het nodige op linuxtv.org. Vooral de opmerking over een aparte multiproto driver repository op deze pagina is interessant:http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-4000 Deze repository zou ook een werkende driver op moeten leveren voor de Hauppage Nova HD S2. Koppeling met VDR voor multiproto zou moeten kunnen via de handleiding van Niels. Hans MythBuntu 12.04 LTS (MythTV 0.26) Kernel 3.5.0-19-generic Hauppage NovaS2 HD DVB-S/S2 TeVii S470 DVB-S2 Asus NVidia 9600 GT Samsung LE40A552 LCD TV
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen