Revision [4065]
This is an old revision of E2PluginsCreate made by Jeroensky on 2010-11-29 12:42:54.
Create E2 Plugins / IPKG Packages with a Linux PC and Gnome desktop (Nautilus file manager)
Be aware: don't translate the code, keep it English
Using a Linux PC and Nautilus (Gnome) file manager you can follow this procedure in order to build an ipk package. This guide uses an Enigma2 plugin as example.
Requirements: dpkg(Debian package management system) and fakeroot(Gives a fake root enviironment).
Do check your Linux package manager for installing these software.
1. Create Package folders
Create a directory with the following contents.
enigma2-plugin-extensions-mytestplugin_1.0_mipsel/ debian-binary DEBIAN/ control postinst postrm preinst usr/lib/enigma2/python/Plugins/Extensions/MyTestPlugin/ __init__.py plugin.py
2. Create Package files
The debian-binary file contains only '2.0', the plugin directory obviously contains the plugin python source and the DEBIAN folder files must have [like] the following contents :
control:
Package: enigma2-plugin-extensions-mytestplugin Version: 1.0 Description: MyTestPlugin plugin does this and that (Enigma2) Section: extra Priority: optional Maintainer: me <me@foo.com> Architecture: mipsel OE: Homepage: www.vuduo.com Depends: Source: www.vuduo.com
postinst:
#!/bin/sh echo "Restarting Enigma2 to load MyTestPlugin Plugin ..." init 4 killall -9 enigma2 > /dev/null 2>&1 init 3 exit 0
postrm:
#!/bin/sh echo "Removing MyTestPlugin Plugin from the system ..." rm -r /usr/lib/enigma2/python/Plugins/Extensions/MyTestPlugin > /dev/null 2>&1 echo "Restarting Enigma2 to get rid of MyTestPlugin Plugin ..." init 4 killall -9 enigma2 > /dev/null 2>&1 init 3 exit 0
preinst:
#!/bin/sh echo "Checking for an older version of MyTestPlugin in the system..." if [ -d /usr/lib/enigma2/python/Plugins/Extensions/MyTestPlugin ] then rm -rf /usr/lib/enigma2/python/Plugins/Extensions/MyTestPlugin > /dev/null 2>&1 echo "An older version of MyTestPlugin was found and removed" echo "Proceeding to installation..." else echo "MyTestPlugin was not found in the system" echo "Proceeding to installation..." fi exit 0
3. Create nautilus script
In order to build ipk directly from nautilus you need to have a script in
~/.gnome2/nautilus-scripts/
Build_folder_into_ipk_package :
#!/bin/bash # build an ipk package using selected BASENAME=`basename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS` DIRNAME=`dirname $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS` cd $DIRNAME && fakeroot dpkg-deb --build ./$BASENAME "$BASENAME.ipk" zenity --info --text "Successfully build $DIRNAME/$BASENAME.ipk" exit 0
To build the package using nautilus simply right click on folder enigma2-plugin-extensions-mytestplugin_1.0_mipsel and go to Scripts-> Build_folder_into_ipk_package
Do the same with a Linux PC and KDE desktop (Dolphin filemanager)
- Create a .desktop file on folder ~/.kde/share/kde4/services/ServiceMenus/ (for example Build_folder_into_ipk_package.desktop ) with the following contents:
Build_folder_into_ipk_package.desktop [Desktop Entry] Type=Service Icon=utilities-file-archiver X-KDE-Icon=utilities-file-archiver Actions=Build_folder_into_ipk_package ServiceTypes=KonqPopupMenu/Plugin,inode/directory,inode/directory-locked Terminal=true [Desktop Action Build_folder_into_ipk_package] Exec=/bin/sh -c "cd `dirname %U` && fakeroot dpkg-deb --build ./`basename %U` `basename %U`.ipk" Icon=utilities-file-archiver X-KDE-Icon=utilities-file-archiver Name=Build folder into ipk package
Create E2 Plugins / IPKG Packages with Multi OS computer and Enigma2 tuner.
Requirements:
-PuTTY (windows/Linux-see package manager)
-WinSCP(windows)
-Terminal (Linux howto + OS-X howto)
Install dreambox-ipkg-tools-mips_1.0_mipsel.ipk on your Dreambox/VU+ DUO, download the package and put it on your Dreambox/VU+ DUO in the folder:
/home/root
Execute the following command with putty:
ipkg install /home/root/dreambox-ipkg-tools-mips_1.0_mipsel.ipk
Now the ipkg tools are installed.
Building a package:
Let's say that we are going to build a picon package...
Create the following directory structures on your Dreambox/VU+ DUO:
/home/root/SOMENAME
/home/root/SOMENAME/CONTROL
/home/root/SOMENAME/picon
In the folder /home/root/SOMENAME/CONTROL you put the following files.
control
postrm
Make sure that the line endings are in UNIX style if you're doing the work from a Windows machine, you can use NotePad(PlusPlus) wich has support for UNIX style line endings.
In the file control put the following text:
Package: enigma2-plugin-picons-MYPACKAGENAME Version: 2010-10-29 Description: Picons Architecture: mipsel Section: extra Priority: optional Maintainer: xxxx Homepage: xxxx Depends: enigma2 Source: xxxx
When you look at the package name structure 'enigma2-plugin-' will always be the same, the word 'picons' can change according to the style of you package, take a look at your download menu on your Dreambox/VU+ DUO and you'll understand. The xxxx can also be changed to something of your liking.
Then we also have the file postrm, in our example we will put the following in postrm:
#!/bin/sh rm -rf /picon
This file will get executed after we have removed our package, to do some more cleanup.
There is no need to put commands in here to remove the files that you install, they wil automatically be removed.
You can also use the files:
postinst <--Right after the installation
preinst <--Right before the installation
prerm <--Right before the removal
There is still one thing to do in our example, we should put some picon files in the folder:
/home/root/SOMENAME/picon
You can put also some other folders in /home/root/SOMENAME, the directory stucture that you create there, will be the final directory structure that is installed on your Dreambox/VU+ DUO.
Now you can build the package using the command:
ipkg-build /home/root/SOMENAME
Wait a bit...., depending on how large your package is, when it has finished building your package. There should be a file called:
/home/root/enigma2-plugin-picons-MYPACKAGENAME_ 2010-10-29_mipsel.ipk
This file you can install using the command:
ipkg install /home/root/enigma2-plugin-picons-MYPACKAGENAME_ 2010-10-29_mipsel.ipk
If you put your file somewhere on a webserver you can also use:
ipkg install http://www.MYWEBSERVER.com/enigma2-plugin-picons-MYPACKAGENAME_ 2010-10-29_mipsel.ipk
The package will then be downloaded and installed.
Back to the PLiĀ® Wiki : DM500 : DM500+ : DM56xx : DM600 : DM7000 : DM7020 : DM7025 : DM800 : DM8000