Optionale Neutrino-Komponenten

Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: Optionale Neutrino-Komponenten

Beitrag von Barf »

Und jetzt ontopic:

Eigentlich möchte ich lieber zukünftig Lirc (sowie einige andere Teilen) als nachinstallierbare "Packages" sehen. Dann soll neutrino während Runtime (eventuell mit Kommandzeilenarg, oder existenz eines Files checken) entdecken, falls es Lirc-en soll oder nicht. Viel Platz kann es nicht kosten, falls richtig gemacht (vgl Posting oben). Lirc-Bezogene Teile können in shared libraries rausgelagert werden, die nur zusammen mit dem "Lirc-Package" installiert wird.

Aber dies ist Zukunftsmusik, und betrifft nicht das Patch. Checke es ruhig ein, eine gute und zukunftsträchtige Lösung ist es nicht.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:Neutrino, in einem Image ohne --enable-lirc kompiliert,
braucht weder libirsend.so noch liblircdclient.so.
Barf hat geschrieben:Checke es ruhig ein
erledigt
Grabber66
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Dienstag 1. Juni 2004, 12:24

Re: Optionale Neutrino-Komponenten

Beitrag von Grabber66 »

rhabarber1848 hat geschrieben:Hier der Patch, um den Pictureviewer optional zu machen:
EDIT: Patch ist im CVS

Dieser Patch ist abhängig vom disable-audioplayer-Patch,
welcher vorher einzuspielen ist.

Als default wird der Pictureviewer kompiliert, um ihn zu deaktivieren:
cdk/configure --disable-pictureviewer

Ein Squashfs/LZMA-Image wird 304kb kleiner, wenn
Audioplayer und Pictureviewer deaktiviert wurden.
/bin/neutrino wird dabei unkomprimiert 200kb kleiner.
Ist nichts wildes, mir ist aufgefallen das es da noch einen kleinen schönheitsfehler gibt.
wenn man den pictureviewer deaktiviert, erscheint unter Einstellungen noch
"Audioplayer/Bildbetrachter" obwohl ja nur noch audioplayereinstellungen drin sind.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Grabber66 hat geschrieben:wenn man den pictureviewer deaktiviert, erscheint unter Einstellungen noch
"Audioplayer/Bildbetrachter" obwohl ja nur noch audioplayereinstellungen drin sind.
Bitte testen: EDIT: Patch ist im CVS
Zuletzt geändert von rhabarber1848 am Samstag 3. Oktober 2009, 21:40, insgesamt 1-mal geändert.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Optionale Neutrino-Komponenten

Beitrag von seife »

Finde ich unschön.
Kann man nicht irgendwo ganz am Anfang für diese "Variablen" locales ein

#if foo
#define FOOBAR1_LOCALE LOCALE_1
#else
#define FOOBAR1_LOCALE LOCALE_2
#endif

so dass man nicht den tatsächlichen Code damit unleserlich macht?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

seife hat geschrieben:Kann man nicht irgendwo ganz am Anfang für diese "Variablen" locales ein
Patch aktualisiert, ein "#else" am Ende habe ich absichtlich
nicht eingefügt, damit Kombinationen, die ich vergessen habe,
zu einem Kompilierfehler führen werden. Ich denke aber nicht,
dass dies geschehen wird.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Mir sind kürzlich die vielen

Code: Alles auswählen

#ifndef TUXTXT_CFG_STANDALONE
im Neutrino-Sourcecode aufgefallen, für die es keine
configure-Option zu geben scheint.
Wenn dieser optionale Code, der per default aktiv ist,
deaktiviert wird, ist Neutrino nicht mehr gegen libtuxtxt.so
gelinkt und der optionale Tuxtxt-thread zum Einlesen
der Teletext-Daten ist nicht mehr verfügbar.

Mit diesem Patch EDIT: Patch ist im CVS,
der neuen cdk/configure-Option --disable-internal-tuxtxt
und einigen customisation-Befehlen

Code: Alles auswählen

newroot=$1/`basename $0 | sed "s/-local.sh//"`
rm -v $newroot/lib/libtuxtxt*
rm -v $newroot/lib/tuxbox/plugins/tuxtxt*
rm -v $newroot/share/fonts/tuxtxt*
in root-neutrino-squashfs-local.sh kann ein Tuxtxt-loses
Image erstellt werden, für den, der es braucht.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Optionale Neutrino-Komponenten

Beitrag von dbt »

Kannst du nochmal draufschauen, ob das mit --disable-movieplayer, --disable-audioplayer auch wirklich greift?
Scheinbar klappt nur --disable-pictureviewer.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

dbt hat geschrieben:Kannst du nochmal draufschauen, ob das mit --disable-movieplayer, --disable-audioplayer auch wirklich greift?
Mit beiden Optionen positiv getestet,
hier das Personalisierungsmenü als Beweis:
Bild
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:Sehe ich das richtig, dass innerhalb von Neutrino nur
EPGplus den Font md_khmurabi_10.ttf benutzt?
Wenn ja, wäre --disable-epgplus ein weiterer Kandidat,
um Neutrino zu reduzieren.
committed:
http://article.gmane.org/gmane.comp.vid ... x.scm/2120
http://article.gmane.org/gmane.comp.vid ... x.scm/2121
http://article.gmane.org/gmane.comp.vid ... x.scm/2122
http://article.gmane.org/gmane.comp.vid ... x.scm/2123
http://article.gmane.org/gmane.comp.vid ... x.scm/2124
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Optionale Neutrino-Komponenten

Beitrag von seife »

aber doch nicht mit noch mehr #ifdefs <heul/>

Wer soll denn den Code jemals maintainen?
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: Optionale Neutrino-Komponenten

Beitrag von Barf »

Ich teile seifes Bedenken gegen #ifdefs-verseuchten Code.

Ich habe einige Beiträge oben vorgeschlagen, optionale Komponente statt #ifdef-en in optionale shared objects (*.so, für Windowsiten: entspricht dlls) auszulagern. Das Programm soll dann funktionieren sowohl mit aus auch ohne die optionale "Plugins". Stichwort: dlopen. Damit gewinnt man sowohl maintainability (jeder developer kompiliert es bei jedem (vollständigen) Build, auch wenn er es nicht installiert) als auch die Nachinstallierbarkeit in laufenden Images (schreibbare Dateisysteme vorausgesetzt).

Vgl. Linuxkernel: In der 90-er Jahren hat man (mehr oder wenig) einen neunen Kernel kompilieren mussen für jeden Mauswechsel. Jetzt Kernelmodules, und der Bedarf Kerneln zu Bauen ist für normale Users nicht mehr da.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Optionale Neutrino-Komponenten

Beitrag von seife »

Was ich besonders schlimm dran finde: ich habe es irgendwann (als ich auf die Dreambox portiert habe) genauso gemacht. Und es später, mit der Tripledragon, nicht wirklich gefixt.

Jetzt, bei der Portierung von neutrino-HD auf die TD, merke ich erst um wieviel einfacher es geht, wenn man es auch nur ansatzweise ordentlich macht.

:-(