tl;dr
ich wollte mal wieder TV Headend auf meinem NAS aktualisieren. Leider ruckelten danach alle Icam-Sender. Gibt's irgendwo einen neueren Icam-Patch?
Ausführlich Konfiguration:
Server:
Sie müssen registriert sein, um Links zu sehen.
(ARM) mit Debian 12
Patch:
Sie müssen registriert sein, um Links zu sehen.
Ruckelfreie Version: tvheadend_4.3-2064
Ruckelversion: tvheadend_4.3-2344
Prosa:
Alle paar Monate mach ich mal ein Update der Software, die nicht offiziell von Debian ausgeliefert wird. Also pull ich die
Sie müssen registriert sein, um Links zu sehen.
, spiel den Patch ein und compilier das Ganze.
Beim letzten Update (4.3.2344) ist das Einspielen des Patches fehlgeschlagen. Durch Codeänderungen sind die Zeilennummern zwischen Patch und Sourcen zu weit auseinandergelaufen. Die manuelle Anpassung stellte keine größeren Probleme dar.
Allerdings stellte ich nach der Installation des neuen Paketes dann fest, dass die Icam-Sender ruckelten. Ein Downgrade auf die alte Version löste das Problem. Aktuell kann ich mit der älteren Version durchaus gut leben. Ich fänd es allerdings erstrebenswert, dass mein TV Headend updatefähig bleibt.
Ist jetzt nicht die Antwort auf deine Frage, aber schon mal überlegt das ganze mit Docker zu lösen. Da gibt es genug mit ICAM Patch.
In meiner Welt sollte ein NAS möglichst stabil laufen und "sauber" bleiben.
Ich hab da eine etwas andere Philosophie. Zum einen hab ich nur die Build-Optionen aktiviert, die ich wirklich brauch, d.h. ich halte die Anwendung klein.
Und Docker steh ich eher etwas kritisch gegenüber. Bisher hab ich für mich auch noch keinen sinnvollen Einsatzzweck für Docker finden können. Vielleicht bin ich da etwas zu Oldschool.
Aber der Ansatzpunkt ist dennoch ganz gut. Irgendwoher müssen die Admins dieser Images ja auch den Patch her haben.
Mitllerweile erkennt tvheadend schon seit längerem eine gepatchte libdvbcsa und braucht selbst keinen ICAM-Patch mehr. Habe hier die neuste Version 2347 kompiliert und keinerlei Probleme
Das System nicht zu verbiegen, ist ja genau mein Ziel. Deine vorgeschlagene Lösung ist der Weg, den ich zur Zeit nutze.
Siehe dazu auch:
Sie müssen registriert sein, um Links zu sehen.
oder
Sie müssen registriert sein, um Links zu sehen.
debian/shlibs.local
This lists overrides for this package. This file should normally not be used, but may be needed temporarily in unusual situations to workaround bugs in other packages, or in unusual cases where thenormally declared dependency information in the installed shlibsfile for a library cannot be used. This file overrides informationobtained from any other source.
Naja, egal. Wäre nur interessant gewesen zu wissen, wie Debian das handhabt. Irgendeinen Weg muss es ja geben, lokal vorhandene Bibliotheken in Buildprojekte einzubinden.
@Wickie1 , dann einfach abarbeiten, wenn das für dich die Lösung ist
oder ein eigenes Repro anlegen , dann passt das auch und das -dirty fällt weg zum Beispiel: Build: 4.3-2375~gb29a48b48 (2024-07-16T16:33:12+0000)
also du schaffst das schon
@Wickie1: Was passiert wenn du einfach das Paket libdvbcsa-dev installierst und dann das headerfile durch die gepachte Version dieser Datei ersetzt?
Es geht um diese Datei,
Sie müssen registriert sein, um Links zu sehen.
: /usr/include/dvbcsa/dvbcsa.h
Du musst Regestriert sein, um das angehängte Bild zusehen.
Edit:
Kann gut sein, dass das Ersetzen mit der gepachten Version gar nicht notwendig ist, da die gepachte Lib erst zur Laufzeit von tvheadend geprüft wird, wenn ich den Commit hier
Sie müssen registriert sein, um Links zu sehen.
richtig deute. Musst du ausprobieren.
Anhänge
Du musst angemeldet sein, um die Anhangsliste zu sehen.
Ich lass das jetzt mit dem Thema. @Kind regards hat schon recht. Ist den Aufwand nicht wert.
Zur Laufzeit wird die gepatchte Version problemlos in /usr/local/lib gefunden. Steht ja auch in der /etc/ld.so.conf.d/libc.conf so drin.
Nur das Buildscript von Debian prüft über die o.g. debian/control, welche Abhängigkeiten installiert sind und scheitert dabei, die lokal gebaute libdvbcsa zu finden. dpkg-checkbuilddeps will vermutlich unbedingt ein über apt/dpkg installiertes Paket haben.
Deswegen schrieb ich ja, einfach das Paket libdvbcsa-dev zu installieren. Dann wäre doch die fehlende Abhängigkeit erfüllt. Das buildscript braucht nicht die lib, sondern deren header file.
Aber passt schon, ich höre jetzt auf
dann baut es aber nicht mehr, da der gepatchte inhalt der libdvbcsa fehlt und somit unbekannt ist , lasse mich aber gern eines besseren belehren.
man könnte wenn,dann das libdvbcsa-dev paket downloaden entpacken und die libdvbcsa.a & h mit der gepatchen ersetzen, die md5summen anpassen und das das Paket installieren, dann mag es funktionieren in der Hoffnung, das das Paket nich von Debian mal aktualliesiert wird, aber das merkt man dann schon