Vorwort:
Was wir an der Stelle machen sind vorhandene Plugins, Skins oder Settings für das Duck-Trick Image als IPK zur Verfügung zu stellen.
Gerade bei den Skins und Plugins sollte vorab sichergestellt sein, dass diese auch problemlos mit dem Image funktionieren. Sollte dies nicht der Fall sein, so sollten diese auch nicht zur Verfügung gestellt werden. Ausnahme: Man ist fähig, diese unter dem Image lauffähig zu machen.
Im Internet gibt es einige Anleitungen wie man IPK-Pakete erstellen kann. Duck-Trick hat jedoch ein Script zur Verfügung gestellt, mit welchem man sehr einfach diese Pakete erstellen kann, wenn man sich an die folgende Anleitung hält.
Voraussetzung bzw. "Vorgabe":
Die folgenden Beschreibungen setzen ein gewisses Grundverständnis für Linux voraus, da wir teilweise auch in einem Terminal per Kommandozeile agieren. Wer damit ein Problem hat, sollte es vllt. besser lassen.
Weiterhin arbeite ich grundsätzlich mit Linux Mint, welches auf Ubuntu basiert. D.h. ich empfehle grundsätzlich ein auf Ubuntu basierendes System, da andere Distributionen hier und da evtl. anders gestrickt sind.
Weiterhin sollte die Verzeichnisstruktur unter Linux zumindest soweit bekannt sein, dass das Benutzerverzeichnis z.B. wie folgt lautet:
Zu guter letzt sollte man wissen, dass Linux im Gegensatz zu Windows zwischen Groß- und Kleinschreibung unterscheidet. Dies bedeutet:
ist nicht gleich:
Im folgenden nutzen wir das Verzeichnis /home/user als Basis für alle weiteren Schritte.
Script als Download
...findet sich in der Database:
Link ist nicht mehr aktiv.
Schritt 1: Script entpacken
Hierzu einfach das heruntergeladene Paket IPKG_Erstellen.tar.gz unter Linux per Doppelklick öffnen. Den darin befindlichen Ordner "IPKG_Erstellen" einfach nach /home/user entpacken.
In dem so entpacken Ordner befinden sich die Ordner...
- config
- control
- data
...sowie die Dateien...
- debian-binary
- erstellen.sh
Zum Erstellen eines IPK-Paketes sind für uns nur wichtig der Ordner "data" sowie die Datei "erstellen.sh".
Im Ordner "data" befindet sich zum Erstellen eines IPK-Paketes das Plugin, die Settings bzw. der Skin.
Schritt 2: Info zum Ordner "data"
Im Ordner "data" sollen sich zum erstellen eines IPK-Paketes ein Plugin, Skin oder die Settings befinden.
Dazu muss man wissen, dass hier die gesamte Ordnerstruktur des Plugins, der Settings oder des Skins abgebildet werden muss, wie diese auf der Box liegen. Die Ordnerstrukturen lauten dabei wie folgt:
für ein Plugin: /usr/lib/engima2/python/Plugins/Extensions/MeinPlugin
für ein Skin: /usr/local/share/enigma2/MeinSkin
für die Settings: /etc/enigma2
Am Beispiel eines Plugins:
/data/usr/lib/engima2/python/Plugins/Extensions/MeinPlugin
Im folgenden erläutere ich die weiteren Schritte auf Basis von Plugins!
Schritt 3: Vorhandenes Plugin den Ordner "data" entpacken"
Schritt 3.1: Vorhandenes IPK-Paket entpacken
Der geneigte User fragt sich an der Stelle, wieso soll ich ein bereits vorhandenes IPK-Paket entpacken, und kann dies nicht einfach installieren oder auf den Feed bringen?
Manche IPK-Pakete lassen sich nicht einfach installieren, weil hier manche Control-Scripts mitgegeben werden, die zu einer Ablehnung der Installation führen.
Grundsätzlich gilt auch:
Alles was auf den Feed soll, muss neu gepackt werden!
IPK-Pakete können unter Ubuntu oder Linux Mint per rechter Maustaste wie eine komprimierte Datei mit der Archivverwaltung oder dem Standardpacker geöffnet werden.
In dem Paket befinden sich die Ordner:
- DEBIAN
- usr
Daraus kann man schon ableiten, dass die richtige Plugin-Verzeichnisstruktur mitgegeben wird.
Den Ordner "usr" entpacken wir nun einfach in unseren Data-Ordner, also nach:
Bei mir wird auch immer der Ordner "DEBIAN" in den Ordner "data" entpackt, diesen bitte immer löschen!!!
Im Ordner "data" sollte sich nur der Ordner "usr" befinden!
Weiter zu Schritt 4!
Schritt 3.2: Ein Plugin als komprimierte Datei (*.zip, *.rar, *.tar.gz...) entpacken
Liegt das Plugin in gepackter Form vor, so kann dies auch einfach entpackt werden. Wenn sich darin das IPK-Paket befindet, dann erst dieses entpacken und nach Schritt 3.1 vorgehen.
In der gepackten Form gibt es in aller Regel 2 Möglichkeiten wie das Plugin zur Verfügung gestellt wird:
1. Inklusive kompletter Ordnerstruktur /usr/lib/enigma2...
2. Nur der Ordner des Plugins, z.B. "MeinPlugin"
Für 1. gilt:
Einfach in den ordner "data" entpacken
Für 2. gilt:
Den Ordner "MeinPlugin" nach "data" nicht direkt entpacken, sondern sukzessive die Ordnerstruktur dabei erstellen, sprich im Ordner Data nacheinandere die Ordner/Unterordner...
usr -> lib -> enigma2 -> python -> Plugins -> Extensions
...anlegen und den Ordner "MeinPlugin" in die unterste Ebene "Extensions" entpacken.
Alternativ kann auch vorher per Dateimanager die Dateistruktur abgebildet werden!
Schritt 4: IPK-Paket im Terminal erstellen
Hierzu rufen wir ein Terminal auf, unter Linux Mint entweder über das Anwendungsmenü -> Zubehör -> Terminal oder per Tastenkombination STRG+Alt+T. (Natürlich auch per Desktopfverknüpfung oder Verknüpfung im Panel...)
Wir befinden uns nun im Benutzerordner /home/user.
Nun geben wir der Reihe nach folgende Befehle ein:
Wechsel in den Pfad IPKG_Erstellen (aus Schritt 1!)
Wir befinden uns demnach im Pfad IPKG_Erstellen, sieht im Terminal z.B. so aus:
Nun können wir das IPK-Paket mit folgendem Befehl bzw. mit folgender Befehlssyntax erstellen:
Erläuterung:
./erstellen: Eigentliches Script, welches das IPK-Paket mit den folgenden Parametern erstellt
Paketname: Name des Paketes auf dem Feed zum Installieren/Updaten, z.B.
Beim Paketnamen die richtige Syntax beachten. Hat die Bezeichnung (hier: "Astra192_by_Matze") mehrere Worte, bitte als Trennzeichen den Unterstrich "_" und nicht Bindestrich "-" verwenden!!!
Wird der Bindestrich verwendet, so wird im Addon-Menü nur der 1. Teil der Bezeichnung ausgegeben, hier also nur "Astra192".
Richtig:
Falsch:
Version: z.B. Version des Originals nehmen "1.0" oder Erstelldatum (20130807)...
Beschreibung: Kurzbeschreibung des Plugins, z.B. "Umfangreiches Internetradio mit Aufnahmefunktion
Ersteller: Ersteller des Paketes, z.B. meitevau, Pilot, ...
Hier konkrete Beispiele:
Plugin:
Skin:
Settings:
Das Script erstellt nun das entsprechende IPK-Paket. Dieses befindet sich nun im Ordner IPKG_Erstellen. Weiterhin gibt das Script z.B. folgendes im Terminal aus:
Wenn das Plugin auf den Feed soll, dann muss der hier fettgedruckte Bereich in die Packages.gz aufgenommen werden.
Hierzu würde man FTP-Zugang für den Feed benötigen, um die Datei Packages.gz herunterladen zu können. Diese müsste dann entpackt werden und der Text in die entpackte Datei "Packages" eingefügt werden.
Anschließend wieder die Datei als Packages.gz packen und per FTP inkl. IPK-Paket auf den Feed übertragen.
Schritt 5: Update eines Plugins
Beim Update eines Plugins ist darauf zu achten, dass der Paketname immer gleich bleibt. Eine geänderte Versionsnummer sorgt dafür, dass das Duck-Trick Image das Update erkennt.
Der entsprechend andere Text für die Packages-Datei muss den bisherigen Text ersetzen.
Anschließend erscheint beim nächsten Aufruf des Addon-Managers das Plugin in blau, sprich es steht ein Update dafür zur Verfügung.
Probleme beim Entpacken von RAR oder 7z...?
Sollten die Pakete in einem Format wie RAR oder 7z vorliegen, so kann evtl. das Packprogramm unter Linux damit nichts anfangen. In dem Fall sollte noch folgender Befehl per Terminal ausgeführt werden:
Damit werden die fehlenden Pakete nachinstalliert, damit das Packprogramm auch mit diesen Formaten umgehen kann.
---------------------------------
So, ich hoffe ich habe an der Stelle nix vergessen?!?
meitevau
Was wir an der Stelle machen sind vorhandene Plugins, Skins oder Settings für das Duck-Trick Image als IPK zur Verfügung zu stellen.
Gerade bei den Skins und Plugins sollte vorab sichergestellt sein, dass diese auch problemlos mit dem Image funktionieren. Sollte dies nicht der Fall sein, so sollten diese auch nicht zur Verfügung gestellt werden. Ausnahme: Man ist fähig, diese unter dem Image lauffähig zu machen.
Im Internet gibt es einige Anleitungen wie man IPK-Pakete erstellen kann. Duck-Trick hat jedoch ein Script zur Verfügung gestellt, mit welchem man sehr einfach diese Pakete erstellen kann, wenn man sich an die folgende Anleitung hält.
Voraussetzung bzw. "Vorgabe":
Die folgenden Beschreibungen setzen ein gewisses Grundverständnis für Linux voraus, da wir teilweise auch in einem Terminal per Kommandozeile agieren. Wer damit ein Problem hat, sollte es vllt. besser lassen.
Weiterhin arbeite ich grundsätzlich mit Linux Mint, welches auf Ubuntu basiert. D.h. ich empfehle grundsätzlich ein auf Ubuntu basierendes System, da andere Distributionen hier und da evtl. anders gestrickt sind.
Weiterhin sollte die Verzeichnisstruktur unter Linux zumindest soweit bekannt sein, dass das Benutzerverzeichnis z.B. wie folgt lautet:
Code:
/home/user
Code:
/home/user/pfad
Code:
/home/user/Pfad
Im folgenden nutzen wir das Verzeichnis /home/user als Basis für alle weiteren Schritte.
Script als Download
...findet sich in der Database:
Link ist nicht mehr aktiv.
Schritt 1: Script entpacken
Hierzu einfach das heruntergeladene Paket IPKG_Erstellen.tar.gz unter Linux per Doppelklick öffnen. Den darin befindlichen Ordner "IPKG_Erstellen" einfach nach /home/user entpacken.
In dem so entpacken Ordner befinden sich die Ordner...
- config
- control
- data
...sowie die Dateien...
- debian-binary
- erstellen.sh
Zum Erstellen eines IPK-Paketes sind für uns nur wichtig der Ordner "data" sowie die Datei "erstellen.sh".
Im Ordner "data" befindet sich zum Erstellen eines IPK-Paketes das Plugin, die Settings bzw. der Skin.
Schritt 2: Info zum Ordner "data"
Im Ordner "data" sollen sich zum erstellen eines IPK-Paketes ein Plugin, Skin oder die Settings befinden.
Dazu muss man wissen, dass hier die gesamte Ordnerstruktur des Plugins, der Settings oder des Skins abgebildet werden muss, wie diese auf der Box liegen. Die Ordnerstrukturen lauten dabei wie folgt:
für ein Plugin: /usr/lib/engima2/python/Plugins/Extensions/MeinPlugin
für ein Skin: /usr/local/share/enigma2/MeinSkin
für die Settings: /etc/enigma2
Am Beispiel eines Plugins:
/data/usr/lib/engima2/python/Plugins/Extensions/MeinPlugin
Im folgenden erläutere ich die weiteren Schritte auf Basis von Plugins!
Schritt 3: Vorhandenes Plugin den Ordner "data" entpacken"
Schritt 3.1: Vorhandenes IPK-Paket entpacken
Der geneigte User fragt sich an der Stelle, wieso soll ich ein bereits vorhandenes IPK-Paket entpacken, und kann dies nicht einfach installieren oder auf den Feed bringen?
Manche IPK-Pakete lassen sich nicht einfach installieren, weil hier manche Control-Scripts mitgegeben werden, die zu einer Ablehnung der Installation führen.
Grundsätzlich gilt auch:
Alles was auf den Feed soll, muss neu gepackt werden!
IPK-Pakete können unter Ubuntu oder Linux Mint per rechter Maustaste wie eine komprimierte Datei mit der Archivverwaltung oder dem Standardpacker geöffnet werden.
In dem Paket befinden sich die Ordner:
- DEBIAN
- usr
Daraus kann man schon ableiten, dass die richtige Plugin-Verzeichnisstruktur mitgegeben wird.
Den Ordner "usr" entpacken wir nun einfach in unseren Data-Ordner, also nach:
Code:
/home/user/IPKG_Erstellen/data
Im Ordner "data" sollte sich nur der Ordner "usr" befinden!
Weiter zu Schritt 4!
Schritt 3.2: Ein Plugin als komprimierte Datei (*.zip, *.rar, *.tar.gz...) entpacken
Liegt das Plugin in gepackter Form vor, so kann dies auch einfach entpackt werden. Wenn sich darin das IPK-Paket befindet, dann erst dieses entpacken und nach Schritt 3.1 vorgehen.
In der gepackten Form gibt es in aller Regel 2 Möglichkeiten wie das Plugin zur Verfügung gestellt wird:
1. Inklusive kompletter Ordnerstruktur /usr/lib/enigma2...
2. Nur der Ordner des Plugins, z.B. "MeinPlugin"
Für 1. gilt:
Einfach in den ordner "data" entpacken
Für 2. gilt:
Den Ordner "MeinPlugin" nach "data" nicht direkt entpacken, sondern sukzessive die Ordnerstruktur dabei erstellen, sprich im Ordner Data nacheinandere die Ordner/Unterordner...
usr -> lib -> enigma2 -> python -> Plugins -> Extensions
...anlegen und den Ordner "MeinPlugin" in die unterste Ebene "Extensions" entpacken.
Alternativ kann auch vorher per Dateimanager die Dateistruktur abgebildet werden!
Schritt 4: IPK-Paket im Terminal erstellen
Hierzu rufen wir ein Terminal auf, unter Linux Mint entweder über das Anwendungsmenü -> Zubehör -> Terminal oder per Tastenkombination STRG+Alt+T. (Natürlich auch per Desktopfverknüpfung oder Verknüpfung im Panel...)
Wir befinden uns nun im Benutzerordner /home/user.
Nun geben wir der Reihe nach folgende Befehle ein:
Code:
cd IPKG_Erstellen
Wir befinden uns demnach im Pfad IPKG_Erstellen, sieht im Terminal z.B. so aus:
Code:
user@PC-Name ~/IPKG_Erstellen
Nun können wir das IPK-Paket mit folgendem Befehl bzw. mit folgender Befehlssyntax erstellen:
Code:
./erstellen.sh "Paketname" "Version" "Beschreibung" "Ersteller"
./erstellen: Eigentliches Script, welches das IPK-Paket mit den folgenden Parametern erstellt
Paketname: Name des Paketes auf dem Feed zum Installieren/Updaten, z.B.
Code:
enigma-plugin-Settings-Astra192_by_Matze
Wird der Bindestrich verwendet, so wird im Addon-Menü nur der 1. Teil der Bezeichnung ausgegeben, hier also nur "Astra192".
Richtig:
Code:
enigma2-plugin-Extensions-Cool_TV_Guide_by_Coolman
Code:
enigma2-plugin-Extensions-Cool-TV-Guide-by-Coolman
Version: z.B. Version des Originals nehmen "1.0" oder Erstelldatum (20130807)...
Beschreibung: Kurzbeschreibung des Plugins, z.B. "Umfangreiches Internetradio mit Aufnahmefunktion
Ersteller: Ersteller des Paketes, z.B. meitevau, Pilot, ...
Hier konkrete Beispiele:
Plugin:
Code:
./erstellen.sh "enigma2-plugin-Extensions-MeinPlugin" "1.0" "Einfaches Plugin zur Anzeige von irgendetwas" "meitevau"
Code:
./erstellen.sh "enigma2-plugin-Extensions-Mein_neues_Plugin" "2.0" "Einfaches Plugin zur Anzeige von irgendetwas" "meitevau"
Skin:
Code:
./erstellen.sh "enigma2-plugin-Skins-MeinSkin" "1.0" "Einfacher Skin von Skinersteller" "meitevau"
Code:
./erstellen.sh "enigma2-plugin-Skins-Mein_neuer_Skin" "2.0" "Einfacher Skin von Skinersteller" "meitevau"
Settings:
Code:
./erstellen.sh "enigma2-plugin-Settings-MeineSettings" "1.0" "Settings Astra 19,2 von Settingersteller" "meitevau"
Code:
./erstellen.sh "enigma2-plugin-Settings-Meine_neuen_Settings" "2.0" "Settings Astra 19,2 von Settingersteller" "meitevau"
Das Script erstellt nun das entsprechende IPK-Paket. Dieses befindet sich nun im Ordner IPKG_Erstellen. Weiterhin gibt das Script z.B. folgendes im Terminal aus:
Code:
_______________________________________________________________________
Eintrag für Packages.gz
_______________________________________________________________________
[B]
Package: enigma2-plugin-Settings-KabelDeutschland_by_Matze
Version: 20130804
Architecture: sh4
Section: extra
Maintainer: meitevau
MD5Sum: 04cb8eb7ce499e539bcdeca84e6a348c
Size: 23466
Filename: enigma2-plugin-Settings-KabelDeutschland_by_Matze.ipk
Source: http://dbs-clan.de/argus/feed/2.7
Description: Settings by Matze fuer Kabel Deutschland[/B]
_______________________________________________________________________
Wenn das Plugin auf den Feed soll, dann muss der hier fettgedruckte Bereich in die Packages.gz aufgenommen werden.
Hierzu würde man FTP-Zugang für den Feed benötigen, um die Datei Packages.gz herunterladen zu können. Diese müsste dann entpackt werden und der Text in die entpackte Datei "Packages" eingefügt werden.
Anschließend wieder die Datei als Packages.gz packen und per FTP inkl. IPK-Paket auf den Feed übertragen.
Schritt 5: Update eines Plugins
Beim Update eines Plugins ist darauf zu achten, dass der Paketname immer gleich bleibt. Eine geänderte Versionsnummer sorgt dafür, dass das Duck-Trick Image das Update erkennt.
Der entsprechend andere Text für die Packages-Datei muss den bisherigen Text ersetzen.
Anschließend erscheint beim nächsten Aufruf des Addon-Managers das Plugin in blau, sprich es steht ein Update dafür zur Verfügung.
Probleme beim Entpacken von RAR oder 7z...?
Sollten die Pakete in einem Format wie RAR oder 7z vorliegen, so kann evtl. das Packprogramm unter Linux damit nichts anfangen. In dem Fall sollte noch folgender Befehl per Terminal ausgeführt werden:
Code:
sudo apt-get install unrar p7zip-full
---------------------------------
So, ich hoffe ich habe an der Stelle nix vergessen?!?
meitevau
Zuletzt bearbeitet: