Also ich verwende hier openSUSE 11.4 mit Kernel 2.6.37.6.
Man muß also nicht gleich kernelmäßig auf Linux-3.0 wechseln.
Aber zumindest auf aktuelle DVB-Treiber. Ok, Powarman hat just-in-time auch die 5.3 API in seinen Treiber aufgenommen. Den verwende ich zusammen mit 2.6.32.
Aber mein build-pc (VM) läuft mit dem originalen Debian 2.6.32 Kernel, und dabei soll es auch bleiben. Und nicht jeder hat die allerneueste Hardware, und braucht dafür die allerneuesten DVB-Treiber. Es soll auch DVB-Hardware geben, die von älteren Kerneln voll unterstützt wird...
Was spricht denn dagegen den Patch von Urig mit in den VDR zu übernehmen?
Ich hab kein Problem damit, dass das ein Patch ist. VDR - insbesondere die Entwicklerversionen - sollten sich nach vorne orientieren, und nicht Kompatibilität für uralte APIs mitschleppen. Der Patch beinhaltet noch immer die Unterstützung für DVB V3 API, und das ist wirklich schon aus jeder Distribution verschwunden...
Wieso müsste hierfür denn VDR von libudev "abhängig" sein?
Ich dachte, mit UDEV-Regeln wird bestimmt, in welcher Reihenfolge die Devices erzeugt werden. VDR benutzt sie halt dann in der vorgefundenen Reihenfolge (ohne irgend etwas von "UDEV" zu wissen).
Das ist eins der Probleme: udev benennt nur die Devices um, ändert aber nicht die eigentliche Device-Nummer. Da VDR aber über die Device-Nummer unter /sys nachschlägt, geht das dann schief, wenn /dev/dvb/adapterX nicht mehr zu /sys/class/dvb/dvbX passt. Udev-Regeln funktionieren daher nicht.
Alternativ könnte man entweder VDR beibringen, symlinks zu interpretieren, z.b. /dev/dvb/primary -> /dev/dvb/adapter2 zu verfolgen, oder die Device-Nummer aus der device node Nummer zu interpretieren, was aber auch gewagt ist.
Gruß,
Udo