Enigma2 - tworzenie pakietów OPKG
Enigma2, STB poniedziałek, 20 sierpnia 2012W tym artykule opiszę proces tworzenia i przeglądania pakietów OPKG, czyli plików z rozszerzeniem IPK. Na początek informacja w jaki sposób rozpakować pakiet. Powiedzmy, że chcemy podejrzeć zawartość pakietu enigma.ipk. W tym celu należy wykonać następujące kroki:
1. Utwórz katalog tymczasowy:
mkdir ./tmp
2. Wejdź do katalogu tmp:
cd tmp
3. Rozpakować zawartość pakietu IPK:
ar -ox ../enigma2.ipk
4. Rozpakować zawartość archiwów:
gunzip ./*.tar.gz
5. Wypakować pliki TAR:
tar xf ./data.tar tar xf ./control.tar
6. Usunąć pliki TAR:
rm *.tar
Jeżeli chodzi o strukturę pakietu OPKG to jest ona następująca:
package.opk (ar) +- debian-binary (text) +- control.tar.gz (tarball) ...+- control (text) ...+- preinst (script) ...+- postinst (script) ...+- prerm (script) ...+- postrm (script) +- data.tar.gz (tarball) ...+- system ......+- bin .........+- opkg-hello (program)
W strukturze jest stały plik tekstowy debian-binary, następnie spakowane skrypty kontrolne control.tar.gz, a następnie spakowane archiwum docelowe, czyli dane data.tar.gz.
Teraz przejdziemy do procesu tworzenia pakietu. W celu utworzenia pakietu wykonujemy:
1. Tworzymy katalog tmp
mkdir ./tmp
2. Wchodzimy do katalogu tmp:
cd tmp
3. Tworzymy plik tekstowy debian-binary z zawartością "2.0"
4. Tworzymy pliki kontrolne i pakujemy je do archiwum control.tar.gz. Do tworzenia archiwum TAR.GZ uzywany komendy:
tar zcvf control.tar.gz LISTA PLIKÓW/KATALOGÓW
5. Pliki danych pakujemy z docelową strukturą katalogową do data.tar.gz
6. Tworzymy pakiet przy użyciu komendy:
ar -r enigma2.ipk LISTA PLIKÓW/KATALOGÓW
Poniżej znajdują się przykładowe zawartości skryptów kontrolnych.
1. Skrypt control:
Package: enigma2-plugin-extensions-sample Version: 1.2-rc1 Description: My Sample Plugin Maintainer: MASLSection: base Architecture: mipsel Priority: optional Homepage: xxxxxx Depends: enigma2 Source: xxxxx
2. Skrypt postinst:
#!/bin/sh echo "" echo "********************************************************" echo "* My Plugin *" echo "* Support: masl@xxx.pl *" echo "* Mod by MASL (c) 2012 *" echo "********************************************************" echo "" echo "Sample Plugin successfully installed! You should restart enigma2 now" echo "" exit 0
2. Skrypt postrm:
#!/bin/sh rm -rf /usr/lib/enigma2/python/Plugins/Extensions/SamplePlugin echo "Plugin removed! You should restart enigma2 now!" exit 0
0 komentarze:
Prześlij komentarz