Neues Paket in Firmware aufnehmen: Unterschied zwischen den Versionen
Rola (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Ein neues Paket in die Firmware aufnehmen= ==Am Beispiel des Tunneldigger für l2tp== Also der aktuelle Entwicklungsstand liegt aktuell hier: https://githu…“) |
Rola (Diskussion | Beiträge) |
||
| Zeile 102: | Zeile 102: | ||
Tim | Tim | ||
Hier die Patches : | Hier die Patches : | ||
Version vom 2. März 2016, 17:48 Uhr
Ein neues Paket in die Firmware aufnehmen
Am Beispiel des Tunneldigger für l2tp
Also der aktuelle Entwicklungsstand liegt aktuell hier:
https://github.com/FreifunkFranken/firmware/commits/master
Da kannst du auch sehen welche Entwicklungen zuletzt aufgenommen wurden.
Das letzte beta Relase findest du hier:
https://github.com/FreifunkFranken/firmware/commits/20160213-beta
Ich würde jetzt so vorgehen:
- gucken was das is:
https://github.com/wlanslovenija/tunneldigger
- Oha.. Da gibts Doku:
http://tunneldigger.readthedocs.org/en/latest/
- Hm, da könnte unter "Client installation" stehen wie man das
installiert: http://tunneldigger.readthedocs.org/en/latest/client.html#openwrt-package
- *große Augen* .. Prima. Es gibt ein OpenWRT Package!
- Kurz vor Freude in die Luft springen
- buildscript anpassen
Ich füge dort den OpenWRT Feed von WlanSlovanija hinzu, weil laut der Doku oben da drin das Tunneldigger OpenWRT Package liegt:
WLANSLOVENIJA=(wlanslovenija$
https://github.com/wlanslovenija/firmware-packages-opkg$
fec592e0540ef883bc8b27b77e7ff45d93ed3f24)$
Dann sage ich, dass wir von diesem Feed nur dieses eine Package benötigen:
WLANSLOVENIJA_PKGS="tunneldigger"$
Zuletzt aktiviere ich den Feed:
FEEDS=(OPENWRT ROUTING BATMAN_ADV WLANSLOVENIJA FFF)$
- Danach muss ich natürlich meine komplette Buildumgebung
neuaufbauen weil sich die Quellen ja ändern. Zum Glück kann das das buildscript für machen:
./buildscript prepare
Nun möchte ich wissen, ob das in unserem OpenWRT drin ist:
./buildscript config openwrt
- Ui, viele Sachen.. Ich geb einfach ein Slash ('/') ein und kann damit
nach "tunneldigger" suchen. In der Anzeige wird mir sogar gezeigt wo ich das finde. In dem Fall hier: Location: -> Network Also .. Exit, danach ins Network Menü. Dann mit dem Curser auf Tunneldigger und zweimal die Leertaste drücken, damit da ein '*' steht. Sternchen bedeutet: Wird fest eincompiled. Das Mmmm bedeutet: Wird als nachinstallierbares OPKG erzeugt.
- Danach paar mal Exit und Speichern
- das buildscript hatte am Anfang die OpenWRT config zurecht gebastelt.
Nun möchte es wissen, ob die neue Config auch verwendet werden soll. -> Ja, natürlich! Also 'y'..
- Gucken was passiert ist..
git status
- Ui da tauchen nun zwei Sachen auf:
a) geändert: bsp/ar71xx/.config b) Unbeobachtete Dateien: src/packages/wlanslovenija/
b) nervt nur rum, also wollen wir das ignorieren. Dazu tragen wir den Pfad in die .gitignore Datei ein:
echo 'src/packages/wlanslovenija' >> .gitignore
a) ist spannender. Wollen wir sehen:
git diff bsp/ar71xx/.config
Wir sehen, dass Tunneldigger angegangen ist und noch dessen Abhängigkeiten.
- Coool.. Dann kann ich jetzt bauen?
Joar, für einen ersten Schuss sollte es reichen.
Was danach noch zu tun ist:
- Tunneldigger experimentell auf dem Knoten einrichten/konfigurieren
- Ein src/packages/fff/fff-tunneldigger Package schreiben, was diese
Konfiguration erledigen kann.
- fff-tunneldigger sollte von tunneldigger abhängig sein
- Wenn tunneldigger dann per default aktiviert sein soll, muss das Paket
fff von fff-tunneldigger abhängig gemacht werden.
Ich will einfach nur den tunneldigger auf dem Router haben!
In dem Fall kannst du einfach die Patches, die unmittelbar nach dieser Mail auf der dev-Mailingliste landen verwenden.
[RFC PATCH 1/3] buildscript: add tunneldigger from wlanslovenija [RFC PATCH 2/3] fff-tunneldigger: new placeholder for tunneldigger [RFC PATCH 3/3] fff: activate fff-tunneldigger
Dazu die Patch E-Mails einfach komplett als mbox speichern und mit git am <path/to/mail.mbox> anwenden. (bei Thunderbird scheint das eml und nicht mbox zu heißen)
Tim
Hier die Patches :
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
---
.gitignore | 1 +
buildscript | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 243d3c8..504abec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,5 +8,6 @@ src/packages/fastd
src/packages/openwrt
src/packages/batman_adv
src/packages/routing
+src/packages/wlanslovenija
.project
./*.patch
diff --git a/buildscript b/buildscript
index ec9ae64..b0d3d1b 100755
--- a/buildscript
+++ b/buildscript
@@ -39,10 +39,15 @@ ROUTING=(routing
e870c3373eea80df852d42fac3f40aaffd7a0f58)
ROUTING_PKGS="alfred"
+WLANSLOVENIJA=(wlanslovenija
+ https://github.com/wlanslovenija/firmware-packages-opkg
+ fec592e0540ef883bc8b27b77e7ff45d93ed3f24)
+WLANSLOVENIJA_PKGS="tunneldigger"
+
FFF=(fff)
FFF_PKGS="-a"
-FEEDS=(OPENWRT ROUTING BATMAN_ADV FFF)
+FEEDS=(OPENWRT ROUTING BATMAN_ADV WLANSLOVENIJA FFF)
checkout_git(){
local DIRECTORY=$1
--
2.1.4
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
---
src/packages/fff/fff-tunneldigger/Makefile | 40 ++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 src/packages/fff/fff-tunneldigger/Makefile
diff --git a/src/packages/fff/fff-tunneldigger/Makefile b/src/packages/fff/fff-tunneldigger/Makefile
new file mode 100644
index 0000000..0526e7b
--- /dev/null
+++ b/src/packages/fff/fff-tunneldigger/Makefile
@@ -0,0 +1,40 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fff-tunneldigger
+PKG_VERSION:=1
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/fff-tunneldigger
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/fff-tunneldigger
+ SECTION:=base
+ CATEGORY:=Freifunk
+ TITLE:= Freifunk-Franken tunneldigger
+ URL:=http://www.freifunk-franken.de
+ DEPENDS:=+tunneldigger
+endef
+
+define Package/fff-tunneldigger/description
+ This is tunneldigger for the Freifunk Franken Firmware
+ Currently this package is a placeholder
+endef
+
+define Build/Prepare
+ echo "all: " > $(PKG_BUILD_DIR)/Makefile
+endef
+
+define Build/Configure
+ # nothing
+endef
+
+define Build/Compile
+ # nothing
+endef
+
+define Package/fff-tunneldigger/install
+ # nothing
+endef
+
+$(eval $(call BuildPackage,fff-tunneldigger))
--
2.1.4
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
---
src/packages/fff/fff/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/packages/fff/fff/Makefile b/src/packages/fff/fff/Makefile
index f480031..2ca416a 100644
--- a/src/packages/fff/fff/Makefile
+++ b/src/packages/fff/fff/Makefile
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=fff
PKG_VERSION:=0.0.1
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_BUILD_DIR:=$(BUILD_DIR)/fff
@@ -14,7 +14,7 @@ define Package/fff-base
DEFAULT:=y
TITLE:= Freifunk-Franken Base
URL:=http://www.freifunk-franken.de
- DEPENDS:=+micrond +fff-nodewatcher +fff-web +fff-uradvd
+ DEPENDS:=+micrond +fff-nodewatcher +fff-web +fff-uradvd +fff-tunneldigger
endef
define Package/fff-base/description
--
2.1.4