Vorstellung "demopackagea" und "demopackageb"

snowyrain

Neuer User
Mitglied seit
31 Jul 2006
Beiträge
125
Punkte für Reaktionen
0
Punkte
16
Hallo,

ich habe nicht so sehr viel Ahnung von Freetz und den interna. Da ich aber mir in den Kopf gesetzt habe ein eigenes Plugin zuerstellen bin ich fleißig am Lernen. Dabei herrausgekommen sind zwei sehr kleines Demo-Packages mit dem Namen demopackagea und demopackageb. (Vielleicht gibts auch noch b :D). Demopackagea ist nur ein "Hello World" C-File welches erstellt und in das Image integriert wird. Es hält sich stark an das Wiki und dem empty-plugin. Demopackageb fügt einen kleinen Daemon hinzu.

Demo-Package-A

Dies ist ein sehr kleines Bespiel Package für Freetz. Es zeigt wie ein kleines Hello-World Programm in Freetz integriert werden kann. Es wird nichts der Freetz-Web-Gui hinzugefügt. Um dieses PAckage zu testen, muss man sich via Telnet oder SSH auf die Box einloggen und "demopackagea" aufrufen. Auf der Konsole sollte dann "Hello-World" stehen.

Installation:

demopackagea der "Freetz-Ordner"/make/.Config.in hinzufügen.
demopackagea.tar in dem Ordner "Freetz-Ordner"/make/ entpacken.

Demo-Package-B


Dieses Demopackage zeigt wie ein kleiner Deamon in Freetz integriert werden kann. Der Deamon ist ein selbstgeschriebener Day-Time-Server. Er ist nicht für den realen Einsatz geeignet. Sondern zeigt nur die Integration in Freetz. Es wird zudem eine kleine Gui in die Freetz-Web-Oberfläche integriert. Hier kann entschieden werden ob der Deamon gestartet werden und es kann eingestellt werden auf welchem Port er laufen soll. Für einen Funktionstest muss demopackageb in der Web-Oberfläche aktivert werden. Der Test erfolgt dann auf einer Konsole über den Befehl "demopackageb c 127.0.0.1 23456" (23456 ist der eingestellte Port). Ältere Versionen sind hier.

Installation:

- Patch ins Freetz-Verzeichnis kopieren und entpacken.
- Patch mit "patch -p0 < patch.txt" einspielen



Vielleicht hilft es ja auch Anderen.

Gruß

Snowyrain

Edit1: demoplugina heißt jetzt demopackagea.
Installation:
Die Datei demoplugina.tgz gehört in das Verzeichnis "dl" im Freetz Ordner
Die Datei demopackageb-freetz-0.0.01.tgz direkt in dem Freetz Ordner entpacken
Die Datei "Freetz-Ordner"/make/Config.in anpassen.
Edit2: Leichte anpassungen an demopackagea
Edit2: demopackageb hinzugefügt. Beide Packages lassen jetzt über wget laden.
Edit3: Fehler in demopackageb behoben -> 0.0.02
Edit3: Patch für Freetz erstellt
Edit4: Der Deamon erstellt ein PIDFILE um modlib nutzen zu können -> 0.0.03
Edit5: Der Deamon verwendet nun fork() -> 0.0.04

Gruß

Snowyrain
 

Anhänge

  • patch.demopackageb.0.0.04.tgz
    1.9 KB · Aufrufe: 125
Zuletzt bearbeitet:
Hej. Super, dass du dich da einarbeitest. Und wenn auch noch ein Wiki-Beitrag rauspringt. *thumbsup*

Aber klappt das so?
Code:
#demoplugin objekt erzeugen
demoplugina.c:
 ${cc} -o demoplugina.c
MfG Oliver
 
Super Idee, da doch immer wieder Fragen danach kommen. Vielen Dank!
icon14.gif


Ich war so frei und habe im Wiki unter Pakete (ist es dort an der richtigen Stelle?) einen neuen Eintrag DemoPackageA gemacht.
Bitte entsprechend ergänzen bzw. zu korrigieren, z.B. bin ich mir nicht sicher, ob es jetzt nicht noch zu früh ist, es dort reinzuschreiben, da es ja noch nicht in Freetz drin ist. Wie seht Ihr das?
 
