Suche Script zum erstellen von IPKG files, hat jemand sowas?
mfg
pupert
Suche Script zum erstellen von IPKG files, hat jemand sowas?
mfg
pupert
hab ich im DMM board doch gepostet inklusive ar binary amit man auch auf 7025 selber kits machen kann (script geht aber auch am PC)
Und das Spider Fan Plugin kann auch ipk Gefängnisse machen ....
Hier ist der Beitrag & script:
Anbei also ein kleines ipkg-build.tar.bz2 das sowohl die voll funktionsfähige ar als auch das entsprechend angepasste ipkg-build enthält.
Beide files werden auf /usr/local/bin abgelegt damit wenn das in Eurem Pfad inkludiert ist auch von überall ausgeführt werden kann.
Für die syntax einfach ipk-build eingeben nachdem Ihr den kit auf /tmp FTPd und ausgepackt habt:
cd /
bunzip2 /tmp/ipkg-build.tar.bz2
tar -xvf /tmp/ipkg-build.tar
ipkg-build
Damit sollte dann vom erstellen der directory struktur und des CONTROl directories abgesehen (das ist in Reichi's Wiki eh schön erklärt) ipkg machen selbst auf der Dream (fast) so einfach sein wie andere Archives erstellen.
PS: wenn Ihr wollt kann ich auch daraus noch ein kleines ipk file machen
PPS: Und aufpassen das ar ist 2.7 MB gross, das verbraucht also ziemlich viel Speicher - evt nach dem auspacken woanders hin moven:
mkdir /media/hdd/ar
mv /usr/local/bin/ar /media/hdd/ar
ln -sfn /media/hdd/ar/ar /usr/local/bin
oder gleich den link der busybox loswerden und mit /usr/bin arbeiten:
rm /usr/bin/ar
ln -sfn /media/hdd/ar/ar /usr/bin
LG
gutemine
thx
mfg
pupert
Kann man ein *.ipk file auch entpacken ohne zu installieren?
Damit man nachsehen kann wie das ganze aufgebaut ist, wäre leichter zu verstehen...
ar -tvf *.ipk zum anschauen (ja, ar und nicht tar !)
ar -xvf zum extrahieren gibt 3 pakete die man mit tar -tvf anschauen und mit tar -xvf extrahieren kann.
In data sind die files und in contrl das contrl file und die scripte.
Steht alles in Reichis Wiki zum ipk bauen
Habe heute zum ersten mal ein ipk Paket erstellt.
Eine Frage bleibt noch.
-Wo müssen die
preinst
postinst
prerm
postrm
Scripte hin und müssen sie mit sh enden ?
MfG
Die müssen ins CONTROL directory zum control file dazu und Nein die müssen so heissen ohne .sh sonst werden sie nicht beim installieren aufgerufen.
thx gutemine
funktioniert !
sieht so eine saubere deinstalltion mit wiederherstellung aus ?
und wieso finde ich unter Plugins entfernen mein plugin nicht ?
das preinst script wird ausgeführt und sieht so aus
cd /usr/lib/enigma2/python/Components/Converter/
mv ServiceInfo.py ServiceInfo_org.py
cd /usr/lib/enigma2/python/Screens/
mv ChannelSelection.py ChannelSelection_org.py
cd /usr/lib/enigma2/python/Components/
mv AVSwitch.py AVSwitch_org.py
cd /usr/share/enigma2/
mv setup.xml setup_org.xml
die _org dateien werden angelegt
postrm sieht so aus
cd /usr/lib/enigma2/python/Components/Converter/
mv ServiceInfo_org.py ServiceInfo.py
cd /usr/lib/enigma2/python/Screens/
mv ChannelSelection_org.py ChannelSelection.py
cd /usr/lib/enigma2/python/Components/
mv AVSwitch_org.py AVSwitch.py
cd /usr/share/enigma2/
mv setup_org.xml setup.xml
wenn du originaldateien die auch von anderem enigma2 paket kommen überschreibst wird es so einfach nicht funktionieren (du kriegst files provided by other packege fehler und müsstest mit force-overwrite installieren), du musst deine neuen/gepatchten als .patch oder ähnlich in deinen kit packen und im postinst nach dem auspacken dann über die originalen mit cp drüber kopieren (mv ist nicht so gut wenn die quelle schon existiert). Und damit das ipkg remove ohne fehler funktionier sollten die .patch erhalten bleiben, schon damit du den unterschied nachsehen kannst.
Vor allem musst du bedenken das file vom enigma2 durch die software update funktion auch wieder überschrieben werden können nahcdem du sie ersetzt hast !
hmm, das wird wieder kompliziert.
im mom siehts ja so aus
- die dateien werden durch preinst in *_org "umbenannt".
- durch das eigentliche ipkg install werden die dateien nun wieder mit den änderungen darin erstellt
- bei einem ipkg remove werden die geänderten dateien gelöscht
- durch postrm werden die *_org wieder in ihre originale dateinamen "umbenannt"
funktionieren tut das ganze so.
ist die .patch für das Anzeigen unter erweiterungen verantwortlich ?
zu der .patch habe ich im Wiki nix gefunden werd hier im forum mal bissl suchen...
nein du kannst die dateien auch nennen wie du willt, ich benutze halt .ori und .patch, aber das ist geschmacksache
wenn das ipkg install funktioniert was solls, originaldateien austauschen ist immer schwer.
Flash ein OoZoon (oder pack es auf CF aus mit BA), installieren dein ipk und mach dann ein softwareupdate im image und schau was dann mit deinen files passiert, dann verstehst du wo weitere Probleme warten.
die von mir gepatchten Dateien werden wohl durch ein Update überschrieben, das macht ja auch irgendwie Sinn, da es sich ja um originale Dateien handeln.
Ändert sich der Inhalt der originale Dateien so sehr, dass enigma2 nicht mehr bootfähig ist wäre das mies.
Sollte man nun nach einem Softwareupdate trotzdem das ipkg neu installieren, werden die _org dateien durch die NEUEN originalen ersetzt. Sollte nun der Supergau eintreten dass enigma2 nicht mehr bootet, kann man das ganze via ipkg remove wiederherstellen.
so hab ichs verstanden, korrigier mich bitte wenns nicht stimmt.
MfG
Was stimmt denn nicht wenn die Fehlermeldung kommt "CONTROL/postinst is not executable" & "CONTROL/postrmis not executable" !
Hab ein bestehendes IPKG zerlegt, um mir die Verzeichnisstruktur anzusehen.. ich hab nur die *.png´s die drin sind ersetzt, um das ganze mal auszuprobieren... aber er macht mir einfach kein IPKG daraus.
chmod 755 p*
Dann sind die dateien ausführbare shellscripte
Hallo,
gibt es eine Lösung, ein ipk zu erstellen, welches einen Pfad größer als 100 Zeichen hat ?
Ich erhalte immer :
tar: Names longer than 100 chars not supported.
tar: Names longer than 100 chars not supported.
tar: Names longer than 100 chars not supported.
tar: Names longer than 100 chars not supported.
tar: Names longer than 100 chars not supported.
tar: Names longer than 100 chars not supported.
tar: Names longer than 100 chars not supported.
tar: Names longer than 100 chars not supported.
Dementsprechend fehlen natürlich im erstellten *.ipk einige Files.
Die Strucktur kann ich leider nicht kleiner halten. Die Files solle ja schließlich an richtiger Stelle landen beim installieren (usr/lib/enigma2......................)
Gruß cHrIsZ
das Problem ist das tar command der busybox
Schau mal ins /media/ba/bin directory vom barry Allen, dort liegt ein volles tar binary das diese limitierung nicht hat - aber ob das ipk dann auspacken geht wenn nur das busybox tar da ist ist eine andere geschichte
Einfach rm /bin/tar machen und dann statt dem link zu busybox das tar binary von dort hinkopierne oder verlinken.
ACHTUNG, nicht einfach über das vorhandene tar der Dreambox drüber kopieren, du ersetzt sonst das busybox und darfst neuflashen
LG
gutemine
Hallo Gutemine,
ich werde das mit einem Link implementieren. Zwar keine saubere Lösung, aber es erfüllt sein Zweck. Das Problem wird dann ja auch beim entpacken entstehen. Ich möchte heute noch release'n
Eine einigermaßen saubere Lösung werde ich mit postins, postrm vornehmen.
Danke...
Gruß cHrIsZ
normal packe ich so lange sachen in ein directory weiter oben und verlinke es dann in das lange directory, so geht dann trotzdem nachher der lange pfad und es lässt sich problemlos packen und installieren
zur Zeit sind 47 Mitglieder (davon 6 unsichtbar) und 1.987 Gäste online - Rekord: 5.681 Benutzer ()