.titleBar { margin-bottom: 5px!important; }

centerICQ & Mountpoint-Script [ehemals BitlBee]

Dieses Thema im Forum "Freetz" wurde erstellt von Gelb, 20 Nov. 2006.

  1. Gelb

    Gelb Neuer User

    Registriert seit:
    17 Mai 2006
    Beiträge:
    19
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 Gelb, 20 Nov. 2006
    Zuletzt bearbeitet: 11 Dez. 2006
    Hallo

    Ich habe eine kleine Bitte an die Tüftler unter euch ..:

    Könntet ihr mir BitlBee für die Fritz!Box (7170) kompilieren?
    Ich erklär mich auch bereit danach ein addon für den DS-mod daraus zu bauen! :)

    (Hab schon selber ein bisschen rumgelesen aber bin dann doch nicht sooo der Linuxer und mein Knoppix hat mir bei "apt-get install bison" nur eine Fehlermeldung gegeben)

    Noch ne kurze Info:
    BitlBee ist quasi ein IRC Server, der eine Schnittstelle zum AIM/ICQ, Yahoo, MSN und Jabber Netzwerk darstellt. Ist Platformunabhängiger, da es für jedes OS einen akzeptablen IRC Client gibt.

    Wär ganz kuhl, wenn dass jemand machen könnte!
    Danke schonmal!

    MfG Gelb

    [Link: BitlBee source | BitlBee Hauptseite ]
     
  2. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Was sagt der denn bei "apt-get install bison"?

    btw:
    Hier gibt's auch eine VM (Friboli) mit Toolchain. Da sollten dann alle Pakete dabei sein... damit solls ganz eazy sein...

    ps.
    nicht so schnell aufgeben ;)
     
  3. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Genau. BitlBee wird noch schwer genug...
    Das braucht leider noch 2 Libs (siehe openwrt).

    MfG Oliver
     
  4. Gelb

    Gelb Neuer User

    Registriert seit:
    17 Mai 2006
    Beiträge:
    19
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo

    Werd mir friboli mal anschauen und sehen wie weit ich komme.

    Welche libaries braucht das denn? Ist für mich jetzt aus dem OpenWTR nicht so richtig ersichtlich.
    Also soweit ich jetzt informiert bin, muss man die libaries ja auch für die CPU-Architektur der F!B kompilieren, oder? Kenn' mich leider noch nicht so wirklich mit Kompilieren, Libaries, ... aus. :(

    Macht es denn überhaupt Sinn zu versuchen den ganzen Kram auf die Fritz!Box zu bringen? Oder wäre die damit ohnehin überladen (Also vom Traffic und der CPU Last her kommt es ja eher drauf an wieviele InstantMessaging Accounts man über BitlBlee laufen lässt)?
    Hatte auch gedacht, dass das Programm recht simpel ist (nicht vom Code aber von den Anforderungen), da man z.B. für das Oscar Protokoll (ICQ/AIM) nur ASCII <-> Hex und ne normale Client -> Host verbindung braucht soweit ich mich erinnern kann.

    Naja, danke für die schnellen Antworten und ich werd mich gleich mal mit friboli konfrontieren! :)

    MfG Gelb
     
  5. Gelb

    Gelb Neuer User

    Registriert seit:
    17 Mai 2006
    Beiträge:
    19
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Sooo ...

    Erstmal sorry, dass ich so lange nix hab hören lassen ... :(

    Ich hab mir auf meinen Desktop PC jetzt ubuntu installiert und mich erstmal aufgeregt, dass die Hälfte der benötigten Pakete nicht vorhanden ist. Seit dem benutz ich Knoppix.
    Naja, das nur am Rande.
    Ich wollte ja ursprünglich BitlBee kompilieren, hab ich dann aber gelassen und mich auf centerICQ konzentriert. Erstmal hab ich mich durch viele Threads gelesen und mir die Toolchain ausm DS-Mod gebaut. Dann sagte er mir ich brauche die nCurses Libary, die ich dann auch erfolgreich cross-compiled und eingebunden hab (das war ne Arbeit ... :)). Naja, danach wollte er für das MSN Plugin ssh haben, ich hab mir openssh runtergeladen, weil die Libaries bereits im DS-Mod sind, aber da gabs leider kein normales Configure-Skript für und daraufhin hab ich noch ein bisschen gegoogelt aber keinen Ansatz gefunden und es aufgegeben - bzw. versucht ohne das MSN Plugin zu kompilieren. Dann läuft immerhin das Configure-Skript vom centerICQ komplett durch und ich kann anfangen zu kompilieren. Irgendwann gibt er mir da allerdings die Fehlermeldung
    Code:
    ../../kkconsui-0.1/include/colorschemer.h: In member function 'int colorschemer<T>::operator[](T) const [with T = cicq_colorpairs]':
    ../../src/icqconf.h:181:   instantiated from here
    ../../kkconsui-0.1/include/colorschemer.h:78: error: 'COLOR_PAIR' was not declared in this scope
    make[3]: *** [aimhook.o] Fehler 1
    make[3]: Leaving directory `/media/hdb1/fritzbox/tmp/centericq-4.21.0/src/hooks'
    make[2]: *** [all-recursive] Fehler 1
    make[2]: Leaving directory `/media/hdb1/fritzbox/tmp/centericq-4.21.0/src'
    make[1]: *** [all-recursive] Fehler 1
    make[1]: Leaving directory `/media/hdb1/fritzbox/tmp/centericq-4.21.0'
    make: *** [all-recursive-am] Fehler 2
    
    und hört auf. Bitter.
    Hab dazu dann auch noch ein wenig rumgegooglet aber auch nix sinnvolles gefunden. Naja, dann hab ich mich anderen dingen zugewand.

    Hab jetzt ein Mountpoint-Changer-Addon gebastelt dass soweit auch läuft, bis auf ein Problem:
    Wie kann ich in der Web-Konfiguration eine Textbox einbauen, von der aus der Inhalt in die Config Datei geschrieben wird?

    HTML:
    <p>After-mount command:<br>
    <input type="text" name="aftermount_cmd" size="40" maxlength="255" value="$(httpd -e $MOUNTPOINT_DO)"><br>
    (Dieses Kommando wird nach dem Mount-Point Wechsel ausgeführt)</p>
    
    Die Variable $MOUNTPOINT_DO setzt er auch schön ein (/etc/init.d/rc.samba restart :)), aber wenn ich sie ändere, dann wird sie nicht übernommen, also nicht in die /var/mod/etc/conf/mountpoint.cfg geschrieben.
    Hab mir ein bisschen die anderen .cgi Dateien angeschaut, aber auch keinen hinweis gefunden, wie das festgelegt werden könnte.
    Hängt das evtl. vom namen (name="aftermount_cmd") ab?

    Wenn ihr Hilfe wisst meldet euch! Werd das addon - sobald es fertig ist und ich es ausgibig getestet habe - online stellen ... :)
    (Arbeite auch noch an einem Interface für transmission .. bin irgendwie auf den Geschmack gekommen ;))

    MfG - Gelb
     
  6. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Hi!

    zum Thema COLOR_PAIR sieht's so aus, als ob eine Konstante/Definition fehlt.
    In die Datei colorschemer.h könnte man eventuell folgendes schreiben (nach den #includes):

    Code:
    #define COLOR_PAIR(n)	NCURSES_BITS(n,0)
    
    Ob's geht, kann ich nicht sagen. Hab einfach mal nach COLOR_PAIR gegoogelt. Gehört zumindest zu ncurses. Hast du beim ./configure das Flag '--includedir=/home/.../ds-0.2.9/target/include' gesetzt?

    Damit die mountpoint.cfg geschrieben werden kann, benötigt man so ein EXPORT-Template. Schau mal nach Webdav.tar.gz (http://www.ip-phone-forum.de/showpost.php?p=691989&postcount=1). Das ist ein kleines ds-mod Addon, welches ziemlich einfach gestrickt ist.
     
  7. Gelb

    Gelb Neuer User

    Registriert seit:
    17 Mai 2006
    Beiträge:
    19
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hab mir die Webdav.tar.gz mal runtergeladen und mir die webdav.cgi angeschaut aber da steht auch nur
    Code:
    <input id='r05' type='text' name='mountpoint1' size='50' maxlength='255' value='$(httpd -e "$WEBDAV_MOUNTPOINT1")'>
    drinne. Muss man in einer zusätzlichen datei definieren, welche sachen aus den Input-Feldern gelesen werden sollen?
    Also in der .cfg datei hab ich die entsprechende Variable definiert und exportiert
    Code:
    export MOUNTPOINT_DO='/etc/init.d/rc.samba restart'
    und passend dazu
    Code:
    <input type="text" name="aftermount_cmd" size="40" maxlength="255" value="$(httpd -e "$MOUNTPOINT_DO")">
    aber ... ja weiß eben nicht. Hab schon 3mal geschaut, ob ich mich verschrieben hab, aber dann würde er die Variable ja beim Laden des .cgi scripts auch nicht in das input-Feld einlesen.

    Und zum Kompilieren:
    Hab den include-Pfad nicht angeben, aber "--prefix=/bla/blubb/ds-mod/toolchain/target", damit sollte er ja das include Verzeichnis sowie alle anderen finden, oder?
    Die Idee, die Variable einfach zu setzen hatte ich auch, habs dann aber nicht gemacht, weil ich dachte, dann sehen die Farben sicher komisch aus ;).
    Werd ich gleich mal ausprobieren bzw. mir die colorshemer.h anschauen.

    MfG Gelb
     
  8. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    ach so..
    Schau mal in die 'rc.webdav'.
    Dort gibt es beim Start() z.B. folgende Anweisung:

    Code:
    	(
    		if [ -x "/tmp/flash/webdav_secrets" ]; then
    			/tmp/flash/webdav_secrets
    		else
    			/mod/etc/default.webdav/webdav_secrets
    		fi
    
    	) > /mod/etc/secrets
    
    Die Werte, die man in die INPUT-Boxen auf der CGI Seite eingibt, werden in EXPORT-Variablen zwischengespeichert.
    Damit diese auch behalten werden, müssen die in den Flash (das geschieht beim Starten/Stoppen des Dienstes über das rc.webdav Skript).
    Das obere Skript erstellt dann die Konfiguration zur Laufzeit.

    Du brauchst auf jedenfall ein Startskript, was dem des rc.webdav ähnelt.
    Ich hatte das Skript damals einfach kopiert und geändert.

    (ich weiss jetzt leider nicht mehr, wofür die 'load' Section nochmal war :confused: )

    Das mit dem --prefix sollte eigentlich reichen. Wenn nicht, wird die configure Zeile immer länger ;)
     
  9. Gelb

    Gelb Neuer User

    Registriert seit:
    17 Mai 2006
    Beiträge:
    19
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #9 Gelb, 13 Dez. 2006
    Zuletzt bearbeitet: 13 Dez. 2006
    Soo

    Ich beschäftige mich grad nochmal mit meinem Problem, dass er die Variable nicht in die $DAEMON.cfg speichert. Das liegt soweit ich bis jetzt weiß nicht an einer Datei in der die Speicherbefehle drinne stehen.

    Code:
    /var/mod/etc/conf # cat mountpoint.cfg
    export MOUNTPOINT_DO='test'
    export MOUNTPOINT_ENABLED='yes'
    /var/mod/etc/conf #
    
    Werd meine Beobachtungen mal aufzählen:
    1. In der Web-DSMod-Konfig steht in dem input-Feld "test" also wies sein sollte.
    2. Verändere ich den Starttyp des Addons, wird in der datei MOUNTPOINT_ENABLED auf no gesetzt, wies sein sollte.
    3. Verändere ich etwas im intput-Feld, wird es nicht übernommen.
    4. Wenn ich in die mountpoint.cfg export MOUNTPOINT_DO="test" (mit Anführungsstrichen) schreibt er auch schön test ins input-Feld und beim Speichern ändert er in der .cfg die zeile zu export MOUNTPOINT_DO='test' (mit den anderen Zeichen). Aber die Variable bleibt die, die sie vorher war, er ändert nur die " in '.
    [FLAME] WARUM VERDAMMT!? ICH RAFF ES NICHT! [/FLAME]

    Die Erklärung, die ich noch in Petto hab ist, dass er die Variable aus dem imput-Feld nicht einließt, sondern einfach die Alte wieder in in die Datei geschrieben wird. Aber warum!?
    Hab mir das mal beim Samba-Addon angeschaut, da ist es genauso aufgebaut und funktioniert. Also die Variable wird per httpd -e $VARIABLE übergeben und dann auch in die samba.cfg geschrieben. Aber warum bei meinem Addon nicht? :(

    Naja, hoffe mal auf jemanden der da findiger ist als ich ...

    MfG Gelb

    [EDIT]
    Also ich hab mich mit den Start/Stop-Skripts schon gut rumgeschlagen, und die haben meines Wissens nach nichts mit dem Speichern über die Web-Konfiguration zu tun. Die verschiedenen Sektionen werden vom DS-Mod aufgerufen um die einzelnen Addonss einzubinden und so.

    • load: Wird ausgeführt wenn das Addon geladen wird, also beim Starten des Routers bzw. des DS-Mods. Hier werden über "modreg cgi" zB die Konfigurationsseiten des Addons ins Web-Konfig geladen.
    • unload: Eigentlich selbsterklärend ..
    • start: Startet nach dem laden des Addons den Daemon, falls DAEMON_ENABLED='yes' gesetzt ist.
    • stop: Stoppt den Daemon.
    • restart: stop; sleep 2; start (auch selbsterklärend ..)
    • status: Wird zB in der Dinste Seite des DS-Mods benutzt, um da die einzelnen Statusse anzuzeigen
    (Wollte mal ein wenig besserwissen ;))
    [/EDIT]
     
  10. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    #10 bodega, 13 Dez. 2006
    Zuletzt bearbeitet: 13 Dez. 2006
    Ist auch schon was her, dass ich ein Addon gebaut hab. Muss zu meiner Schande auch gestehen, dass ich mich nicht soo stark damit beschäftigt habe - fand es aber dennoch nicht so schwer (es gab ja diverse Vorlagen - bin da nicht From-The-Scratch drangegangen ;)).

    Noch einfacher wäre es, wenn du das Addon mal posten könntest. So stochert man nur rum.

    EDIT:
    Einziger Unterschied den ich noch sehe ist, dass du keine ID bei den Input-Feldern angegeben hast (und alles in Anführungszeichen :eek:) ...

    Code:
    value="$(httpd -e "$MOUNTPOINT_DO")">
    wird nicht funktionieren.

    ging mir jetzt genauso...