Zuletzt bearbeitet:
Hallo,

Und wenn auch noch ein Wiki-Beitrag rauspringt.

Es gibt unter den HowTos den Unterpunkt "Wie baue ich ein eigenes Paket für Freetz?", dort habe ich beschrieben wie man das Plugin Empty anpasst. Dies hier ist das als eigenes Plugin.

Aber klappt das so?
Code:
#demoplugin objekt erzeugen
demoplugina.c:
 ${cc} -o demoplugina.c

ich kenne mich nur sehr wenig mit Makefiles aus. Das Projekt lässt sich erstellen und läuft unter Freetz 1.0 auf meiner 5050. Ich denke aber,dass das nicht korrekt ist.

... ob es jetzt nicht noch zu früh ist, es dort reinzuschreiben, da es ja noch nicht in Freetz drin ist. Wie seht Ihr das?

Das Plugin hält sich nicht ganz an die Freetzstruktur.
1. Es ist nicht in Freetz integriert
2. Selbst wenn es integriert ist, gibt es keine Download-Möglichkeit für die Sourcen die Freetz nachläd. (Ich habe keinen Webspace. Und ich weiß nicht ob man für soetwas einen Eintrag bei sourgeforce machen kann/sollte.)
 
2. Selbst wenn es integriert ist, gibt es keine Download-Möglichkeit für die Sourcen die Freetz nachläd. (Ich habe keinen Webspace. Und ich weiß nicht ob man für soetwas einen Eintrag bei sourgeforce machen kann/sollte.)


Da kann man helfen ;)

Code:
http://freetz.falkenhain.info/demoplugina-for-freetz-0.0.01.tgz
 
Eben, und wenn snowyrains Paket in Freetz integriert werden soll (nachdem es getestet wurde), werden es die lieben Entwickler sicherlich ins Freetz-SVN übernehmen. ;)

@snowyrain - Evtl. hast Du das Prinzip vom SVN missverstanden:
Jeder hier ist willkommen, etwas zu Freetz beizusteuern, egal ob Pakete, Tests, Wiki-Einträge o.ä. Dein Plugin kann ganz einfach in Freetz übernommen werden (auch wenn es nur zu Testzwecken dient, aber gerade das ist für Anfänger prima), indem der Source Code ins SVN hochgeladen wird.
Wenn ich das richtig verstanden habe (man möge mich korrigieren), machen das die Entwickler, sobald das Addon/Paket (oder wie auch immer wir es nennen wollen) getestet, prinzipiell für funktionsfähig erachtet wurde und unter GPL veröffentlicht werden darf.
Ab da kann dann jeder das Paket beim make menuconfig auswählen und in seine Freetz-FW einbauen, seine Box damit flashen und das Paket nutzen.
 
Evtl. ist die Bezeichnung etwas unglücklich; der übliche Terminus für Pakete ist bei Freetz nunmal 'Package' und nicht 'Plugin'. Im Übrigen finde ich das auch eine gute Sache.
 
Stimmt, danke für den Hinweis! Entsprechend habe ich das in meinem Beitrag oben und im Wiki angepasst. Ansonsten ist nun snowyrain dran. ;)
 
Anscheinend ist demoplugina-for-freetz-0.0.01.tgz eine komprimierte TAR-Datei, die selbst wieder nur eine TAR-Datei enthält. Dieser Schritt ist unnötig.

@Silent-Tears
Die benötigte Datei ist nicht demoplugina-for-freetz-0.0.01.tgz, sondern demoplugina-0.0.01.tgz

@snowyrain
Da es Dir anscheinend mehr um die Integration in Freetz geht als um das Programm selbst, kannst Du auch das Programm GNU Hello verwenden. Dieses kommt komplett mit configure, Makefile Vorlage, Dokumentation usw.
Wenn Du mehr Interesse in der Richtung hast, solltest Du mal bei Gelegenheit eine Beschreibung von make durchlesen.
 
@RalfFriedl: Hatte ich irgendwann heute Mittag schon erneut hochgeladen. Die andere war allerdings die einzige, die zur Zeit des uploads vorhanden war.
 
Ich habe mal den Eintrag im Wiki etwas angepaßt, insbesondere plugin->Package geändert.

