Wie baue ich ein gluon Package?

Ich wurde gern ein einfaches Package schreiben, das verbietet das Wort „Freifunk“ im Hostnamen zu verwenden.

Gibt es da eine Vorlage oder eine Anleitung?

Ich habe keine Doku zu dem Thema gefunden, aus anderen Paketen habe ich das Vorgehen abgeleitet, herausgekommen ist dies:

Was du vorhast klingt allerdings eher nach einer Modifikation des config Mode Paketes, denn das Feld wird ja bereits auf Gültigkeit geprüft.

Ah ok, Um die Hostname eingabe zu beeinflussen, welches Paket müsste ich dann modifizieren?

ich hatte so was ähnliches schon mal hier angefragt:

da war der Konsens, dass man das nur in OpenWRT lösen könnte. Ist dem wirklich so?

Ansonsten hatte ich auch schon mal irgendwo gesehen, dass man irgendwo definieren kann, dass alle Knoten automatisch einen prefix bekommen. Vielleicht kann man ja da ansetzen, das zu modifizieren?

In dem Github issue hat @jow erklärt, man muesse cbi.js und datatypes.lua editieren, könnte man das in ein gluon package gießen?

Diese beiden Dateien sind doch Teil eines gluon Pakets, logischer fände es ein Fork von diesem anzupassen.

Anscheinend ist dies die entscheidende stelle: gluon-config-mode: make hostname field a "pretty hostname" · Issue #414 · freifunk-gluon/gluon · GitHub

Allerdings steh ich noch auf dem schlauch, wie man das als Paket programmieren könnte.

@tcatm meint hier:

der PR müsste am besten gegen luci erstellt werden. Wir können den
dann als Patch mit in Gluon aufnehmen bevor er dort angenommen wird.

In Development Basics — Gluon 2014.3 documentation ist grob beschrieben, wie man in Gluon Patches einfügt. Im Prinzip hängst du einen Commit im Teilbaum packages/luci an den Branch patched an (ganz normales git commit), testest das Image und wenn alles läuft, machst du im Hauptverzeichnis von Gluon make update-patches. Das erzeugt aus deinem Commit einen Patch in patches/, den du uns dann zukommen lassen kannst.

Mit etwas mehr erläuterung, könnte ich mich daran machen das so zu versuchen :wink:

oder gibt es da viellelicht schon fertige lösungen die man als basis für so einen patch nehmen könnte?

Ev. kann ich ja auch einfach den Text im Config Mode hier Ändern: statt

Name dieses Knotens ______________

würde ich schreiben:

Name dieses Knotens: Freifunk- ______________

das würde schon mal dazu führen, dass keiner mehr auf die Idee kommt, dort nochmal „Freifunk“ in den Hostnamen aufzuehmen

Ich würde das dann nach diesem Beispiel lösen:

falls es da keine elegantere Lösung gibt

Ein Gluon-Paket ist nichts anderes als ein OpenWrt-Paket im Format iPKG. Theoretisch kann man so ein Paket zu Fuß erstellen: richtiger Verzeichnisbaum tar.gz-ipt, Steuerungsdateien auch ge-tar.gz-ipt. Das Ganze als Archiv auch noch mal als tar.gz anlegen. Zu viel Arbeit? Angst vor Fehlern? Es gibt den OpenWrt-SDK, welches dies alles und noch viel mehr automatisch erledigt. Eigentlich würde Gluon beim Kompilieren auch so was heraus spucken, würde man ein paar Dateien bearbeiten. Und eigentlich geht es auch mit der Kompilierungsumgebung, die aber niemand von den Firmwareerstellern mit zum Download anbietet. Egal … hier die Schritte zum eigenen iPKG-Paket, beispielhaft für die ar71xx-Architektur:

SDK herunterladen (ca. 75 MiB) und entpacken:

Seite im OpenWrt-Wiki genau durchlesen und befolgen und auf das zu generierende Paket anwenden. Abhängigkeiten vorher Kompilieren.

Stand 2015-06: es wird garantiert Probleme mit dem Nachkompillieren von Kernelmodulen geben, wenn man nicht der Besitzer des Kernelkompillats ist (in der Regel jeder, der OpenWrt/Gluon für die Community selbst gebaut hat). Dieser ist entsprechend ins heruntergeladene SDK *„zu integrieren“*. Am besten denkst Du nicht mal dran ein Paket für ein Kernelmodul zu bauen, war hier aber auch nicht gefragt.

Das Projekt „Gluon-Package selbst Bauen“ ist ein Selbststudium-Projekt, welches sich jeda am besten selbst durch „Trial & Error“ und dem Ableiten bestehender Pakete aneignen kann. Es steht alles im Wiki beschrieben. Dem ist nichts hinzuzufügen (außer dem besagten, nicht trivialen Kernel-Modul-Paket).

Geschätzte Zeit zum Erlernen: 1 Stunde bis 2 Wochen (je nach Vorwissen). Einfach versuchen – man kann nichts kaputt machen.

Viel Spaß und Erfolg

2 Likes