Außerdem finde ich die Vermischung von "Wie schreibe ich mein erstes Programm?" und "Wie erstelle ich ein Freetz Package für ein (vorhandenes) Programm?" etwas unglücklich, da ich das nicht für den Normalfall halte.

Gibt es einen Bedarf für die erste Fragestellung? Ich vermute mal, daß die meisten, die ein etwas komplexeres Programm für die Box schreiben wollen, schon wissen, wie man ein Makefile schreibt und eine TAR-Datei zusammenpackt. Ein "Hello World"-Programm bringt für sich alleine nichts, und eine Anleitung zum Programmieren geht dann doch über den Rahmen von Freetz hinaus.
 
Hm, wo hast Du es denn geändert? Ich hatte bereits im Wiki überall (im TOC und im Beitrag unter "Pakete") aus "Plugin" ein "Package" gemacht. Aber Du kannst es natürlich auch gerne dorthin verschieben, wo es am besten hinpasst.
 
Hallo,

ich stelle gerade den Namen von ..plugin.. auf ..package.. um. Ich habe das nicht ins SVN eingestellt, da ich nicht weiss ob das erwünscht ist. Ich teste gerade noch. Melde mich wenn der Name umgestellt ist und alles läuft.

Gruß

Snowyrain
 
Ich hatte diese Seite (package_creation) geändert.

Wobei unter "package_creation" paßt "Wie schreibe ich Hello World" erst recht nicht hin. Wenn sich nicht in den nächsten Tagen jemand findet, der einen Sinn darin sieht, das dort stehen zu lassen, schlage ich vor, das zu entfernen.

Wo ist denn der letzte Erfahrungsbericht geblieben, als jemand ein echtes Programm ins Freetz aufgenommen hat (könnte hts gewesen sein)?
 
Genau an das hatte ich gedacht.
Die Erstellung eines Package ist dort recht ausführlich beschrieben, ausführlicher als auf der neuen Seite package_creation, wenn auch in Englisch.
 
gabs das nicht auch mal auf deutsch?
 
Hallo,

Wobei unter "package_creation" paßt "Wie schreibe ich Hello World" erst recht nicht hin. Wenn sich nicht in den nächsten Tagen jemand findet, der einen Sinn darin sieht, das dort stehen zu lassen, schlage ich vor, das zu entfernen.

der bereits vorhandene Eintrag im Wiki ist sicherlich besser. Ich denke der Teil ab Kurzanleitung kann weg. Ich habe so angefangen da ich gernen einen eigenes Programm für die Fritzbox schreiben möchte.

Ich habe das erste Posting jetzt angepasst. Das Package hat einen neuen Namen und das Archiv sollte jetzt auch richtig gepackt sein.

Gruß Snowyrain
 
Nur damit keine Mißverständnisse aufkommen, möchte ich klarstellen, daß das nichts gegen Dich persönlich oder gegen das, was Du geschrieben hast, ist. Ich finde es immer gut, wenn jemand etwas lernen will, und noch mehr, wenn auch anderen die Möglichkeit gegeben wird, etwas zu lernen. Das hebt sich wohltuend ab von den vielen anderen Beiträgen, die man zusammenfassen kann mit "macht doch mal das, was ich gerade brauche".

Nur in diesem Fall ist mir den Nutzen und die Zielgruppe nicht klar. Der häufigere Fall ist nun mal, daß ein bestehendes Programm auf die Box soll.
 
Ich hatte diese Seite (package_creation) geändert.
Achso, da hatte ich nichts gemacht, weil ich nicht wusste, wohin damit. Ich hatte nur das Paket als Wiki-Eintrag angelegt und ein bisschen etwas reingeschrieben.

Wo ist denn der letzte Erfahrungsbericht geblieben, als jemand ein echtes Programm ins Freetz aufgenommen hat (könnte hts gewesen sein)?
Damit meinst Du den von mir hinzugefügten httptunnel server bzw. diesen Thread, wo die Entstehung des Pakets nachzuverfolgen ist.
Das Ganze hatte ich dann auch ins Wiki gestellt: First steps - How to start your first freetz package.
Ich hoffe, dass ich den ganzen Kram jetzt nicht auch noch ins Deutsche übersetzen muss. ;)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.